Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Should I Change My Specialization Due to Market Saturation?
12 points by OulaX on Feb 24, 2024 | hide | past | favorite | 17 comments
As a Computer Science graduate with over a year of experience in Full Stack development, I recently faced an unexpected career transition. My previous employer, facing financial challenges, made the difficult decision to reduce their workforce, leading to my departure. With a background in both frontend and backend web development, I find myself navigating a job market that is increasingly competitive, particularly for remote positions which are my primary focus due to the scarcity of local development opportunities in my home country.

Given these circumstances, I'm contemplating a strategic pivot in my career path. Considering the saturation in the web development sector, I'm evaluating the potential benefits of diversifying my skill set into areas such as Android or iOS development. My goal is to enhance my employability in the remote job market. I'm seeking advice on whether such a shift would likely improve my chances of securing a remote position, and if so, which platform might offer the best prospects.

Thank you




The overall state of the software job market is quite poor so don't expect things to be much better if you switch to mobile. In fact you should expect it to be more difficult to find a job in mobile development because your experience is less relevant.


This is where I think cloud architecture / devops is a good route. It is complementary and you wont get fired for knowing how to CI/CD and deploy your thing but you can learn it while still doing web dev. You may never need to go full time devops but it is a great “extra” going into another role especially in smaller teams. In larger companies specialising might be better for example being a performance JS expert.


Basic DevOps is easy enough to grasp and apply, especially if it's just the CI part. I'd say all developers should learn a bit of that.

Actual "infrastructure engineering" (cloud or not) is a different beast. It requires much deeper knowledge and would be akin to changing professions in terms of how much time you'd have to dedicate to know enough to raise about the noise level.

I've been doing this for 22+ years so I'm obviously biased.

I think your suggestions of becoming a JS performance expert is spot on.


Out of interest what kinda of skills would say are needed to land a devops role?

I've been doing bits and pieces of as a developer for almost a decade at this point and have wondered if it's something I could move into if I needed to. I think I might have most of the basic skills – AWS, Terraform, k8s, docker, CI (Github Actions, Jenkins, CircleCI), Linux command line, scripting.

I'd guess a good knowledge of networking and security is important too, which I think I'm okay at, but that's possibly just the Dunning–Kruger effect.


It's absolutely baffling that you're presenting "knowing how to deploy your software" as a differentiating skill. It should be the bare minimum to be employable.


Well that is just one aspect of Devops and CI/CD is definitely an art unto itself. I think there are a lot of developers who have never set up something from scratch like that for more than a toy.


What is your evidence that investing time into mobile would increase the likelihood of finding a job? Would you pivot to something else when/if the mobile market also gets saturated?


Since you have experience with frontend, mobile apps seem like the logical choice here.

But web development is huge. Are you saying you can't find jobs that _pay well_? Maybe you can consider specializing further into web development for more lucrative types of business, go into consulting and charge per day/week instead of hourly, etc.

You haven't elaborated on what you have tried already so it's hard to say if you've exhausted your options in your current area.


Collecting specialities is important, but never think of yourself as a "front end engineer" or a "mobile developer", you're a software engineer that has happened to specialize in two previous fields.

My last three jobs I've done big data, SRE, network servers/socket programming, distributed systems, and more.

Some companies will hire you for your speciality, and others will hire you because you're good at learning a speciality, and they might have a new one they want to point you at.


I am in fact facing a similar question as the OP. I have done Full Stack in the past but lately I have been focusing/specializing more on the backend. Currently I have an offer for Full Stack role, it pays better than the actual company where I am at but I worry if going back to full stack again it would hurt my career in the long run. I am afraid to fall into the jack of all trades but master of none role. Other thing that I am not sure is the tech stack, the role is for a react - ruby stack. Although I am of the opinion of what matters is focusing in the concepts and the fundamentals of programming where those can be applied to most of the languages, but I’m not sure if adding one more language to my toolset would be the best,since I am currently focusing in java/kotlin and golang .. what is your take on this? Am I overthinking this? (Not trying to hijack the OP question, just thought that would fit into the same topic)


Mobile is tricky, people mostly transfer into it from another specialisation and you’re expected to have a pretty deep knowledge of whichever platform you pick. If you go the Flutter/React Native route you’ll need experience on both and language experience in multiple languages.

Competition is less and saturation is less than web but there’s also far fewer jobs.

I’d second what others have said and hone your backend experience further and expand into devops.


If you do go the mobile route. Android development has more demand. Apple has a lot of developers, android not so much.


It depends where. I used to do Android training in Malaysia. There's substantially more Android devs here, because colleges don't have the budget to do iOS training and many people can't afford a Macbook. iOS jobs would pay about 30% more for the same work or less.

So people would switch from Android to iOS because of the pay if they could.

At senior levels, Android tends to pay better because there's lots of really niche knowledge, especially around the differences between Xiaomi/Samsung/custom devices as well as how locale/currency is handled. I just wrote a 1000 character essay complaining about the differences, but it's besides the point.


Yes, just go wherever wind blows. At least you’ll improve the skill of switching career paths.


i'd say if you want to go mobile go with react native and expo.


I was actually thinking of trying React Native, but for some reason local people prefer Flutter for some reason, any noticable differences between the two? Or should I just go with RN & Expo?


i think flutter is newer and less popular. the real benefit is expo which makes deploying the apps to google/apple stores very simple.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: