5

This question already has an answer here:

I'm in a bit of a jam career-wise. I'm afraid if I don't take some aggressive actions, I'll be one of those thirty-year veterans who can't get a job in their early fifties. And I'm sure there are plenty of other "senior" people with this problem. I need to get in a new position where I can grow technically, but my current resume leaves me with few options that do not involve a step down.

I've been a software developer for 20+ years and am employed in a small company with about 20 engineers, where I've functioned for some time as technical lead and manager. But at this point, unless the CTO vanishes, I have nowhere to go. And I've spent over ten years here. Meanwhile, having spent two years looking for other job opportunities, I've come up empty; with my leads running out, I'm now extremely concerned about my employability outside of the company.

The main problem seems to be my lack of "hot" skills and the fact that the stack I'm working on relegates me to a limited number of opportunities. The company is on an all-Microsoft stack and that's not going to change. Unfortunately, in the area I'm located, I'm having a harder and harder time finding interesting opportunities in that stack. The main business here, technology, finance and media, have all moved strongly into the Linux camp, and I'm having difficulty finding opportunities on my present stack that will not be even more limiting.

It's been a while since I had to transition to a new stack. As an intermediate developer, I had no problem finding opportunities; if you show you're capable and can learn on your own time, it's easy to get over the hurdle. As a senior person, looking at senior-level jobs, I haven't been able to do that. I've gotten quite far in interviews with a handful of companies who like my tech lead/manager skills, but I haven't been able to "seal the deal." When it comes right down to it, if a company is prepared to pay top dollar, they're also prepared to wait for an exact match. These means a match on the technology stack, even for managerial positions.

Given that, what is the right approach for pursuing opportunities on a new technology stack? The most obvious route is for me to take on a large side project, but it's an awful hard sell to my significant other to say "I'm going to spend one day every weekend over the next year on a side project that will qualify me for a job that will be a $40K/year pay cut." Has anybody been able to successfully navigate this? If you've done this successfully, I'd love to hear your experiences.

marked as duplicate by gnat, Rhys, JB King, Jane S Aug 5 '15 at 3:15

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Microsoft stack is is dead where your are? Maybe consider those less interesting back-office operations that are not constantly outsourced to Indian firms – paparazzo Aug 4 '15 at 2:24
  • I edited out my reference to outsourcing, as it takes away from the main point. My main point is I don't want to work somewhere where I'm thought of as a "cost center," first and foremost. – Joe Bradley Aug 4 '15 at 2:39
  • 1
    You will hear people make comparisons about the numbers of job opportunities in particular stacks/platforms (even worse, some will quote the TIOBE index). The fact is that stuff is useful for talking about overall trends, but utterly useless for individuals making decisions about their own career paths. It is vastly better, if you're a advanced-level practitioner, to find particular niches where you're uniquely qualified. Don't just join the masses of young people all doing the same damn thing (it will hurt your paycheck as well as your job-security). – teego1967 Aug 4 '15 at 4:01
  • 2
    Have you considered Project Management? This is the route out of programming that I took (more or less by accident) and whilst it means you don't get to program any more your technical background makes your uniquely suited for pure-play project management of software development and once you have built experience and reputation in the field the skills are transferable across any tech stack... Depends on how wedded you are to continuing to program,,, – Marv Mills Aug 4 '15 at 9:03
  • 1
    Agreed, transitioning to JVM would seem to be a no-brainer. The problem is actually convincing the hiring manager (or more usually, the HR screener) that it isn't a problem for me to make the transition - to most HR screeners, I might as well have spent the past 13 years writing Prolog. So as I said, the only way I can think of to prove it isn't a problem it is a significant side project. Hence, the post. – Joe Bradley Aug 4 '15 at 10:08
6

Firstly, I'd question the assumption that the MS stack is a dead end. I'm not sure where you are, but a quick look on Seek has 385 c# jobs in Melbourne, 125 Ruby jobs and 467 Java jobs. Unscientifically, it seems that the Ruby/Python/PHP jobs pay less than C#/Java jobs. I've worked in both camps, my current MS job pays 25% more than my previous Python job.

