Succesful Dev Questions Answered: Full Stack Development?

One question that I've been pondering is whether or not it is a wise career move to become a full stack developer. On the one hand, if you wanted to try to build an app yourself and make it big, you'd need a much smaller team to do so. Full stack development, theoretically, would also give you a better understanding of how applications work and their capabilities which could help you from a business perspective in determining how much time you need before a release and potential pitfalls you may run into.

On the other hand, many people have probably heard the saying "jack of all trades, master of none."

Today, I found an article where an expert weighs in via the ACM CareerNews newsletter. The article is linked here.

The author discusses how in the past the full stack was simple enough that a single programmer could master it. People can still build websites on a simpler stack as described in the article. Two years ago, when I was in college, I did an independent study project using the WAMP stack (Windows-Apache-MySQL-PHP). Similarly, the author describes the stack that uses HTML5/CSS2, PHP/Python/Ruby, MySQL, and Amazon. MySQL is the database. Amazon is the server. PHP, Python, or Ruby can be used to code the "back-end" as some refer to it while HTML5/CSS2 are used for the UI or "front-end" layer. My independent study project experience was similar except that I used Apache instead of Amazon.

However, this approach is becoming dated. A lot of new applications now have more layers and each layer has more complexity than it used to so it is just too much for anyone to become a full-stack developer. However, we still need people to integrate all of the layers together and become an expert in doing so. Thus, the full stack integrator is born!

As a developer, I think it is probably a good idea to have a little bit of familiarity with each level of the stack just to be more knowledgeable about the projects you work on and also to sound intelligent as you network (as in professional networking, not IT networking) with other developer and tech professionals. However, if you are not already an expert in an older stack, it does not seem to be a worthy venture to try to do full-stack development.

Comments