Ask HN: Switching career path at 36. What is the right way
I am a software developer of 36 years. I have been a java/PL_SQL dev for most of my career and been working on Angular for the past couple of years. However I don't see my career going forward and I am not interested in learning Spring Boot or any additional Java Skills as I am afraid it is not going to help in long run. Also Angular is also becoming irrelevant thanks to Vue/React etc. So I am thinking of switching role and transitioning into a Data Scientist or AI/ML engineer. I can put in the hours to study and do self projects, but I am worried if I am too old for a transition now, given that I am already 15 years old in the industry. Should I stick with what I know already and improve on it or can I transition into a Data Scientist role? Thoughts?
20 comments
[ 4.2 ms ] story [ 48.0 ms ] threadAlso, most of the simple DS tasks, will be automated by AutoML.
If I were you I would learn golang or Rust. You can join a data engineering group or any company that is moving to cloud native architecture.
Here is one advice, check that you want to move to AI/ML for the right reasons, not because it is the next cool thing.
One strategy: Take some of the courses in ML, for example Andrew Ng's course on ML and Deep learning. If you enjoy the course, next find a real project to do and see if you truly enjoy it. If you do enjoy it then switch, otherwise Java programming is always there. I have found real ML is a lot different from Andrew Ng's course for example, pretty much like doing algorithms in class is different from real world programming.
36? You’re barely hitting your stride!
Also, what was your path to learning ML like? Got any advice?
And congrats, as a guy in his late 30s I'm starting to be afraid of my long term employability prospects as someone without the social skills for management. Its inspiring to see people successfully dive into a new field after a long and successful career in something else.
* do not throw your past experience and start from zero, cash on your experience: learn some Data Science / ML / Data Engineering and transition to the role where you can work closer with them: building data services, productionising ML, etc.
* try before committing. I personally thought that due to my experience in software and passion for mathematics ML would be a natural chemistry for me, but I found it quite boring (comparing to both doing pure mathematics and building software).
* the area is still hyped and there are lots of people who wants to get there - it raises the hiring bar.
I started doing Java dev and found out that it's really a full time job to have a decent awareness of all the Java and spring framework or EE stuff so I never really progressed it. I've also done the same with .Net and web dev (including various frameworks) and mobile.
This has given me a good overall technical knowledge and I'm now working as a technical architect for various types of systems which include databases, microservices, rest, queuing, cloud etc. I still get to do some technical low level work as well as high level design and discussion/mentoring with devs and business. It seems to fit well with my skills, is well paid and currently in demand. It does require a bit of a change of approach compared to low level work.
I'd avoid ML/AI or anything "cool" unless you have a particular interest or aptitude for it. Don't spend too long on any particular framework as they will change soon enough.
Good Luck!
Ditto. I wanted to get into ML/AI so I posted for some roles internal to my company. It was not great. The hours would have been much higher with no salary increase. The company also wouldn't provide any real training (generic stuff on Pluralsight). Also, I would still just be coding like in other software since they only give the interesting parts of the work to people with PhDs - I'd be scrubbing data and testing models, not doing research and creating them.
With either of those your past experience carries over to some extent. But if you decide that you want to be a data scientist and use Python, then you're putting yourself at massive disadvantage. First, because your past experience is far less relevant. Second, because there's a huge oversupply of beginner data science/ML people who use Python.
There's a lot of the heavy lifting done in Spark (written in Scala), and many parts of the "ML" ecosystem are on the JVM, either with Scala or Java, so you can leverage your experience with that. Kafka is also used and written in Java. Often times "data scientists'" output will be a Python notebook, and in many organizations someone "translates" that to either Scala or Java if they don't want to use pySpark.
My point being that you can have a smoother transition than what you imagine. A huge part of the work in "AI/ML" is not model building, and that could be your entrypoint.
I'm a little younger than that and I'm already starting to struggle with constant stack switching and the much larger scope of the stacks (AWS DevSecOps using multiple services and languages). I didn't really have a choice since I was in Neoxam and FileNet. I think Angular is much more popular than those, so you should be ok for at least a couple years if you wanted to stick with it (my company uses Angular and has no plans to switch any time soon).
I'll throw another tip in here: stay in excellent physical shape. It'll help fight any perceived ageism that comes along. I by no means look young: I am wrinkled and my head is very salt-and-pepper and my beard is pretty much white at this point. But I am in excellent shape - better perhaps all of my peers. And so the ageism thing doesn't seem to be an issue. As a bonus, you'll enjoy life more and probably live longer. STAY FIT. In a few years, it'll get much harder to do so.