How do you break into a career in machine learning? (2020)
theexclusive.org
theexclusive.org
Now I interview tons of people for MLE roles. Trying to get in "through the front door" is incredibly competitive. Not only you have to prove you are a great engineer, but also good ML knowledge. You'd be competing with people with MSc and PhD.
Whenever possible I still recommend following the path I did: become and excellent engineer, and then look for an internal team to transfer to. Any sensible manager will take you in and help you to grow into the role.
As always YMMV. This is my sample size of 1.
Is there a reliable definition to that? A good balance between technical and communication skills or something among the lines?
However in general this should be enough: Demonstrate you can do the work by "being smart and getting things done" and by not being a sociopath. If you are an asset and not a liability, you will become an excellent engineer.
Personally I don't mind the candidate's background so far as they can do the job (how the interview is a sucky way to determine this is another topic of conversation).
The thing lacking is a hacker's credibility as an ML researcher, which i think is ironically preposterous given the self-teaching of complex domains with engineered proof.
I don't see what an PhD has on the class of self taught hackers is what I'm trying to say. Just kidding, I know the answer is that they are trained in a certain institutional mentality. Give me my downvotes.
This is where an ML engineer comes into play, they’re not so academic but way better at writing production code
I come from fintech, what suggestions do you give to a former dev re-entering tech via AI and ML and wants to focus on the Product Dev side of things?
I managed/collaborated with a team of 3-4 devs as a co-founder during it's peak and then did a dev and consultant stint at a mega corp after getting fed up with how bad PM can ruin everything and self-sabotaging itself.
I'm now studying a BSc in AI and ML to get back into tech and I've realized that my strengths won't be as a developer and would I'd prefer to focus on being a much better PM than what I had.
From the sound of it I'm not sure a BSc in ML will land you a PM job. I can also say that we are an applied science group. Our PMs are experts in our specific domain, not necessarily in ML.
Most importantly I’ve found the impact of machine learning to be limited outside of massive companies which come with their own headaches. To add to that the number of jobs is limited and the competition is fierce.
Not to say any of this is a negative, I just recommend people only get into it if they genuinely find working on ML problems exiting enough to do in your free time.
If anyone has done something similar, I’d love to hear about it. Most recruiters seem to be pretty surprised I’d want to do this.
If I have to build a piece of software then I can be quite certain that I can deliver. For a Data Science project on the other hand, there are a lot of ifs, e.g. quality of data, how well does it actual generalize, etc.
I think in an environment where the higher ups understand ML well and you have a good team it could be fun; the moment the higher ups don’t understand it so well, I feel like it could be the source of a lot of stress.
My recent recruiter was also skeptical at first when I applied for a swe position with an ML background.
Definitely not saying your wrong or that it's better than backend dev (it's probably just personal preference). But as someone considering it, I'd like to hear the good and bad of each type of role.
- Scientists dont always make the best 'clients'. The requirements you spend months implementing may be completely obsolete by the time you are done and then completely unused. - You often dont understand or are made aware of the impact of your work. - Its challenging to compete with Masters/Phd graduates who have spent years delving into ML. Entry-level knowledge only takes you so far. So its more likely that you wont work on cutting edge ML research. - MLE work in my experience has been mostly around infrastructure management and data security. Again it has interesting challenges and hard problems to solve but with the speed of the AI world, it all boils down to facilitating the scientists and researchers as much as you can
I was naive and trying too hard to stick to ML but lesson learnt eventually.
Math or math-heavy science BS -> undergrad research -> computationally heavy PhD -> entry level DS or ML engineer job -> senior ML job (within a year or two)
If you are older and looking to pivot, I'd recommend, Data engineer -> senior data engineer -> entry level DS -> senior DS
Usually a PhD is only in the requirements for Research Scientist (RS).
That said, I did a PhD (and am now a RS). It's a fantastic opportunity to learn fully focused during a few years.
But if your sole objective is the career (which is ok!), don't do a PhD. There are much easier ways to break into ML industry.
I know of at least one person who got an ML job at Google, but didn't apply specifically for it. They had a very strong ML background and applied for a generic software engineering and got team matched. That seems like a reasonable way to go if you don't want to go through a research interview loop.
There is nothing quite like having a world-class researcher ask you to figure out why their model is exploding, and tracking down the crazy things that happen on TPUs when their math isn't absolutely perfect, then helping them fix it, and see them publish their results (or put them in prod). Or knowing enough software and hardware to debug a tensorflow TPU problem with an oscilloscope connected to the voltage regulator in a hardware lab.
Personally, i gained these skills over a long period starting in the mid-90s (working on machiine learning, and then later HPC for biology, and ultimately back to machine learning). But I am a slow learner. probably the shortest path is to get accepted to a major university and do really well in your ML and CS classes, then parlay that into a job in a FAAMG, then figure out what you want to do with all your skillz.
I had been working in Attitude Determination and Control and Optical Systems Engineering for seven years before that interview and I just like, knew the stuff from the job. I've been back on pure-SWE roles for four years already and I don't think I could do it now. I have the intuition but I couldn't white board proofs for tree based algos and manipulate integrals like I did on that interview for sure.
Do words even mean anything anymore?
Then there are these other roles which involve prototyping new ways to train a model, or taking a paper from 5 months ago and see if it works for your use case. Or you know, just work on something that you can eventually publish. At FAANG, these are usually the "Research Scientist" or "Applied Scientist" roles. Most of these require a phd, but it's completely possible to get an offer with just a masters (I did), and I know of at least one case where the person "only" had a bachelors (and some experience). But by far the most straight-forward way to break into these roles is to have a phd.
ML jobs are split into theoretical and practical.
Theoretical involves building proprietary models based on academic papers, and training them. This is where the PhDs are going.
Practical involves deploying ML models, either in the cloud or on devices. This doesn't require the heavy theory that is still rather new in university, it is more about application programming.
The theoretical jobs pay a lot more, the practical jobs just require a cursory knowledge of ML, and not the nuts and bolts. The latter requires a lot more patience to understand the explosion of inference hardware (esp. Nvidia's convoluted tooling).
Theory: can't unless you have a phd.
Practical: learn python and tensorflow, C++, and devops.
Better to just get your MSc in statistics/CS. It's possible to break into the field with less but of the (very talented) ML engineers/scientists I know the ones with the BScs are basically stuck. Most people want to actually make cool models and novel ideas. You won't get to this position without an MSc /PhD.
You need to pick better companies. If the place you work handles employee growth and development by saying this employee is to valuable to support their career then gtfo.
My email is in my profile.
I leveraged that to get a teaching assistant job at a bootcamp for adult professionals.
I networked my arse off at the teaching assistant job until experienced programmers (such as instructors) realized I knew my stuff but was underemployed. I got a couple of side gigs doing BI Analytics that way.
After doing this, I had a tough set of interviews for my first full-time role. Every failed interview taught me about my weaknesses and blindspots, and I learned from them. I opted to get stronger at system design, stats & ML algorithms, though I feel like grinding leetcode could have been another approach at this point.
Because I had a wide set of marketable skills within data-oriented work, an analytics consulting firm took a liking to me. I had versatility for billable projects, and I got a bunch of tech certifications in AWS/etc. This role would be describable as 'Analytics Engineering'.
They overworked me for a little while, then my next role was a Data Scientist role that was on my own terms.
I don't want to make it sound like I could just jump in no problemo. I had to think strategically about how to climb each rung of the ladder. But I am now at a point where I have the experience needed to be a senior. While some companies might turn me down for not having a piece of paper, there are enough who actively want me that I am sitting pretty with my career.
Finding a small, contained use for ML in your software/data job is a good path into the former, but I have no advice on the latter.
Only one out of all of those have a PhD, and it’s only pseudo related. You absolutely do not need to have a PhD for 80% of positions in the modern world of ML in my experience, and I’d go as far as saying unless you want something significantly more prestigious than “market rate ML job doing interesting work” then a PhD is probably a net negative in life as an ML person given the opportunity cost. I have definitely turned down prestigious academia PhD types who wanted to move to industry in strong favor of strong SWEs with practical ML experience, and have a strong preference for same.
This definitely isn’t the answer academia or most people who have sunk cost of their time into PhDs would agree with, or necessarily like, but from a practical perspective it’s my experience across much of industry.
Modern ML tooling has progressed enough that not only is a PhD not necessary, but overcomplicating ML model construction fully utilizing said PhD can easily lead to technical debt and make things worse.
https://twitter.com/bsunter/status/1535730704138444801?s=21&...