Future-proofing your career is an issue for most people. IMHO, your greatest risk could be that being stuck in a small company may not expose you to all the new technologies and future companies will demand. I have seen jobs demanding both WPF and MVC, even though few companies invest in both desktop and web technologies. Most jobs will expect you to have experience with the latest technologies, not just MS-MVC but the right version of MVC.

If your goal is to transition to a specific technology, you need to choose that technology (not Microsoft is not enough) and see if you can find a company that has both MS stack and whatever your chosen stack is. Consulting firms spring to mind.

If your goal is to future-proof your career, you need to ensure you have the skills being sought in the market. This may mean sticking in the MS market.

Alternatively, you can take matters into your own hands and work on a private project. You can choose the stack to use and build the product you want, how you want it. In my experience, this is a lot of work when you have a full-time job and a family.

Any way, you need to have a pretty good idea where you want to go.

  • I'm in New York, it definitely isn't the same sort of market here. I've been looking for two years. Startups are all Linux; financial houses are all Java; and everyone else is busy cutting back. – Joe Bradley Aug 4 '15 at 2:52
  • With 20 years of experience, MS stack in a conservative company might mean Visual Basic... – Juha Untinen Aug 5 '15 at 10:03
  • +1, my successful transitions to equal or higher level jobs have all come about through working places where I used the tech I was already expert in, and also something new. Also I find it astonishingly unlikely that there are no MS stack jobs in New York - the first Google hit for "C# developer new york" returned a board with more than 2,000 jobs listed. – Carson63000 Aug 6 '15 at 1:52
  • @user2941783 re:stack. There are many reasons to abandon the MS stack but its hard (for me at least) to know where to go. The sheer number of stacks out there means you have to choose carefully. Go Java, you rule out Ruby. Go Angular, you rule out Ember. My plan B is IOS since it believe is can monetise my skills more easily from home, but it is a small part of the workforce. – dave Aug 6 '15 at 2:10
2

One of your best options for making the switch without taking a pay cut is to get involved with an open source community project. Find someone who is actively involved in the project and see if you can working with them to make contributions to the project. You'll be building new contacts in that particular technology, developing portfolio experience to give you credibility and building your new skills. Never underestimate open-source community contributions.

  • That's one thing I was considering... anyone out there have any tips on how to do this and maximize the chance of making useful job contacts? This may not be the most "pure" reason for getting involved, but I need to maximize the chance it will pay off for me professionally. – Joe Bradley Aug 5 '15 at 2:20
  • Look into a technology that you like and want to work with then find a member on github who makes contributions to that project and who you can also fork from for contributions. Often open source projects will have info on their site expressing interest in contributors to help accelerate the development. Those are a couple places to start. – Alex Aug 5 '15 at 2:34
0

One thing to consider is focusing on JavaScript/HTML/CSS. Become a specialist in JS technologies like angular, JQuery, react, etc. Whatever the latest fad is, make sure you know it. You could even get into node.js. The idea is to make yourself more platform neutral, which opens up more job opportunites. Whatever anyone is doing these days, JavaScript will be involved. You will have to dedicate time to doing this. There is no free lunch.

  • The caveat with JS and related frameworks is that they change a lot. You will need to constantly learn the latest silver bullet framework to stay employable in that field, which is filled by young guns. And the salaries tend to be lower than in "normal" developer positions. – Juha Untinen Aug 5 '15 at 10:09
0

Another thought that hasn't been mentioned is to attend meetups/networking events in your area for technologies that you are interested in transitioning to. At these events you will likely run into experienced developers in that domain as well as recruiters who might be able to help "market" you in domains you are less experienced with. It is all about getting passed the HR department to technologists who will appreciate your experience and realize that experience in any stack as an engineer is more valuable than specific domain language.

Not the answer you're looking for? Browse other questions tagged or ask your own question.