Full Stack Developer
Last time we discussed a Front-end or Web Designer and how their knowledge of graphics and obsession of pixel level details helps create the look and feel of an app or website. I also continued with that house analogy of comparing back-end development (blueprint design) to front-end development (interior designers) to Front-end Designers (aesthetic placement and textiles). If you want to go back and see what I read in more detail, you can do so here.
So what is the goal of this blog? It’s simple: to educate and share information to those that are just starting out in the field and are looking for some clarification. We’ll go over some common roles, skill sets and (further along) techniques that will hopefully help you in your education and career choice(s). With the future blogs, I’ll finally drop the house analogy and start diving into some offshoots of the web and app world that are often overlooked but are profoundly important.
Unlike the other roles that I’ve talked about in the past, the Full Stack Developer can handle anything thrown at them and can finish a project all on their own. This is the pinnacle of the associated skill sets: these individuals are in high demand since they understand all of the inner workings and can handle any problem or issue. The unique element with Full Stack Developers is that very few of them start off going down this path. Often they require all of the skill sets out of necessity of a passion or undermanned project- typically at smaller companies or on their own.
Full Stack Developer Skill Sets
Full Stack Developers know it all. Usually you aren’t going to be hired by a company or, if you are, it will be a small one. Often times a Full Stack Developer ends up creating their own company due to their ability and desire to take on all of the roles. As such, it can be a very long list:
- Fluency in Photoshop
- Fluency in Illustrator
- A great online portfolio via Coroflot, Behance or something similar on your own
- Design tools such as Illustrator, Photoshop, etc
- UX (User Experience) knowledge
So what does this mean?
For lack of a better term, Full Stack Developers can do it all. They take on the entire process from beginning to end: design, front-end development, back-end development and deployment. It’s all on you and there’s nowhere to hide- if it works you get all the credit but if it doesn’t, you take all the blame. High risk = high reward.
The house analogy again?
Yes, the house analogy- but I promise it will be the last time. For review: Front-end Developers are the interior designers. They take all of the tangible assets, put it together and make it livable and cozy. Back-end Developers are the people that make the blueprints. They decide whether the house is a connected condo, a 10 bedroom mansion or a one bedroom starter home. You still need both of those roles to work in cohesion with each other to make a truly great product. Front-end or Web Design are the people that not only tell the Back-end people what kind of blueprint it needs to be (in general terms), but they tell the Front-end Developers what kind assets the interior designers will have access to. Full Stack Developers basically do all of those roles by themselves. The person that draws up their own plans, builds their house by hand, picks out their furniture and decorates the house all alone- that is the Full Stack Developer. It’s a lot of work and usually they end up working on smaller projects but when they are successful it can be profoundly rewarding.
Thank you for the information, but why should I listen to you?
One of the biggest issues I’ve always had with education and learning environments is that they teach with the assumption that everything will always work smoothly and with level headed people. This is rarely the case as often egos, politics and technical issues complicate matters. This blog will be honest and from my point of view- what I like to call “the real world.” As with any complicated topic, there can be 50 ways to do something differently than the way I suggest or discuss. You may not agree with my decisions or conclusions- to think otherwise would be vain. But that’s okay- I’m always willing to listen to other ideas as communication, discussion and yes, disagreements are how we learn and grow. Find out more about our Web Developer program.