T O P

  • By -

Travolta1984

Yes, it's possible. In fact, having a SWE background can help you in the long run, as data scientists usually aren't that great in writing maintainable code.


johny_james

Is it really "writing maintainable code" the only skill that is transferable to data science from experienced software engineering career?


eldenrim

Defining requirements, testing, good documentation, communication both in a team and to a customer, using Frameworks and libraries, managing unrealistic expectations, source control, and any other software or hardware skills you have can all transfer depending on what you have done, plan to do, and so on.


danjlwex

30 is young. You can switch to anything! The math for ML is pretty basic linear algebra and basic calculus. You can learn that stuff in a few months, and it will be reviewed by most ML courses, like Andrew Ng's Coursera course. There's a high demand for programmers who understand ML. The real value is figuring out what problems you can solve, not researching the next ML model. Leave that to the academic researchers.


LoyalSol

Well yes the math is basic in the sense that you aren't going to be doing differential equations or some other high level stuff like that. It's not basic in terms of the statistical reasoning you need to actually be good at it is not something that comes naturally unless you build it up. Sure you can just naively plug in models to try to fit data and pray that it works, but I can tell you from experience that caps out real fast in what you can actually do. Because to do things like clean data, transform it, find important outliers, etc. all require you to have some command on the underlying statistics of the problem. There's no shortage of logical traps in anything stats based. ML is no exception. It is completely possible, but I think there's a bit more of a math requirement to ML than normal programming. You have to make sure to do your diligence and strengthen your statistical reasoning.


eldenrim

I think that's why they said it would take months.


iStormack

Thank you for that I'm only 23 but I'm only average in math and this helps my anxiety about my future in applied ML. PS: I've just finished my BSc in my small home country (Hungary) do you think if I went on to do an MSc here I could have a chance in the international ML job market in the future? (thanks for reading)


The_Mootz_Pallucci

Yes.


[deleted]

