Specialist Or Generalist: Which is better for your programming career?

Posted on - Last Modified on

Ah, the age-old question. Should you be the kind of blacksmith who can make anything anybody asks for, or the kind of blacksmith who just makes really, really good frying pans? Should you develop passable skills across thirty different programming languages or just be an absolute wizard in Python?

The question of whether to specialize or generalize has been around forever and it isn’t going to go away any time soon. Unfortunately there’s no clear right answer across the board, but with an honest assessment of your personal goals and skills, it is possible to make the decision that is right for you.

 

Why You Should Specialize

There is a reason people seek out specialists when they have a problem. Specialists are the best at what they do. It takes time, effort, and dedication to develop good skills, and given the basic constraints of time and space, chances are you only have enough time to become really good at a small handful of things in one lifetime. In order to be the best at what you do, usually you have to have spent more time than anybody else doing it. True specialists are, well, special.

In addition to the personal satisfaction that comes with being really awesome at something, the reality is that at some point you probably want to get hired. And when it comes to marketing yourself to potential employers, leaning on your specialist skills can help you stand out from the rest of the crowd. Larger companies in particular usually don’t care how many different things you can do. They just want whoever can do the one specific job they need better than anybody else. If you can show them that you are that person, you are going to get their attention.

 

Why You Should Generalize

Of course, there’s a catch. The tech industry completely revamps itself every minute and a half, so whatever hot thing everybody is using today is almost guaranteed to be obsolete by tomorrow. It’s all well and good to be the best in the world at making cassette tapes until you wake up one morning and find everybody’s switched to CDs. The harsh reality is that if you specialize too hard, you’re just waiting for the axe to fall on your relevance.

Similarly, companies often think they know what they want, but then you show up to your first day on the job only to find a bucket and a half of unrelated tasks that still need to get done. This is especially true in small teams that regularly rely on people wearing multiple hats to keep everything afloat. Small companies just don’t have the people power to hire someone whose only job is to decide which font to use on the memos. So if you can be the person who drags them out of the tank when some unrelated thing goes sideways, that makes you a valuable employee.

So you’re stuck. If your focus is too narrow, you will inevitably be out of a job when your area becomes obsolete. But if you spread yourself too thin across a diverse range of skills, you can’t truly excel at any of them. What gives?

 

Somewhere in the Middle

Valve, the highly acclaimed gaming company, refers to their ideal employee as “T-shaped.” This is someone who has a range of broad-level skills (the top of the T), but deep expertise in one area (the bottom of the T). That way you have both the breadth to be able to pivot with the times, but the depth to do really excellent work in your specialized area.

Another way to diversify your talents while maintaining quality is to position yourself as a “serial specialist.” This means you have focused your efforts enough to develop real specialized skills in a few areas, but you have developed enough of them that you’re not left adrift if one of your specialties sinks with the changing tides. Just be sure not to diversify so much that you become everyone’s worst generalist fear: mediocre at everything.

Lastly, don’t forget to think about your own personal goals and working style. If you love focusing on one area really deeply, you should do your best to find a career where your expertise is going to be really valued. On the other hand, if you love learning new things and get bored if you’re stuck in one place working on one thing for too long, then you probably want a career where different skills are required, and you have the opportunity to change things up and move around. In the end the best advice is to truly know yourself, and then remember: everything in moderation.

 

Join the conversation by commenting below!

Next Article

A Beginner’s Guide to Managing Software Development With Kanban And Trello