I read an article recently by WordPress guru Tom McFarlin. It hit home for me because I’d been having similar thoughts as well.
As developers, we’re under constant pressure to stay current with all of the technologies, tools, languages and frameworks out there. Failure to do so can only hurt your career, making you less competitive and less marketable in general. But keeping up with all of these things is a challenge. One way to maintain your sanity and not feel quite so overwhelmed is to maintain a narrow focus area.
Broad Focus vs. Deep Dive
I always cringe internally when I hear someone say they are a designer/developer. At the risk of offending people reading this post, what this usually means is that they are pretty good at one (usually designing), and just OK at the other (in this case, developing). Why? Because there just aren’t enough hours in the day to know all there is to know about things like Photoshop, wireframing, CSS and everything else involved with web design. If you add things like Javascript, jQuery and Angular into the mix, it makes it pretty much impossible to be good at anything. There are just way too many areas that you need to focus on.
The same principle applies to full stack developers. Full stack developers are expected to know everything there is to know about not only the front-end, but also the back-end, which in and of itself is a huge task. Just as with designer/developer types, it’s likely that a full stack developer is better at one than the other, but not an expert at either.
Jack of All Trades and Master of None
Maintaining a broader focus essentially means that you are a jack of all trades, which is just another way of saying that you’re a master of none. That’s not to say that there aren’t exceptions. There are likely a few of you out there who are legitimate geniuses and are truly fantastic at everything you do, however, I believe that you are the exception, not the norm.
What’s your opinion? Is it better to have a broad focus or a narrow one?