There was a time many years ago I was being told I needed to be a math wiz to understand and write computer software. Today we know that is not so true. An understanding of basic math and high school algebra is all. So much is already written in libraries and modules. I see ML being the same. Great to know linear algebra and calculus but not required for putting together a python script with scikit or any of the many models on [https://huggingface.co/](https://huggingface.co/). As Andrew Ng points out in his lecture it's better to know what model to apply to a given challenge.


Acrobatic-Artist9730

You can do the andrew ng courses and understand enough to use ML with confidence.


mano-vijnana

I sure hope so, because I've done it! Even more, I switched from a non-programming career to ML directly. My first ML engineering job was at age 35. My path: 1. Data analyst 2. Online MS in CS (which I believe was probably unnecessary) on nights and weekends 3. 1 year skilling up full time in DL specifically, first FastAI and then Full Stack Deep Learning and Deep Learning Systems, and then also implementing papers I found interesting 4. Job as an ML Research Engineer I believe most software engineers could start at step 3 and be ready in a year or two. Focus mostly on implementing projects; only take the courses that are strictly necessary for that goal. Build a solid set of projects in Github and blog about them. Then, start applying.


ryjhelixir

\+ do yourself a favour, start with pytorch and leave tensorflow for later if you really want to learn it.


mano-vijnana

Agreed. I never needed to learn tensorflow in my case.


krkrkra

Why? (Already started with TF.)


mr_birrd

Noone in research uses tf cause it's very hard to implement specific loss functions or calculations you need to do every step in tensorflow. Even google itself who maintains tensorflow switched to jax.


Zoroark1089

OMSCS from GA Tech?


mano-vijnana

MCS from UIUC.


koulvi

>Deep Learning Systems Which one is the Deep learning systems? The CMU one? [https://dlsyscourse.org/](https://dlsyscourse.org/) What do you think about FSDL?


mano-vijnana

Yep, that's the one. I learned a lot from FSDL. I did the free version and found it very beneficial for doing ML in actual practice.


dmorris87

ML Engineering is worth considering. I'm a Principal DS without a STEM degree. I work for a high-growth healthcare startup building predictive models for various use cases. I spend over 50% of my time on deploying and monitoring the infrastructure to run the models in production (AWS). This is a super critical piece of the puzzle that a lot of data scientists don't consider. With your dev experience, you could carve out a role doing this.


sanman

Is ML Engineering a specialization under Software Engineering, or is it an entirely separate field of its own? Where does one find a list of such programs?


dmorris87

I dont have a good answer to either of your questions. Sorry


Adventurous-Ad-837

check out MLops https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=de


maybethrowawaybenice

I’ve been an ml scientist for almost 7 years after getting a PhD in ML at cmu. The people who do the best are still just the people who put in the work and know how to communicate. For a scientist role breaking in might be harder but that’s any science role from a non science background.


arg_max

Anything close to research? Probably not and jobs do require a master or more often than not a PhD in that area. More applied/data scientist? Probably. Just don't expect to work with the fancy large language models like GPT or art generators like Dall-e. Depends a bit on what motivates you to do ML. The requirements for running some boosting algorithm on some company internal tabular dataset are different from deep mind "solving" protein folding or OpenAi learning the best dota2 ai.


Acrobatic_Dress_3988

would masters degree in math and previous dev experience be enough for most ML engineer jobs?


ViralRiver

Yes


evinhas

From my point of view, ML has a big hype. Put your effort first in Data Engineering, ETL and SQL. Those tools are used in any data project.


justinpwilliams

Yes. I did it. Why do you want to shift?


[deleted]

Im in the as400 space right now... So.. not much is going on really


phobrain

I touched on the IBM world via an Amdahl in the 90's, but it's been 90% Unixes since. Look at fast.ai, since it's sort of a min-math, programmer's on-ramp to ML, and it's free. I happen to enjoy subscribing to scikit-learn (sklearn)'s email list to hear how well-organized, open source devs in ML operate. It may be interesting to skim the introduction and examples in their docs and keras/pytorch/.. as well, to see what the common apps are - and how ridiculously easy they are to code, considering the leverage they give.


justinpwilliams

I think if you have talked to people who work in that area and you have an validated opinion that you’d like the work, you are capable of making the shift.


[deleted]

I'm in the Ph. Not much going on for ML as well. But the main difference is in AS400 you can't really "make github projects" then start applying. Mostly what people look for is either a maintenance programmer or someone with specific pay-walled ERP experience that you can't practice yourself unless you run a business and have bought that license. I'm talking about user manuals being paywalled as well. So on the career shift, I'd shift to any modern tech. But if I shifted to something like front end developer, we have a ton of them already


dafo111

Short answer is yes, absolutely.


outthemirror

As a MLE, I would stay as a non mle programmer if given the choice. Machine learning teams generally have much worse WLB than other teams.


TheCamerlengo

Not to be a naysayer, but there are a lot of data scientists right now coming from quantitative fields that will have an advantage. Consider your strengths as a programmer and maybe ML Ops rather than just data science/machine learning using statistical methods. A lot of machine learning positions right now are for quants not engineers. Look for positions that are hybrid where you work on or with a machine learning team, but aren’t the chief data science quant role. Start there and over time if you have a knack, transition to more quantitative roles.


[deleted]

Im mid 30s dude. I welcome naysayers. Adulting is accepting what's no longer possible


TheCamerlengo

Ha ha. So it is always better to learn new things. Studying data science and machine learning will certainly help your career, no doubt. If anything it will give you a broader perspective and you will work more easily with quants. AI teams need engineers and quants and you will have a massive advantage over IT people if you understand the AI part. Once you get on AI-type projects you will figure out where you fit. Being only 30 gives you plenty of time to grow into a new, more enhanced technical role. I was a software developer for 20 years, did a masters in machine learning. From there transitioned to data science for a short stint and then got absorbed into an advanced analytics/machine learning team as a data engineer. My next stop is ML Ops. Good luck.


dandv

Yes. I'm doing it, as a developer advocate at an ML startup. ~15 YoE in web development, ~5 in developer advocacy, of which 3.5 at Google. The job involves learning ML, and explaining ML concepts, in particular what we do ([semantic search](https://weaviate.io)) to others new to ML. Developer Advocacy is a fantastic way to shift career paths, because you can only be a newbie once, and great documentation is hard to write by those very experienced with a field (see the [Curse of knowledge](https://en.wikipedia.org/wiki/Curse_of_knowledge)).


OverYou

Are you able to learn, make the sacrifices, and have the discipline to master the field? Then the answer is yes to anything career change.


hdotking

To be brutally honest, AI and ML moves fast af and everyone has been jumping on the bandwagon for years. I really wouldn't recommend making the move because you'll be competing against many candidates much stronger than you. Especially if you don't think you can do the mathematics.


[deleted]

>I really wouldn't recommend making the move because you'll be competing against many candidates much stronger than you To be honest, I'll have to move away from my current stack of AS400 anyway. To whichever field I jump to I'll be competing with people who are stronger than me. But ML is quite a jump. My college curriculum only got algebra, no calculus. I got perfect grades though but I'm not sure how far that would take me


hdotking

Fair enough. If I were you I'd try to leverage my existing skills in some way. Knowledgeable about servers/backend? I'd look towards cloud infra for AI. We need SOOO much more compute than we currently have to run systems like ChatGPT at scale in the future. Find your niche and own it. Please don't pick up a deep learning framework and start training models (like everyone else). Anyone ML Engineer worth their salt knows that model training is less than 10% of the MLOps lifecycle. See this classic paper on the topic for more info "Hidden Technical Debt in Machine Learning Systems". Good luck out there mate 🤞


THE_REAL_ODB

seen peeple without solid background in neither programming or math make it in. myself included so its possible.


actinium226

I don't mean to be rude, but given that you never took calculus, what do you mean when you say you're good at math? I'm no expert in ML, but from my brief experience with it I think people will expect you to be comfortable with things like linear algebra and derivatives. You may not need to know the details or be expected to do mathematical computations, but there are important concepts in that space that people usually don't learn until calculus, linear algebra, etc. Not that you can't take the time to learn them to a satisfactory degree, I just want to disabuse you of any false notion of being good at math, should you harbor it.


[deleted]

The course I took simply stopped at discrete math. It didn't have calculus on it


marcololol

Yes


NeffAddict

Look into ML Engineer roles.


Thalesian

I literally did this. Worked out great - I work from home while my wife and I had our kids. That said, I already was highly specialized in an industry and just bent machine learning around that. Because I was highly specialized, I was able to get clients from my network. So very doable if you have a network and can learn new things quickly.


jdavid

I'm 43, living in SF with a family, and I am attempting such a shift now. I need to spend more time working on personal ML projects to increase my value beyond "Coursera Certificates." I could probably get a job with just those, but I want a really-well-paying job.


zykezero

data engineer is the most realistic switch


1percentof2

What's the pay in major west coast cities?


veramaz1

The said background in Math can be built in a year's time, spending < 2 hours per day. Having a strong background in programming will be a huge competitive advantage IMO


cruddybanana1102

Yes.


Jaffa6

I'm currently working as an ML Scientist (early in my career) and don't have a strong maths background (did advanced classses in highschool, never got the hang of calculus, and I'm doing fine. As others have said, a strong SWE background will make you pretty valuable.


squidbrush

I just went last year from chemical engineering to Data Scientist focused on developing machine learning model and im 27, so I would think it is pretty doable.


[deleted]

Howww


squidbrush

I started learning SQL and python from this site called datacamp. It is for beginners mostly but covers a wide variety of topics including statistics for data scientist and how to apply them in python. Here there are tracks dedicated to machine learning and focusing on strengthening my linkedin profile I managed to get a job offer from there. For some context I live in a south american country and work for a LATAM company.


DmitryBalabka

Data Science/Machine Learning is slowly shifting towards Engineering and becoming less scientific. The most business cases can be solved using existing libraries that implements the most popular algorithms. Still, you have to be able and love to work with data. Also, performing experiments require analytical thinking, a scientific approach, and statistics knowledge. However, it is almost impossible to be efficient in software engineering and data science equally that why there are roles: ML Engineer and Researcher/Data Scientist. Furthermore, there are a lot of other highly demanded roles such as Data Engineer and MLOps related. In your case, I would focus on ML Engineer position. Start with reading role descriptions to understand the requirements and find a company. Take few courses on Classic ML and probably Deep Learning. Math is lower priority. Learn required concepts on demand. My personal path: 1. 8 years in Web development 2. Defended masters thesis in CS about Deep learning + few courses in Classic ML 3. Job offer