Hi, I'm a Senior Application Engineer with double master's degrees in Electrical Engineering and Computer Engineering, as well as a bachelor's degree in Physics. I've been in my current industry for 10 years, with 5 years specifically in my current Application Engineering role. I know some basics of DSA, Java and C++ application development, Linux OS, Docker, Jenkins. I'm looking to make a career shift to increase my salary, aiming for $300K+ in the Bay Area.Usually semiconductor industry does not pay same like software industry. So I am ok to move to software industry as well.
I recently watched some of Andrew Ng's Machine Learning videos and found them interesting as I am good at Math and critical thinking. I've also subscribed to Taro for career guidance. I plan to continue working for another 10+ years.
Given my current skill level, which I'd describe as semi-beginner in LeetCode, I'm wondering what resources I should focus on and need some career guidance. Should I pursue a PhD and then apply for jobs, or should I prioritize online courses and open-source projects before applying?If online courses what will be good for my level.
You're right that breaking into Big Tech (software roles) will lead to a substantial increase in your compensation. With 10 YoE, and 5 as an Application Engineer, you should at least get a mid-level engineer role.
At a FAANG company, you can expect at least $250K total comp (TC). Here's an example job posting at Google.
Let's talk about making the switch in the easiest way:
If you find that you're getting interviews from the latter 2 options above, then you should shift aggressively into interview prep mode. You don't need to take any theoretical courses, just shift into DSA/interview prep.
Remember that most "job requirements" are not actually requirements.
I highly recommend against a PhD unless you genuinely love academia. PhDs take so long and PhD students are overworked and underpaid. More thoughts here: "Is having a PhD useful?"
When it comes to any sort of career pivot, I recommend switching internally. It's way better and feasible as the company takes on less risk. So the idea is that you're a mid-level or senior back-end/full-stack SWE at a company, prove yourself, and then ask for an internal transfer to MLE. This path is the most feasible at Big Tech companies with high internal mobility. Meta and Google are famous for their top-notch team switching culture in particular.
There's an amazing AMA happening right now about ML/AI career paths too. Check it out if you haven't already: "Looking to transition to ML Engineer? What do you want to know?"