- Were there any times you got a job in a new domain without any experiences (e.g. didn't worked on as a hobby project, didn't do extensive learning the new domain by yourself)?
- Any ideas why those employers chose you for the job? (e.g. purely because of your past experience from the old domain? Any specific qualities they saw in you?)
- How much effort (time?) you would normally spend to learn a new domain before applying for a job? Or if time is difficult, what criteria you use to determine that "Yeah, I'm ready to find a job in this domain"?
I got a job once as a producer for a video game publisher and had pretty much no experience. That first couple of months was basically an intense crash course on video editing (Adobe Premiere and After Effects, had never used them before), localization, qa outsourcing, certification, working with external dev teams, figuring out how dev kit machines worked, evaluating pitches and game demos to see if we should pursue publishing them, etc.
Before that I hadn't done much more than develop and self-publish several Flash games, sometimes collaborating with an artist.
They chose me probably because they were tiny, could tell I was passionate about games, and they expected I would do more game design than I ended up doing (my title was Lead Game Designer... I did some of that, but I was mostly a producer).
And since I thought it was mainly a design role, I didn't hardly anything to prepare. Once I got there, it was like someone volunteered me for the Ice Bucket challenge and didn't tell me before dumping the water on me. Had a lot of fun, though.
Only reason why I'm not doing it now was because I felt like my coding skills were atrophying the whole time I worked there and that thought made me feel pretty uncomfortable. I'd probably be more successful now though if I stuck with it, though.
I have a bit of an unfair advantage in that when people look at my resume now they have no problem believing me when I say I'll ramp up in the new domain. I've professionally used C++, C, C#, Fortran, Java, Javascript, Python, Tcl and multiple stacks so it's not too hard to ramp up on a new technology stack.
I normally ramp up on the company and space for at least 6-8 hours before the interviews start. I take the approach of a customer and try to figure out whether I would buy their product or not. I tend to ask questions about competitive threats and possible pivots that show you grok the market. Sometimes I discover competitors they have never heard of, this sometimes kills the job :-P
If you have the technical chops, you need to show you'll use them productively as soon as you hit the ground.
I'm also both a manager and a developer and can easily plug into multiple roles. I'm happy to roll up my sleeves and program while building the team.
I would also like to know more about getting in. I'm confident I could get up and running in a matter of a few weeks working fulltime on almost anything. I just have a difficult time getting in.
Right now I'd like to go from embedded to data science, machine learning. I think I have some useful skills. But I obviously can't show much in terms of SQL knowledge. I've used python pandas for a few internal tools. I have a solid background in statistics from uni, but I feel like after some years in industry, people don't care about your uni background anymore.
If you work in embedded, start to shift your focus into IoT. Internet-connected systems are the ones producing and storing the data necessary for data science/ML to happen. Experience with the data ingestion layer IoT cloud platforms (AWS IoT, GE Predix, Azure IoT Hub) could help you transition to higher level data analysis roles, especially if you can demonstrate your domain expertise with embedded systems. If you are working with Matlab along w/ Simulink, you should check out ThingSpeak: https://www.mathworks.com/products/thingspeak.html
If you are working deep embedded/legacy products or purely on the hardware side, you may need to grab an ML course/certificate to signal your interest, or just network really hard. Having embedded engineering skills can't hurt though.
At least in my industry all the application layer gets done in Simulink. I prefer working with code. I find working with Simulink frustrating, you can't diff properly, simple things are hidden in hard to find configurations. It just doesn't work well with how I like to work.
Three other option is going back to firmware, which I did in my previous job, but I don't want to write more firmware drivers. It's just not exciting.
Additionally I'd also like to do more creative work, I find data science sounds very exciting and I could probably bring a lot of software skills to the team
But convincing the industry to go another path is probably harder than switching fields.
Please don't fall for the "sexiest job of the 21st century" adline.The wife works as a sw dev on a speech rec team(one of the popular ones) and she works with P.hD "Data Scientists" which are looking at getting in to dev. If you apply the pareto rule, "Data science" is 80% Cleaning and 20% ML. Hardcore ML research is totally different which requires atleast a MS with ML focus and pedigree plays a huge part. Here is a thought. Why don't you try rewriting stuff you did with Simulink in Python. My man, Downey got you covered https://github.com/AllenDowney/ModSimPy. I would recommend that you start with Think Python before tackling this book.
- Were there any times you got a job in a new domain without any experiences (e.g. didn't worked on as a hobby project, didn't do extensive learning the new domain by yourself)?
- Any ideas why those employers chose you for the job? (e.g. purely because of your past experience from the old domain? Any specific qualities they saw in you?)
- How much effort (time?) you would normally spend to learn a new domain before applying for a job? Or if time is difficult, what criteria you use to determine that "Yeah, I'm ready to find a job in this domain"?