As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/

Career advice: specialize or generalize?

OrcaOrca Also known as EspressosaurusWrexRegistered User regular
edited June 2018 in Help / Advice Forum
Help and advice, I would like some career help and advice. :)

(this is a cross-post from the programming thread since I figure it will get a different set of people looking at it)

Background: I'm programmer, been in industry 6 years.

I've been going down a road where my skillset is fairly specialized. This is a blessing and a curse--most of the jobs out there I'm simply not qualified for. I don't use javascript on a professional level, I've never used Spring or Hibernate, and devops seems like an excuse to abuse your developers to me. On the other hand, for the right jobs, there basically is no competition because I can effectively be some company's unicorn due to the combination of skills in CS, EE, analysis, and debugging complicated physical systems I have developed. Difficulty: not too many of those jobs are out there looking for what I do, and it's a pretty small subset of general programming work. Your average HN jobs thread doesn't have much I would even feel comfortable applying for.

I have several opportunities I need to choose between that basically run the gamut from continuing to do exactly what I've been doing, specializing further into the analysis side (still coding, but coding less), continuing to do the same *kinds* of things but in a different context, and moving away from the hardware (generalizing).

Do folks have experience with this sort of tradeoff in specialization versus limiting the number of jobs you are qualified for, and what are the ramifications you have experienced as you have made your decision in your career? For ease of argument, let's pretend they all pay the same.

Orca on

