Machine learning and AI are amongst the preferred topics nowadays, especially inside the tech space. I’m fortunate enough to work and develop with these technologies on daily basis as a machine learning engineer!
In this text, I’ll walk you thru my journey to becoming a machine learning engineer, shedding some light and advice on how you may grow to be one yourself!
My Background
In certainly one of my previous articles, I extensively wrote about my journey from school to securing my first Data Science job. I like to recommend you try that article, but I’ll summarise the important thing timeline here.
Just about everyone in my family studied some type of STEM subject. My great-grandad was an engineer, each my grandparents studied physics, and my mum is a maths teacher.
I selected to review physics at university after watching The Big Bang Theory at age 12; it’s fair to say everyone was very proud!
At college, I wasn’t dumb by any means. I used to be actually relatively vivid, but I didn’t fully apply myself. I got decent grades, but definitely not what I used to be fully able to.
I used to be very boastful and thought I might do well with zero work.
I applied to top universities like Oxford and Imperial College, but given my work ethic, I used to be delusional considering I had a probability. On results day, I ended up in clearing as I missed my offers. This was probably certainly one of the saddest days of my life.
Clearing within the UK is where universities offer places to students on certain courses where they’ve space. It’s mainly for college kids who don’t have a university offer.
I used to be lucky enough to be offered a probability to review physics on the University of Surrey, and I went on to earn a first-class master’s degree in physics!
There’s genuinely no substitute for labor. It’s a cringy cliche, however it is true!
My original plan was to do a PhD and be a full-time researcher or professor, but during my degree, I did a research 12 months, and I just felt a profession in research was not for me. All the pieces moved so slowly, and it didn’t seem there was much opportunity within the space.
During this time, DeepMind released their documentary on YouTube, which popped up on my home feed.
From the video, I began to know how AI worked and study neural networks, reinforcement learning, and deep learning. To be honest, to today I’m still not an authority in these areas.
Naturally, I dug deeper and located that an information scientist uses AI and machine learning algorithms to unravel problems. I immediately wanted in and began applying for data science graduate roles.
I spent countless hours coding, taking courses, and dealing on projects. I applied to 300+ jobs and eventually landed my first data science graduate scheme in September 2021.
Data Science Journey
I began my profession in an insurance company, where I built various supervised learning models, mainly using gradient boosted tree packages like CatBoost, XGBoost, and generalised linear models (GLMs).
I built models to predict:
- Fraud — Did someone fraudulently make a claim to profit.
- Risk Prices — What’s the premium we should always give someone.
- Variety of Claims — What number of claims will someone have.
- Average Cost of Claim — What’s the typical claim value someone can have.
I made around six models spanning the regression and classification space. I learned a lot here, especially in statistics, as I worked very closely with Actuaries, so my maths knowledge was excellent.
Nevertheless, because of the corporate’s structure and setup, it was difficult for my models to advance past the PoC stage, so I felt I lacked the “tech” side of my toolkit and understanding of how corporations use machine learning in production.
After a 12 months, my previous employer reached out to me asking if I desired to apply to a junior data scientist role that specialises in time series forecasting and optimisation problems. I actually liked the corporate, and after a number of interviews, I used to be offered the job!
I worked at this company for about 2.5 years, where I became an authority in forecasting and combinatorial optimisation problems.
I developed many algorithms and deployed my models to production through AWS using software engineering best practices, akin to unit testing, lower environment, shadow system, CI/CD pipelines, and far more.
I worked very closely with software engineers, so I picked up numerous engineering knowledge and continued self-studying machine learning and statistics on the side.
I even earned a promotion from junior to mid-level in that point!
Transitioning To MLE
Over time, I realised the actual value of information science is using it to make live decisions. There’s quote by Pau Labarta Bajo
ML models inside Jupyter notebooks have a business value of $0
There is no such thing as a point in constructing a extremely complex and complicated model if it should not produce results. In search of out that extra 0.1% accuracy by staking multiple models is usually not value it.
You might be higher off constructing something easy that you could deploy, and that may bring real financial profit to the corporate.
With this in mind, I began enthusiastic about the long run of information science. In my head, there are two avenues:
- Analytics -> You’re employed primarily to realize insight into what the business ought to be doing and what it ought to be looking into to spice up its performance.
- Engineering -> You ship solutions (models, decision algorithms, etc.) that bring business value.
I feel the information scientist who analyses and builds PoC models will grow to be extinct in the subsequent few years because, as we said above, they don’t provide tangible value to a business.
That’s to not say they’re entirely useless; you’ve gotten to think about it from the business perspective of their return on investment. Ideally, the worth you usher in ought to be greater than your salary.
You wish to say that you simply did “X that produced Y”, which the above two avenues let you do.
The engineering side was essentially the most interesting and enjoyable for me. I genuinely enjoy coding and constructing stuff that advantages people, and that they’ll use, so naturally, that’s where I gravitated towards.
To maneuver to the ML engineering side, I asked my line manager if I could deploy the algorithms and ML models I used to be constructing myself. I might get help from software engineers, but I might write all of the production code, do my very own system design, and arrange the deployment process independently.
I mainly became a Machine Learning Engineer. I used to be developing my algorithms after which shipping them to production.
I also took NeetCode’s data structures and algorithms course to enhance my fundamentals of computer science and began blogging about software engineering concepts.
Coincidentally, my current employer contacted me around this time and asked if I desired to apply for a machine learning engineer role that specialises normally ML and optimisation at their company!
Call it luck, but clearly, the universe was telling me something. After several interview rounds, I used to be offered the role, and I’m now a totally fledged machine learning engineer!
Fortunately, a task type of “fell to me,” but I created my very own luck through up-skilling and documenting my learning. That’s the reason I all the time tell people to indicate their work — you don’t know what may come from it.
My Advice
I need to share the foremost bits of recommendation that helped me transition from a machine learning engineer to an information scientist.
- Experience — A machine learning engineer is an entry-level position for my part. It’s essential to be well-versed in data science, machine learning, software engineering, etc. You don’t have to be an authority in all of them, but have good fundamentals across the board. That’s why I like to recommend having a few years of experience as either a software engineer or data scientist and self-study other areas.
- Production Code — If you happen to are from data science, you could learn to put in writing good, well-tested production code. You should know things like typing, linting, unit tests, formatting, mocking and CI/CD. It’s not too difficult, however it just requires some practice. I like to recommend asking your current company to work with software engineers to realize this data, it worked for me!
- Cloud Systems — Most corporations nowadays deploy lots of their architecture and systems on the cloud, and machine learning models aren’t any exception. So, it’s best to get practice with these tools and understand how they allow models to go live. I learned most of this on the job, to be honest, but there are courses you may take.
- Command Line — I’m sure most of you recognize this already, but every tech skilled ought to be proficient within the command line. You’ll use it extensively when deploying and writing production code. I actually have a basic guide you may checkout here.
- Data Structures & Algorithms — Understanding the elemental algorithms in computer science are very useful for MLE roles. Mainly because you’ll likely be asked about it in interviews. It’s not too hard to learn in comparison with machine learning; it just takes time. Any course will do the trick.
- Git & GitHub — Again, most tech professionals should know Git, but as an MLE, it is important. Learn how to squash commits, do code reviews, and write outstanding pull requests are musts.
- Specialise — Many MLE roles I saw required you to have some specialisation in a selected area. I concentrate on time series forecasting, optimisation, and general ML based on my previous experience. This helps you stand out out there, and most corporations are in search of specialists nowadays.
The foremost theme here is that I mainly up-skilled my software engineering abilities. This is sensible as I already had all the mathematics, stats, and machine learning knowledge from being an information scientist.
If I were a software engineer, the transition would likely be the reverse. Because of this securing a machine learning engineer role might be quite difficult, because it requires proficiency across a wide selection of skills.
Summary & Further Thoughts
I actually have a free newsletter, Dishing the Data, where I share weekly suggestions and advice as a practising data scientist. Plus, whenever you subscribe, you’ll get my FREE data science resume and short PDF version of my AI roadmap!