I'm a software developer working for several years in same company. However, I've been stagnating technically speaking, as the other devs were higher level and older in the team, they were given all the core tasks. So since all years I've been working on routine tasks and didn't change the tech stack at all(which is becoming extinct).
Now the time to leave the company is approaching and I'd like to evolve somehow, as a developer. What would you recommend? Or perhaps other ideas? Or is it too late to get back on track?
- work on a startup project
I've worked on multiple project ideas during these 5 years. Did some prototypes but neither reached maturity. Been able to get something working for personal purpose but didn't find a way to scale it or go around some possible legal issues with it(related to scraping websites).
Advantages:
- if I'd be able to scale it and launch it, I could get hired easier at next dayjob (as startup probably needs time to mature, etc. - and become a financial support)
- if I use some tech that is common like NodeJS and React, I could more easy get hired at next dayjob
- if I'd use some open-source components, perhaps I could contribute to their code => OpenSource contribution => good reputation for getting a dayjob
Disadvantages:
- time required to build it and scale it could easily loose focus as startup world involves much more than just focus on one technology or a specific stack. It is also focus on infrastructure, tooling, etc. I could forget the aim of financial support(get dayjob) for my family and get sidetracked.
- mental and financial stress of working on it without a dayjob
- mediocre architecture as I've no point of reference (like working on an open-source project)
- work on an open-source project
Advantages:
- learning a specific tech stack
- high-level architecture from which I could learn (?! much more than on the startup project)
Disadvantages:
- zero financial gain and mental stress from it
- family doesn't agree
- read books/do sample projects/interview questions/tutorials on a specific tech stack
Advantages:
- probably fastest way to gain experience for a dayjob?!
- apply to jobs quicker
Disadvantages:
- shallow experience gain, with focus to only pass the interview
- impostor syndrome - as no real experience with the tech stack
- apply for remote jobs
Advantages:
- independence of location and working hours - I could accept this and be ok with the lower salary
Disadvantages:
- lower salary range
- they seem to have much higher acceptance bar versus the dayjob
- could spend quite a while before getting accepted