You’ve been doing machine learning for quite a while, and you’re starting to notice that your workload throughout a project is not constant. There are highs, with tasks that require your full dedication, and lows, where you mostly supervise processes that you’ve previously launched.
You can do a lot of different things during the lows. You might take advantage of this time by diving into the next project on your waitlist. Or work simultaneously on multiple tasks, following a step-by-step approach to project management. There are no strict rules for this. It depends on your personal preferences, and the governance you have at your workplace.
Those ML engineers who have tight deadlines will most likely work on other projects to stay on schedule. But others, with a bit more leisure, have a few more options to consider:
- You might just kick back until more demanding tasks come your way. Getting rest after a period of hard work is always a good idea. You can’t be going at 1000 revolutions per minute all the time, brains need rest to work properly.
- You might be itching to do something else, in which case there’s a whole world of things that you can invest your downtime into.
We’re going to talk about these things. There are plenty of options worth considering for machine learning engineers, many of which I’ve done myself and can confidently recommend.
If you’re professionally employed in the machine learning field, you’ve already done an incredible job. Surely, you’ve learned a lot and done your homework. The knowledge you’ve gained is both incredibly powerful and valuable. Now that you have this advantage, there are many ways to apply it in order to become the expert that earns the biggest bucks and gets the most clout.
The options that I suggest in this article are quite easy to do with the experience that you already have. It doesn’t matter what your grade is, whether you’re a junior, a senior, or a mid-level machine learning engineer. You can still follow advice from this article and catapult yourself into a better market position.
We will mostly talk about part-time openings that you can switch to when you have downtime in your main workplace or project. It’s that extra mile that you can do when you feel like you have a surplus of energy.
Why is the project workload inconsistent over time?
An inconsistent workload throughout your machine learning project is to be expected. Seasoned ML engineers know that each project has its own life сycle. The machine learning team is never 100% engaged in the project across all the different stages of maturity. Each stage is unique and demands a different level of contribution from separate teams and individuals.
Each machine learning project has six distinct stages:
- Problem (business) understanding;
- Data collection;
- Data annotation;
- Data wrangling;
- Model development, training, and evaluation;
- Model deployment and maintenance in the production environment.
You’re probably already familiar with these stages. In case you’d like to refresh the details, check out “The Life Cycle of a Machine Learning Project: What Are the Stages?”, there’s a very thorough review for each project stage.
Machine learning engineers usually spend most of their time at the data wrangling step. That’s when we’re manipulating data, doing exploratory data analysis (EDA), and finishing up feature preparation. At this stage, ML engineers are usually extremely busy and highly involved in the project.
Then there are stages when ML engineers don’t need to participate as much, if at all. For example, data annotation is commonly performed by third parties so there’s no need for ML engineers to intervene unless something goes wrong.
Another example is the model training stage. When the training job is launched, we just want to track model performance over time and see how it changes. If the process continues without any issues, we generally don’t interfere.
If we split the ML project stages into two groups: those that need ML team involvement and those that don’t, here’s what we’d get:
|Stages that need ML team involvement||Stages that can be completed without ML team involvement|
|Problem understanding||Data collection (usually performed by data engineers)|
|Data wrangling||Data annotation|
|Model development and evaluation||Model training|
|Model deployment and maintenance in the production environment|
Now comes the fun part – the four stages on the right are where you might find the right part-time activities to become a more successful machine learning engineer.
What does it take to be a successful machine learning engineer?
You might be asking yourself: “Why on Earth would I do extra activities? I already have a job. It pays well. My work-life balance is great. Isn’t it time to settle down and just enjoy?”
Even with that approach, you still learn new things regularly and keep expanding your skills because that’s what any specialized IT role requires. Tech is a fast-paced environment. Particularly in ML, new tools and technologies keep changing the way engineers work.
To prosper in Tech, you always need to be on the edge of what’s going on in your field. Always a step ahead of the current status quo, which might become obsolete tomorrow. So it’s understandable if your job is taxing enough that you don’t want to do any extra work.
But, whenever it’s possible and you have enough energy to do so, I suggest two actions that will keep you on top of your game:
- Make learning a part of your daily routine;
- Work on more than one project;
The first is quite straightforward. Feed your brain with new knowledge daily, as much as you can.
The second point, working on more than one project, will need a bit more explaining.
First, don’t look at this through a financial lens. Your main benefit from having more than one job is just getting multiple sources of income. It’s about giving yourself a chance to either drill deeper into a particular topic or broaden your knowledge and obtain new skills. Let me give you a few examples to convince you of the power of multitasking.
Imagine that you’re about to complete an interesting machine learning project. Your model is undergoing final training, and you have some free time. What should you do?
One option is to write an article where you present your findings and the approach you used to solve the problem you’ve just tackled. It will deepen your knowledge and make you better at explaining your work. You’ll share your knowledge with others, contributing to the growth of the machine learning community worldwide. Plus, published articles are proof of your knowledge. You can get more recognition as a machine learning expert. Finally, if you find the right opportunity, you can get paid for your article, giving you a bit of extra income.
A pretty good opportunity, isn’t it? Writing will also improve your… well, writing skills, which goes a long way in the workplace. Being good at dressing your thoughts in words is a rare skill.
Another example. You’re thinking of taking part in a machine learning competition. There are many to choose from. Kaggle alone offers many different opportunities. You might select a field and a topic where you’re already proficient, and compete for a prize (which can reach millions of dollars). Alternatively, you may want to pick a field where you have little experience and boost your knowledge in this sphere while working with a team of experts.
You will broaden your experience, gain new skills, and enjoy the thrill of competition. In case your result is among the top-performing ones, you’ll also have a chance to earn an extra reward for your work.
Each and every extra activity that you can get involved in will benefit your growth as a machine learning engineer. You’ll get better at it, and your earnings will reflect that.
Okay, we talked a bit about writing articles – that’s one extra activity that you can do. What else is there? Let’s go through the main options you have.
Growth opportunities that all machine learning engineers should know about
If you feel confident about doing some extra work to get more from your knowledge, here’s a list of fundamental activities to consider.
Studying machine learning is tough. You’re already past the most difficult part, but you can help your less experienced peers.
Some students struggle with Python. Others find it hard to grasp complex mathematical concepts that make machine learning algorithms tick. The key thing here is that all of these people need support from a more experienced tutor. You can be that tutor!
Online education makes learning something new as easy as a few mouse clicks. Numerous platforms offer educational programs to students, often opening the doors to new and exciting career paths.
You’ve probably taken a MOOC course yourself. If so, you know that there’s usually a supporting staff who supervise students on their way to a new career. Here’s how it usually works:
- Tutors and teachers reply to technical and project-related questions;
- Community managers help students stay motivated and cover most of the non-technical questions;
- The career-accelerating team connects with potential employers and, eventually, lands a job offer.
The entire assisting team typically consists of experienced people who have a primary occupation but decided to diversify their working routine by taking part in an educational project.
As a machine learning engineer, you can become a tutor or a teacher for students from all around the world. It will eat up some of your time, as this requires around 10 hours per week on average.
Tutors can expect considerably good compensation for the time they spend with students. The work is fully online. It doesn’t matter where you are, and what device you’re working on. All that you need is a good internet connection and your big brain. This is a particularly juicy opportunity if you enjoy sharing your experience and knowledge with others.
Depending on the school, leading a single student group might take up to a year. On the one hand, it’s good – you sign a contract that lasts for a longer period of time. No need to search for another extra activity every single month when the previous one gets finished. On the other hand, a year-long commitment is a burden that can be hard to carry, so decide carefully.
We’ve discussed writing before, and I can’t stop emphasizing how cool it is! Machine learning is experimental by nature. Working on a particular task, you might try multiple alternative approaches to find the best solution to the data you have. We play around with parameters, algorithms, augmentations, preprocessing, and many other variables. Sometimes, conclusions from such experiments are incredibly striking. Enough so that other machine learning engineers would be happy to learn from your experience and employ the best practices you’ve been able to achieve.
Another avenue in writing is doing how-to articles (kind of like the one you’re reading). They’re a guideline for readers to get something up and running, or change the way they do things. The reach of such articles gets especially broad if you write about cool new tech, like a library that’s not very popular yet but looks promising.
Sometimes it’s also handy to refer to such articles in addition to reading the official documentation. Docs typically involve a toy project, whereas someone who writes their own article can show how the tech will perform in the wild, on a real-life project. Such implementations are always interesting since they show us real experience on a real problem with all of the pros and cons that might come up.
In order to turn your domain knowledge and writing skills into a well-paid side job, you should find a sponsor to work with. You might be surprised to hear that there are plenty of them who are looking for you – an experienced machine learning engineer willing to share your knowledge. Do a quick search (“machine learning writer job” will do) and look for relevant job openings. I’m sure you’ll find many compelling opportunities. Alternatively, you might go to your favorite industry magazine or blog and contact them directly about writing for them. They’re usually very interested in new content, so be ready to receive multiple offers from them, too.
As for the financial side of the question, you might expect decent compensation for your work. Depending on the topic, the volume of the article, and the quality of content you came up with, you might expect up to 500$ per article. Not bad, right?
Participation in industry conferences
Another way to showcase your work before others is to take part in a relevant conference. As a speaker, you get plenty of benefits. First of all, your experience might make you an interesting candidate for other teams and companies. The networking that happens at conferences might lead you to some new, interesting contacts and opportunities that you’d never get otherwise.
Not surprisingly, almost all conference talks nowadays get recorded and uploaded to YouTube or another streaming service. This way, your talk can open yet another door for you, showing your knowledge and experience to a broad audience of new potential colleagues, sponsors, and employers.
With the growth of your influence, you might expect to be paid to show up at industry meetups. Your name on the agenda will become a magnet for others to come and listen to you. Build your personal brand in the field and enjoy the benefits it brings.
Taking part in machine learning competitions
Yes, we’ve discussed this before, but let me share a few more observations I’ve made while examining leaderboards for multiple competitions on Kaggle. I noticed that most teams that take part in these competitions and get to the top performer list are not just teams with a bunch of random people who found each other online and got together. They’re usually teams that have already been working together for quite a while.
Such teams are usually well-balanced in terms of the skills each team member has. They know each other and know how to collaborate effectively within the team. They have access to computational resources and the project workflow is well established. They join competitions not only to sharpen their skills and broaden their experience but also to get additional financial benefits for the knowledge and expertise they have.
What about you and your team? If you’ve tackled complex problems for your company, you might just crack a competition problem, too. At the very least, it’s worth trying for the experience and knowledge you gain along the way. Even if you don’t win, you’ll still become a stronger team. Looks like a win-win to me!
Machine learning has plenty of freelancing opportunities. Freelance projects can be very different from each other. Some of them require deep expertise in a particular domain. Others may just need a basic knowledge of Python and common ML libraries. Without any exaggeration, there’s a project for everyone out there.
Most websites with freelance projects will have a pretty rich filtering functionality, so you can search specifically for projects that meet your needs.
Alternatively, you may set up a minimum compensation level you’re aiming to get, so you’ll only see the projects that are in the expected reward range. The capabilities are endless. You’ll definitely find a good opportunity for yourself if you look long enough.
As a freelancer you can be your own boss, taking extra work only when you want it. It’s also a cool way to engage in projects related to different industries, you don’t need to stick to an industry that you’re already an expert in.
Personally, I work in banking and most of the data that I work with is a history of client transactions. After a few years in this industry, I feel like I got used to this kind of data, a bit bored even. Freelancing gave me the opportunity to take part in a completely different project, and it was really interesting for me to explore a brand new dataset. Plus, the insights that I gained from the freelance project opened my eyes to some new opportunities for banking data. I was able to transfer my new knowledge to the data and projects at my main workplace.
As a machine learning engineer, you have a highly valuable set of skills and knowledge to share with the world. We’ve discussed five opportunities to maximize profit from your expertise. All of them can nicely align with your main work. Extra activities complement your overall development, making you a more valuable machine learning expert.
If you like project-based work, you’ll definitely enjoy freelancing. If you want to experiment and try yourself in a completely new environment, consider taking part in educational projects and/or industry conferences.
Writing is a great opportunity if you enjoy sharing your knowledge. Plus, seeing your article posted on a popular blog or a magazine is a very nice feeling.
Don’t wait around. If you have free time and spare energy, try any of these activities, and try as many of them as you can over time. Even if only one activity sticks long-term, it will still be a great way to speed up your growth as a machine learning engineer.
MLOps: What It Is, Why it Matters, and How To Implement It (from a Data Scientist Perspective)
13 mins read | Prince Canuma | Posted January 14, 2021
According to techjury, we have produced 10x more data in 2020 compared to 2019. For data scientists like you and me, that is like early Christmas because there are so many theories/ideas to explore, experiment with, and many discoveries to be made and models to be developed.
But if we want to be serious and actually have those models touch real-life business problems and real people, we have to deal with the essentials like:
- acquiring & cleaning large amounts of data;
- setting up tracking and versioning for experiments and model training runs;
- setting up the deployment and monitoring pipelines for the models that do get to production.
And we need to find a way to scale our ML operations to the needs of the business and/or users of our ML models.
There were similar issues in the past when we needed to scale conventional software systems so that more people can use them. DevOps’ solution was a set of practices for developing, testing, deploying, and operating large-scale software systems. With DevOps, development cycles became shorter, deployment velocity increased, and system releases became auditable and dependable.
That brings us to MLOps. It was born at the intersection of DevOps, Data Engineering, and Machine Learning, and it’s a similar concept to DevOps, but the execution is different. ML systems are experimental in nature and have more components that are significantly more complex to build and operate.
Let’s dig in!Continue reading ->