On this article, I wish to clarify what I do as a machine studying engineer.
The goal is to assist anybody seeking to enter the sector achieve a truthful view of what a machine studying engineer is, how we work, what we do, and what a typical day in life is like.
I hope it may show you how to pinpoint if a profession in machine studying is certainly for you.
What’s a machine studying engineer?
As a result of fast acceleration of the tech/AI house, a machine studying engineer remains to be not well-defined and varies between corporations and geographies to a sure extent.
Nonetheless, it usually refers to somebody who:
Mixes machine studying, statistics and software program engineering expertise to coach and deploy fashions into manufacturing.
At some corporations, there might be a big cross-over with information scientists. Nonetheless, the primary distinction between the 2 roles is that machine studying engineers ship the answer into manufacturing. Typically, information scientists gained’t do that and focus extra on serving to within the model-building stage.
The necessity for a machine studying engineer got here from the truth that fashions in Jupyter Notebooks have zero worth. So, a task well-versed in machine studying and software program engineering was wanted to assist carry the fashions “to life” and guarantee they generate enterprise worth.
Due to this broad skillset, machine studying engineering just isn’t an entry-level position, and you’ll sometimes have to be a knowledge scientist or software program engineer for a few years first.
So, to summarise:
- Duties: Practice, construct and deploy machine studying fashions.
- Abilities & Tech: Python, SQL, AWS, Bash/Zsh, PyTorch, Docker, Kubernetes, MLOps, Git, distributed computing (not an exhaustive record).
- Expertise: A few years as a knowledge scientist or software program engineer, after which up-skill your self within the different areas.
If you would like a greater understanding of the totally different information and machine studying roles, I like to recommend trying out a few of my earlier articles.
The Difference Between ML Engineers and Data Scientists
Helping you decide whether you want to be a data scientist or machine learning engineermedium.com
Should You Become A Data Scientist, Data Analyst Or Data Engineer?
Explaining the differences and requirements between the various data rolesmedium.com
What do I do?
I work as a machine learning engineer within a cross-functional team. My squad specialises in classical machine learning and combinatorial optimisation-based problems.
Much of my work revolves around improving our machine learning models and optimisation solutions to improve the customer experience and generate financial value for the business.
The general workflow for most of my projects is as follows:
- Idea — Someone may have an idea or hypothesis about how to improve one of our models.
- Data — We check if the data to prove or disprove this hypothesis is readily available so we can start the research.
- Research — If the data is available, we start building or testing this new hypothesis in the model.
- Analysis — The results of the research stage are analysed to determine if we have improved the model.
- Ship — The improvement is “productionised” in the codebase and goes live.
Along this process, there is a lot of interaction with other functions and roles within the team and broader company.
- The idea phase is a collaborative discussion with a product manager who can provide business insight and any critical impacts we may have missed in the initial scoping.
- Data, Build, and Analysis can be done in collaboration with data analysts and engineers to ensure the quality of our ETL pipelines and the use of the right data sources.
- The research section would use the help of data scientists to use statistics and machine learning skills when looking to improve our model.
- The ship phase is a joint effort with our dedicated software engineers, ensuring our deployment is robust and up to standard with best coding practices.
From experience, I know that this type of workflow is prevalent among machine learning engineers in numerous companies, although I am sure there are slight variations depending on where you are.
My job is also not just to write code day in and day out. I have other responsibilities, like conducting workshops, presenting to stakeholders, and mentoring more junior members.
What is the structure of machine learning teams?
Machine learning engineers work in many different ways across an organisation, but there are three distinct options, and the rest are a mix of them.
- Embedded — In this case, machine learning engineers are embedded in cross-functional teams with analysts, product managers, software engineers and data scientists, where the team solves problems in one domain within the company. This is how I work, and I really like it because you get to pick up lots of valuable skills and abilities from other team members who are specialists in their own right.
- Consultancy — This is the flip side, where machine learning engineers are part of an “in-house consultancy” and are part of their own team. In this scenario, the machine learning engineers work on problems based on their perceived value to the business. You are technically less specialised in this option as you may need to change the type of problems you work on.
- Infrastructure/Platform — Instead of solving business problems directly, these machine learning engineers develop in-house tools and a deployment platform to make productionising the algorithms much easier.
All ways of working have pros and cons, and in reality, I wouldn’t say one is better than the other; it’s really a matter of personal preference. You still do exciting work, nonetheless!
What is a typical day in a life?
People online often glamourise working in tech, like it’s all coffee breaks, chats, and coding for an hour a day, and you make well over six figures.
This is definitely not the case, and I wish it was true, but it’s still a fun and enjoyable workday compared to many other professions.
My general experience has been:
- 9:00 am — 9:30 am. Start at 9 am with a morning standup to catch up with the team regarding the previous day’s work and what you are doing today. A “standup” meeting is very common across tech.
- 9:30 am — 10:30 am. After the standup, there may be another meeting for an hour, 9:30–10:30 or so, with stakeholders, engineers, an all-hands or other company meetings.
- 10:30 am — 13:00 pm. Then, it’s a work/code block for two hours or so where I focus on my projects. Depending on my work, I may pair with another data scientist, machine learning engineer or software engineer.
- 13:00 pm — 14:00 pm. Lunch.
- 14:00 pm — 17:45 pm. Afternoons are normally free of meetings, and there is a large block of focus time to work on your projects. This is mainly for individual contributors like myself.
- 17:45 pm — 18:00 pm. Reply to emails and Slack messages and wrap up for the day.
Every day is different, but this is what you can expect. As you can tell, it’s nothing “extrordinary.”
This is also the workday for a junior / mid-level individual contributor (IC) like myself. Senior positions, especially managerial roles, typically have more meetings.
An important thing to note is that I don’t always code in my work blocks. I may have a presentation to prepare for stakeholders, some ad-hoc analysis for our product manager, or some writing up of my latest research. I may not even code for the whole day!
On average, I spend 3–4 hours hard coding; the rest is meetings or ad-hoc work. Of course, this varies between companies and at different times of the year.
Why am I’m a machine learning engineer?
The reason I am a machine learning engineer can be boiled down to four main reasons:
- Interesting. As a machine learning engineer, I get to be correct at the forefront of the latest tech trends like AI, LLMs, and pretty much anything that is going viral in the field. There is always something new and exciting to learn, which I love! So, if you want to constantly learn new skills and apply them, this may be a career you would be interested in.
- Work-Life Balance. Tech jobs generally provide better work-life balance than other professions like banking, law or consulting. Most machine learning jobs are 9–6, and you can often spend a few days working from home. This flexibility allows me to pursue other passions, projects, and hobbies outside of work, such as this blog!
- Compensation. It’s no secret that tech jobs provide some of the highest salaries. According to levelsfyi, the median wage of a machine studying engineer within the UK is £93k, which is loopy for a mean worth.
- Vary of Industries. As a machine studying engineer, you’ll be able to work in a great deal of totally different industries throughout your profession. Nonetheless, to develop into an actual specialist, you have to discover and stick to 1 trade you like.
I hope this text gave you extra perception into machine studying, you probably have any questions let me know within the feedback.
One other factor!
Be a part of my free e-newsletter, Dishing the Information, the place I share weekly suggestions, insights, and recommendation from my expertise as a working towards information scientist. Plus, as a subscriber, you’ll get my FREE Data Science Resume Template!
Dishing The Data | Egor Howell | Substack
Advice and learnings on data science, tech and entrepreneurship. Click to read Dishing The Data, by Egor Howell, a…newsletter.egorhowell.com