Posts

  • DarkewolfeDarkewolfe Registered User regular
    Imagine all your skills as a bar graph. When hired, you're going to be hired specifically for whatever bar is the highest. Additional skills are bonus, they make you a more rounded employee, but when I need to hire someone I'm specifically looking for a particular skill I need on my team. Once I have a stack of resumes that fit the bill, THEN I'll consider tie breakers like extra generalization of skills.

    What is this I don't even.
  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    Darkewolfe wrote: »
    Imagine all your skills as a bar graph. When hired, you're going to be hired specifically for whatever bar is the highest. Additional skills are bonus, they make you a more rounded employee, but when I need to hire someone I'm specifically looking for a particular skill I need on my team. Once I have a stack of resumes that fit the bill, THEN I'll consider tie breakers like extra generalization of skills.

    Well right now I've got a few bars that are pretty-damned-high. The issue is that people that are looking for those bars are thin on the ground, and I'm wondering how likely that is to be a problem as I continue my career.

  • JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited June 2018
    Disclaimer: I'm quasi-retired and haven't had to prepare a resume in about 7 years, so my view on the job market is potentially dated

    To be a good generalist I think you have to start as a specialist. So it sounds like you're doing it in the right order at least?

    Generalist + experience = management, which in turn means writing less code, but it also means a wider band of opportunity provided you can learn all the soft skills that must come with managment

    Being a specialist can be good, but it's a different kind of hard work to keep the ball rolling. You've got to stay on the razor edge of your particular sub-specialty, and hope that it doesn't get obsoleted

    I began my career as a flash developer, and I mastered Actionscript development just in time for it to be destroyed by the iPhone. Nothing I could do about it except pick up an Objective-C book and throw the better part of 3 years of experience in the trash

    I think any sane person can only tolerate that 2 or 3 times in their life at best

    If you think that you can be a good manager or a leader, then you should do it. If you're not confident about it, then perhaps not... but many people fake it and get away with it. When I wrapped up my career I was managing 4 people and spending about 6 hours of an 8 hour day in meetings. Some people cannot take that.

    The only other kinds of generalists are like... enterprise system consultants, solo contractors, sysadmins at small businesses (more or less what I do right now). These things are pretty tricky to aspire to, for a variety of reasons, and not really traditional career arcs (in my opinion)

    Jasconius on
  • PowerpuppiesPowerpuppies drinking coffee in the mountain cabinRegistered User regular
    I'd move into a hybrid role if you can. You can switch back to the thing you like after your next job but you probably need professional experience to get a job in new stuff if your stuff continues to dry up

    sig.gif
  • SmurphSmurph Registered User regular
    I'm a programmer that's 10 years into the industry. The job I have now is more focused on embedded devices, so I end up writing lots of C and C++ and messing with kernel headaches on systems that were effectively frozen in time in like 2005, and never really touch the JS frameworks that it feels like most of the industry is using these days. I do get nervous that if I lose my job, I'll get laughed out of the room at most startups. I write desktop apps in C# and scripts in python once in while, so that keeps me somewhat current on that front.
    One nice thing I do have is job security though. It's tough to hire a new coder, especially a younger one, and tell them to go learn some ancient system. And they can't really lay us off because they need to have a knowledgeable developer to call when some device takes a shit. Most importantly the company has a good culture and I get along with my boss, and I've done ok with raises so far.
    At other jobs in the past I've been laid off, forced to relocate, and had my pay fall behind for years while they made excuses about having no money for raises, and been given 'promotions' that came with more work and no additional money. I would also lose sleep due to just overwhelming frustration at how the company worked. The most important thing for me is that I have a job that doesn't have any of that. If I get a little bit of impostor syndrome or feel like I'm falling behind on tech, I think it's a fair trade off.

  • schussschuss Registered User regular
    The more I think about it, the more I think you should look at industrial/commercial IoT as your metal skills will be useful and I can guarantee that the JS wankers (you know who they are) couldn't write memory efficient code for these footprints if their lives depended on it.
    This is going to be huge (check out the the ms build keynote for an integrated example) and there's very few with the skillset to be "full stack" in this space.
    You will get the flexibility of meaningful cloud exposure with some level of job security as industrial sensors are unlikely to hit commodity code status any time soon.

  • l_gl_g Registered User regular
    Orca wrote: »
    Do folks have experience with this sort of tradeoff in specialization versus limiting the number of jobs you are qualified for, and what are the ramifications you have experienced as you have made your decision in your career? For ease of argument, let's pretend they all pay the same.

    This is a somewhat-to-highly invalid assumption and is not a good basis for examining this problem.

    Deeply specialized knowledge and skills are distinguished from "generalist" jobs. A person who has deep knowledge about multiple things might be a valuable kind of generalist, but is no longer the garden variety generalist. If the job could be done by literally any new college grad with a CS degree regardless of the concentration of their degree and their work/research experience, it is highly unlikely that that job will have equal pay to a job demanding deeply specialized knowledge and much experience.

    Now, it is possible it might have MORE pay (e.g. the new college grad got a job at Facebook or Google, compared to the electrical engineer grinding it out for a widget factory in Nowhere,Midwest), but it is unlikely that they will have equal salary negotiation power, network reputation, job qualification, etc.

    It's wrong to think that every "generalist" is equally capable. The jobs that require skills you don't have won't hire a generalist without those skills, either. That doesn't mean that the generalist without that skills isn't a generalist. If the job wants a generalist programmer that can develop UI whatevers and backend whatevers and database whatevers, they aren't going to hire somebody who only has a cursory knowledge of each of those things.

    So if the question is "should I learn more things", the answer is usually yes. But having those things developed to a level where someone would be willing to pay you significant money for your capacity in those things is a whole nother question. The industry that you are in might be in decline, but it sounds like you have domain skills that are still relevant and can be applied elsewhere, it's just that you might need some work to do in order to build up the specific knowledge of another industry. Sure, you might not be programming in the hottest JS thing, but complex electrical engineering skills coupled with architecture and code development for them remain valuable: the various companies of Elon Musk, the device divisions of Google/Microsoft/etc., consumer electronics divisions of many others would all probably have room for you.

    Cole's Law: "Thinly sliced cabbage."
  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    l_g wrote: »
    So if the question is "should I learn more things", the answer is usually yes. But having those things developed to a level where someone would be willing to pay you significant money for your capacity in those things is a whole nother question. The industry that you are in might be in decline, but it sounds like you have domain skills that are still relevant and can be applied elsewhere, it's just that you might need some work to do in order to build up the specific knowledge of another industry. Sure, you might not be programming in the hottest JS thing, but complex electrical engineering skills coupled with architecture and code development for them remain valuable: the various companies of Elon Musk, the device divisions of Google/Microsoft/etc., consumer electronics divisions of many others would all probably have room for you.

    Well, the industry I'm in isn't in decline; I'm simply worried that I may be pigeonholing myself if I don't branch out more. And as you say, the skills are apparently quite valuable--certainly more valuable than what I've been paid to date and the difference is, well, eye-popping. That I have been accepted by several different companies for level 5 roles after only 5-6 years in industry is a good sign those skills are valued.

    But just as interesting is that where I currently work has said they're willing to ante up (still waiting on something actually written down), so the dilemma remains. It will be interesting to see how this shakes out (still waiting for written offers), but it may end up being that at least for the immediate future, the pay is actually about the same. And if that's true to a first order, then the question remains: what is the best move for my professional development?

  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    As a final update, I decided to go down into the analysis side. I'm hoping it will give me the opportunity to develop some new skills (the hiring manager told me there will be opportunities to make contributions in new areas for me), but at the same time it's still somewhat familiar.

    Thanks for all the advice everyone!

Sign In or Register to comment.