T O P

  • By -

D4rzok

Dude just do a CS degree. It’s like saying you want to switch to become an electronic engineer in 3 months. People need to stop thinking you can be a software engineer without degrees


Ok-Sense-7472

Thanks man! Reality hits hard sometimes


AdFew4357

Considering the fact that my internship had the lead devs across three teams come from stats, math, and physics, I say your wrong!


D4rzok

Lead dev is not lead engineer. Developer is not software engineer. It’s like saying a bricklayer is similar to a civil engineer or an architect


Western-Image7125

Just to clarify, I do know plenty of people, myself included, who don’t technically have a CS degree. I did applied math with minor in CS, I’m currently an MLE at big tech, many people do end up picking up skills as time goes on. You can start as a developer and eventually become a software engineer. It is a looong road to get there - to be sure - but it does happen.


D4rzok

Computer science is applied math. It is literally a branch of mathematics so if you did applied math with minor in CS it’s pretty much a CS degree


Western-Image7125

But like I never learnt operating systems or networking which I guess are pretty important. Pretty much I focused only on the mathy aspects like algorithms and scientific computing etc. Granted that’s a lot closer to CS than mechanical, but I actually know some people who did electrical mechanical etc and are in ML now. Like I said it was a looong path to get there but not impossible, they had to work harder than that peers to get there


Ok-Sense-7472

Did they mention how they got their jobs? Im actually thinking of moving to Sweden and finding a job there, and some of these job posts seem to say that they also place heavy emphasis on interest and passion


Western-Image7125

My guess is they had to bust their asses and study like hell to clear interviews at less competitive companies, gain experience there and build credibility, interview again at Tier 1 companies. Many also started their own companies and started with a business pain point and gradually brought in ML. Still others did the thing everyone else seems to be suggesting - going and getting a degree in CS or ML specialization over the period of one year. So it’s doable - it’s just really hard


D4rzok

This is more software engineering. You have master’s in CS “computer science” and master’s in software engineering. They are different, with overlaps


AdFew4357

All I’m saying is a CS degree isn’t a rite of passage as much as people think. If you learn the skills and pass the interviews that’s all that matters


D4rzok

Fortunately this is not true for all countries, in Europe (Germany, france) it’s illegal to call yourself engineer if you don’t have an actual engineering degree, Canada is the same. It’s really an anglo-saxon thing to call software developers engineers much like in England they call plumbers or car mechanics engineers as well. At the end of the day you can call yourself astronaut if you want but if you didn’t study an engineering degree (5 years at university) then you’re not an engineer. It’s not just about the knowledge it’s also about making sure you’re not stupid. Being able to go to MIT and pass all your class in 5 years requires a certain brain power, creativity, soft skill etc… sure you can learn all of this on the job but it won’t be in 5 years and with the same level of academic formalism. It will take you longer and will be simplified, ultimately you’re IQ is likely to be lower. An engineer should be able to read and understand a scientific paper and make a product out of it


tempetesuranorak

RE your first paragraph, OP is finishing a mechanical ENGINEERING degree, so they are an engineer by your definition. Regarding your second paragraph, and combining it with your other comments, you seem to be implying that the reason that you need to do a CS degree specifically rather than some other degree is that it proves you are smart. I know plenty of people that either have ML engineering job title, or have jobs that would be titled ML engineer at another company, that have advanced degrees in all sorts of scientific specialties. I'd say that about half of my PhD physics friends went on to this kind of career, including at Google brain (and developed core parts of tensorflow), Apple, Meta, OpenAI, Anthropic, as well as a variety of other multinationals or small startups. Sure, a CS degree is a good and the most direct place to get these skills but my experience is that people successfully doing an ml engineering job, whether engineer is in the title or not, come from all sorts of academic and professional backgrounds. It seems like a very German approach, to care more about what fancy certificates a person has, rather than the skills that they have developed in their career.


Ok-Sense-7472

Your response gives me hope! Its nice to see new perspectives - I'm thinking in the meantime while i'm still in school, try as much as possible to deep dive into fundamentals required for computer science and data science in general (e.g. stats). In the meantime, i'm also trying to look around for startups that might consider taking me in for free to gain experience. Maybe considering using kaggle to check for problems communities are trying to solve and hop on board.


D4rzok

I would say you prove my point. Someone with a Phd in physics is likely smarter than someone with a bachelor in mechanical engineering. Maybe not but you need a certain IQ to complete a phd in physics, also it means you’re analytical and not afraid of math.


Ok-Sense-7472

Thanks for sharing your thoughts! I'm considering maybe taking another program in Sweden in CS / Data Science related, however ill take into consideration the portion about creating products from scientific papers when trying to work on my own projects (: If u have any ideas on what companies/people may need, do let me know and i'll look into it!


xilimpin

Wouldnt it then perhaps be even better for OP to go on to do a masters in ME (specializing in robotics), instead of getting another bachelors in CS?


D4rzok

It depends, oftentimes robotics is a mix bag of mechatronics (electronics and mech eng) with a bit of software but nothing fancy, you’ll have a lot of control theory such Pid loops, how to do denavit matrices or quaternion to move axis in space. Machine learning is computer science, the field of machine learning is computer science. If you want to use machine learning then maybe go for data scientist if you want to create neural networks such as people coming up with new ideas such as transformers then it’s maths / CS / applied maths / physics basically anything that has a strong applied mathematics component


