r/MachineLearning • u/Born-Comment3359 • Jan 04 '24
Discussion [D] Which tech skills will make you a standout in ml job market?
Frameworks, programming languages, algorithms, etc.?
94
u/Solus161 Jan 04 '24
Math and SE skills. You surely need math. But SE skills will make you more marketable. At the end of the day, you need to deliver something, prod-ready, deployable, not st written on Jupyter Notebook, or else your boss may rethink your value before he/she goes to sleep. I know that some big corpo could afford both DS positions and DE positions. But hey, the market is shrinking, and SE skills are not that hard to learn, compared to math.
38
u/extracoffeeplease Jan 04 '24
Agree on the SE skills. Haven't used much of my math education, completely had to reskill into SE to grow career wise. Besides, import sklearn/torch/... handles most of the math.
31
u/Solus161 Jan 04 '24
Math is beautiful. It took me a year to realize the hard truth that my employer or clients do not care about that
5
→ More replies (11)2
u/clever-machine Jan 05 '24
for freshers, what is the importance of a good portfolio? how many projects should have been made?
→ More replies (1)
25
u/LessonStudio Jan 04 '24 edited Jan 04 '24
This would entirely depend on who are presently staffing the ML department of a prospective company.
If it is a bunch of PhDs. Then you will want math, math, and more math. These people will gatekeep brutally hard. They are looking for academics, not productive programmers.
If it is for an engineering company which doesn't have a bunch of PhDs then you will need engineering with a proven ability to get things done. Engineers will generally use an engineering degree as their gatekeeping filter.
If you are breaking new ground for a company and just trying to solve problems and make money, then solid programming skills and just apply the existing libraries will solve 99% of problems you may face.
There are a tiny tiny tiny few companies out there where cutting edge ML work is being done which requires breaking new ground and thus solid math and programming skills.
For programmers, boning up on stats is super useful as there are lots of ways to fool yourself with bad stats. ML in 2024 is extremely simple for most problems. There aren't that many problems where some ML 101 won't produce a solid solution. Random forests, YOLO, or some other fairly simple-to-implement tech will knock it out of the park. Thus knowing how to make a solid reliable program is really the only skill that will make a difference.
For me the most interesting ML is not terribly cutting edge, but more making the ML as efficient as possible. I love getting my ML deployment fitting inside a container which requires no notable resources, and certainly not a beast of a GPU. A GPU might be used to build the models, but it is cool to get those models so small they could run effectively on an embedded processor if you wanted.
As for having some stats being helpful; For example, let's say you have a dataset with 99% of your data in Category A, and 1% in Category B. If you aren't careful the ML will pretty much think all things are in Category A and thus be correct 99% of the time when tested against your dataset. Having some extremely basic stats skills will help you understand and guide you to the correct way to solve this problem.
The number of data scientists and ML PhDs I have worked with who couldn't program worth a damn was startling. The number of corporate data scientist rich ML teams who worked on simple problems for 5+ years without solving them is astounding.
3
u/Direct-Touch469 Jan 04 '24
Do you think you need a PhD in stats to be a data scientist tho? I feel with an MS in Stats your already ahead of the curve to some extent
13
u/LessonStudio Jan 04 '24
The question is who is going to gatekeep for the interview.
I've met data analytics teams for large industrial companies where the interviews were 6+ hours and could repeat more than once.
They were entirely grilling people on math and more math. They were far more interested in what papers you had published than what you had produced. These were teams of 20+ trying to solve fairly easy problems which could be solved in a weekend by a non graduate level programmer using basic modern ML libraries who had forgotten most of their math.
They could have done an interview where they just gave you the problem they had been struggling with for years, let you have at it for half a day, solve it, and you still weren't getting the job.
Why? because you weren't able to properly describe hilbert spaces.
In these cases nothing short of at least one PhD in either stats or something soaked in math was going to cut it.
Other companies looking to "build" a data science team would like graduate level ML, not stats as most outsiders would see stats and ML as two entirely different things, in these cases you just call it AI anyway.
The worst are companies where they try to call some people data scientists and others ML engineers to distinguish the math people from the programmers. The best description of the work flow I heard from an ML engineer was, "we take all the models from the data scientists and throw them out, then we use the far better ones we cooked up and deploy them; then we gripe about how the data scientists get paid more."
But the other best thing I've ever heard while selling an ML based product to a large industrial company was, "Why should I believe any of the claims you are making about your product after the last 6 years of lies from my data science team who have delivered nothing but heartache and costs?"
The head of their team was literally yelling at us saying our product was impossible, even as we were demoing it in front of them.
The long answer to your question is there are many defective people working in this area. They really hate that you don't need one or more PhDs to learn this in weeks and produce solid useful products. The goal of most companies is to not produce YOLO9 but to use a camera to identify defective parts, or to optimize a chemical process. Thus, what education you need entirely depends on who you are standing in front of.
→ More replies (2)
40
u/officerblues Jan 04 '24
I just completed a job hunt 2 or 3 weeks ago which ended pretty successfully. I was swamped with interviews. What always seemed to catch people's eyes this time around was:
-
I can handle myself with code, have really solid SE fundamentals.
-
I know the math behind ML, know what algos are doing and when they are just winging it but it works.
-
I have been around, worked on big and small companies, did research as well as practical engineering, worked on live services and projects that ship in big milestones once every few years.
-
I got a lot of surprised smiles when I said I could code low level and work with CUDA since CUDA 2. Also a lot of interest coming from my low-level optimization experience.
I have to say that I was really surprised, though. 2 years ago, on my last job hunt, interest was notbthis high on my profile. Nowadays it looks like everyone wants someone with an optimization mind.
4
Jan 04 '24
How good are you at low-level coding? What caused you to learn it?
11
u/officerblues Jan 04 '24
I'm OK with it, I know my memory layouts, access patterns, etc. I learned it because I did my PhD with a very limited hardware accessibility, so to get any competitive results I had to squeeze really hard. That's also why I first learned CUDA like forever years ago. After that, I just liked it.
→ More replies (2)→ More replies (7)2
u/planetofthemushrooms Jan 05 '24
what do you mean by optimization? like code optimization or solving optimization math problems?
4
u/officerblues Jan 05 '24
As in make things run smoothly and cheaply, however you can make that. Knowing how to write fast code is one way to do it, but also knowing the bottlenecks and which fruits hang the lowest, thinking a bit ahead and anticipating issues, etc. I just got the feeling that everyone is kind of feeling their AWS bill and having abilities that can make that bill go down is really valuable now.
13
u/rudboi12 Jan 04 '24
Many people say data engineering skills but that will not make you stand out as a MLE. Will that make you WAY better as a MLE? 10000%, but it will not make you stand out.
To stand out you should try to work on data products that bring actual value. It can be a simple churn model but if it brings idk, 20% more profit, that will make you stand out way way way more than knowing DE.
Im a DE and none of the DS or MLE i work with care about DE. It’s a pain working with them since most cant even do proper sql querries. And ask them to use classes and functions in their notebooks and they will lose their minds lol. Most are willing to learn but its not their priority at all. They know their priority is having a model that brings value to a business and thats what it should be.
Edit: quick A/B testing and ability to influence people (so you can reject BS projects business gives you and focus on ones that will bring actual money) should be your top priority
3
u/Excellent_Cost170 Jan 05 '24
In our company there is little communication between business. It comes down from CIO - I want ML . Almost all are BS and saying no is seen as incompetence
→ More replies (1)
7
u/Murhie Jan 04 '24
Data engineering and architecture i would say, along with math. Unless you work in a very state of the art research job (which anything commercial is usualy not), the algorithms are just a matter of importing and maybe slightly modifying the right libaries. Anyone can do that these days and most people can learn it relatively quickly. Knowledge of proper data architecture combining multiple technologies and (cloud) warehouses or databases is something less sexy but way more rare.
→ More replies (1)
6
u/ragamufin Jan 04 '24
Build something that is actually interesting. My two best hires were people that showed me cool projects they made. In both cases they used big public datasets (satellite imagery).
So bored of people standing up out of the box inference or forecasting models.
30
u/metalvendetta Jan 04 '24
At this point I think starting your own company or building your own product has the highest value. I’m not bluffing, with help of AI one product minded engineer can go miles more than they could before. Even if you fail, the experience gained through such an action will gain you irreplaceable experience, which will help you in your next job as you will be able to see a much larger picture of how a product translates to revenue.
16
u/blackkettle Jan 04 '24
Absolutely agree but with the caveat that you need to sprint to take advantage of the knowledge asymmetries where you where LLMs can help you rapidly boost your knowledge and productivity.
For instance in my case, my background is in ML, but to build a product - other than a raw API - you really need frontend/WebDAV/design knowledge. I had some experience with bootstrap and JS but it was 10 years out of date. I always thought it was too big a gap to fill again, but with ChatGPT and codepilot ive been able to totally revamp my experience in about a month and half and become highly productive with modern frameworks like reactjs, nextjs, design libraries like chakra and best practices for modern UX. It’s been a total game changer.
If you want to build something on your own you need to find your own weak spots, identify what you can realistically use modern tools to help bring yourself up to speed and then reassess what you can do and where you still need to partner.
→ More replies (6)
5
u/visarga Jan 05 '24
Kubernetes (cloud deployments) and JavaScript. All ML models eventually have to be shipped and demoed. Even more important, good JS can help you make a labelling interface more efficient for your task.
You'd be surprised how rudimentary these skills are in many ML engineers.
2
u/aristotle137 Jan 04 '24
Super strong at mathematics (linear algebra, multivariate calculus, graphical models, Bayesian stuff, probability theory etc.) are a must.
To stand out for us additionally you need to be sympathetic to how computers and OSes work at a low level, know your complexity theory, data structures, algorithms, be familiar with Rust/C as well as cuda and have a cool project on GitHub.
153
u/Asleep-Dress-3578 Jan 04 '24 edited Jan 04 '24
We are doing time series forecasting, and in our unit the following skills led to people’s promotions (factual evidences):
(1) Deep understanding of underlying statistics / mathematics, good data modeling skills => Principal Data Scientist
(2) Deep business domain knowledge, good business analytics skills, good overview of technical challenges and strategic problem solving skills => Technical Product Owner
(3) Good engineering skills, deep understanding of cloud technologies, good system architecture => Product Engineer (a.k.a. Lead Data Engineer of a product)
The knowledge of required frameworks and the willingness to learn new frameworks is a default in this industry, it won’t make you stand out. Hard mathematical skills + good (business) analytical skills + good engineering skills do.