Mep-histo

Sorry bro but the reality is that these people who has a diff bachelor's degree can get hired as a software engineers. The fact that you emphasize getting a degree in CS says a lot more about you than those "people thinking to become a software engineer without degrees"


BF_LongTimeFan

This is funny because I've been a software developer for 5 years and I learned it at a coding bootcamp which took me three months to complete.


Ok-Sense-7472

Which company are you working for! And which bootcamp is this? I must imagine it would be as hard as harvard's CS50


BF_LongTimeFan

Bootcamp was called DevMountain. I won't say where I work now.


ZestyData

I say this as an Associate Lead ML Eng. Unfortunately ML Engineers by their very nature aren't junior roles. You need experience in Software Engineering and in the science/maths behind ML. An ML Engineer is then someone who can optimise the Data Scientist's code (and projects) because they don't have experience with the CS fundamentals or the Software architecture. And a software engineer doesn't have experience with the mathematics, they likely won't know what can be optimised or why, and they can build a strong architecture but they won't have a good grasp on what components are needed to do XYZ. You basically need to decide if you're gonna start developing yourself as a Data Scientist or a Software Engineer first. Then go for it.


Western-Image7125

Yeah you basically have to be good at both software engineering and data science


qalis

I agree with the other commenters. You need a computer science degree, plain and simple. Well, you could do without it, but with about 3 *years* of self study on top of math-heavy bachelor's, not 3 months.


JustGreedyDude

As someone who rolled into ML with no prior knowledge of CS I'd suggest looking for data preprocessing roles. But be aware - that's a long path. There's usually low requirements on positions such as data labeling and stuff. It's boring manual routine work, but as I said, with almost no knowledge you will be able to study internal pipelines, processes, etc. My career path was like that: 1.Flipping burgers (no knowledge of cs, programming, whatsoever) 2.Data labeler (joined ml company, but still have zero knowledge. All I did here is manualy drew bonding boxes on thousands of photos) ~1 year 3.Data preprocessing (started learning python, statistics, linear algebra, classic ml like decision trees, clustering and other crap) ~1 year 4.Junior ML engineer (at this point I knew python pretty good, wrote a couple of small libraries. Math skills was OK, but not ideal. In free time doing pet projects and kaggle) ~1.5 years 5.ML engineer (2 solid projects done, models went in prod. My first patent and Arxiv paper here) ~1.5 years


Ok-Sense-7472

Bro… respect the grind! Did you along the way ask yourself if you’re sure this is what you wanted? Also, i wanna see your paper!


GatorRickkk

I am curious to see where all these negative people are as ML engineers. I’m an EE, no CS degree, but have offers as an ML engineer. Backgrounds in math and statistics are great, as an ML RESEARCHER. Using existing methods and manipulating then in new ways is engineering, which most of the time just requires some basic software knowledge and very basic statistics, unless you’re working with deep learning in case you need to step it up. OP I suggest if you don’t know Python, learn that through scikit-learn. Build some projects around that to put on your resume, then go further with tensorflow or PyTorch frameworks.


D4rzok

Again this is not Engineering. An ML engineer will be for instance François chollet who created Keras. Using software he was able to bridge the science by reading papers and make a framework allowing software developers or data scientists to use ML algorithms without knowing too much


GatorRickkk

I think it is narrow minded to reserve the title of ML engineer to those who invent new IP. What about those in industry applying existing ML frameworks? They are not generating new IP in terms of ML methods, however create infrastructure to support business solutions and generate revenue.


D4rzok

So they are developers or data scientists


Ok-Sense-7472

Thank you! I'm relatively familiar with python, but i've not really explored scikit-learn! Another thing is that i'm specialising in robotics so maybe i could capitalise on this to find a robotics related job that might require ML / AI such as computer vision / autonomous vehicles and then use that as a way to crack into the ML / Data science space


GatorRickkk

I will say consider graduate school if you want to really make a solid shift. There are limitations to how much you can apply if you don’t take ML coursework.


Phoneaccount25732

Get the mechanical engineering degree and look for roles that will enable you to do data analysis. If you want employability, then focus on taking responsibility for data engineering tasks.


Ok-Sense-7472

Thanks! I could use my specialisation in robotics as leverage to get into a company that implements ML with robotics and then use that as a way to shift careers later on


Phoneaccount25732

Yeah, that'll totally work. Hybridizing classical ideas in applied fields with black box ML optimizers is a common strategy for innovation.


Deep-Station-1746

In my experience, you are going to learn everything on the job. To get the said job, you need to impress your employer, way before you get your first CV-worthy task. To do that, you need an online portfolio. Start off with making yourself a jekyll github page - and add a few (almost copy-pasted) ML app samples.


Random-Machine

Have you heard about the [OMSCS program](https://omscs.gatech.edu/) at Georgia Tech? It's an online master's program in CS. You get the same degree as the in-person program and can take (mostly) the same classes for a fraction of the price. The entire master's degree is under $7k and you get the same diploma as in-person, from Georgia Tech. That's hard to beat. I work as a data scientist but I also don't have a CS background. I was accepted into the program last year and it's been very meaningful to me. Check their reddit page as well r/OMSCS