I work as a machine learning engineer at a big tech company.
On paper, I had a dream job.
- flexible working style
- smart and friendly colleagues
- Great perks and benefits
- good work-life balance
- There are very few meetings.
- And my compensation was well over $100,000.
Despite all this, I always felt like something was missing.
At first, I thought this was gradual and I needed to give it more time, but as months passed, the feeling never seemed to go away.
In fact, it became stronger and I lost motivation.
I love this field so much. I’ve been blogging and filming YouTube videos about data science and machine learning for literally over three years now, but I just haven’t had the same fun over the past year.
This really bothered me because I’m still in the early stages of my journey and have a lot left to learn.
I knew something had to change.
I wanted to relive the passion and excitement I felt just two years ago.
So, in this article, I would like to detail why I ultimately quit my job as a machine learning engineer and provide another perspective on what these “dream” jobs are actually like.
Needless to say, this is just my opinion based on my short experience with one team and should not be taken as a reflection of the company or its employees.
pace
Big Tech is clearly a technology company, but it doesn’t move very fast when it comes to testing and iterating ideas.
As a company grows, it will inevitably hire more employees and increase its level of corporate structure. After that, bureaucracy gradually creeps in.
There’s not much you can do to avoid it.
This usually happens when a company is doing very well and making a lot of money.
As the old saying goes:
If it ain’t broke, don’t fix it
Therefore, these companies are less likely to try new ideas and strategies to protect their bottom line.
They are less willing to take bigger and riskier swings, so to speak.
Okay, that makes perfect sense.
But for people like me, this kind of culture doesn’t suit me at all.
To tell you the truth, I’m a very rough-and-tumble, pragmatic, and action-oriented person.
There’s no need to test every intricate detail or spend too much time on completely random tests. “What if?” I have doubts and fall down the rabbit hole of analysis paralysis.
In my opinion, the best strategy is to have 80% confidence that your idea works through offline testing, worst-case scenario modeling, etc., and then push it into production to see what happens.
Some may think that’s reckless and a little stupid.
I learned that it’s okay, you can never please everyone.
For me, this approach is much more fun and motivating as I can often see my work getting out into the world.
Of course, sometimes you strike out completely, but that’s the point of this process.
This is iterative, learning and building a better product next time.
Unfortunately, in my experience, this way of working doesn’t fit into the culture of large companies, at least not with certain teams.
To be honest, it didn’t fit with the way I worked, so I had a hard time staying motivated.
lack of purpose
It’s a cliché to say that I’m just a small cog in a big machine, but that’s exactly how I felt.
After a few months, I realized that my job wasn’t that important.
Sure, it was shocking, but in the grand scheme of things, it was just a drop in the ocean.
Whether I was there or not, the company would still be running well, making profits, and continuing to generate returns for shareholders.
Don’t get me wrong. I see this as a perfect example of good business and how to run a company.
But it felt a bit worthless and lacking purpose to me. That really demotivated me because it was basically pointless no matter what I did.
This probably comes from ego, but I really wanted to feel valued and ultimately in charge of the direction of the company.
If I’m leaving the company, I want them to feel that way too.
Being helpful gives me purpose, and as it turns out, I haven’t felt that throughout the past year.
internal tooling
This is a bit fraudulent, but many of these large companies have a ton of in-house tools that they’ve developed over the years to improve productivity.
For example, rather than working directly with AWS, the company has its infrastructure engineers build wrappers around AWS to make core services easier to use and better manage role permissions.
Google is one of those companies that is known for having a lot of in-house tools, and many sources say they are very good.
This sounds great on paper, but because you haven’t learned how to properly use something like AWS in practice, you won’t be learning transferable skills that you can apply to other roles if you decide to leave.
In my experience, there were many in-house tools to accomplish the basic skills I wanted to learn.
- Use of cloud system
- Building model deployment infrastructure
- Setting up automation with Git/GitHub
These were handed to me on a plate so I didn’t have to think about it.
Certainly, productivity will increase. I admit that.
But I’m someone who always really wants to understand what’s going on inside. Because when something breaks, we want to know how to fix it.
I didn’t feel like I learned much from this and that’s not what I want at this point in my career.
small range
We had about 100 machine learning engineers in-house, and about five times that number across our data, machine learning, and science organizations.
Considering this number of employees, many of the products and algorithms were very mature and it was very difficult to squeeze further profits or make a significant impact.
That’s not necessarily a bad thing, and it’s clearly my job to find ways to improve.
That’s what I was paid to do.
However, when you have hundreds of people working on the same algorithm, or have been working on the same algorithm for more than a decade, the scope for improvement that can be made is very small.
The only real option is to redefine how you approach the problem. But as I said at the beginning, an established, profitable company won’t spend a year redesigning its entire system.
It’s simply not realistic and has no value in the eyes of senior executives.
A lot of the work I was doing was maintenance and continuing operations.
There wasn’t much room to implement new features or algorithms, and as I said at the beginning, the work became obsolete and unmotivating over time.
What’s next?
The easy path for me was to stay and eventually get promoted to Senior Machine Learning Engineer and have a comfortable, well-paying job for the next 10 years.
But what’s the fun in that?
I’m only 26 years old, but if there’s one thing I’ve learned about myself over the past year, it’s that I’m not risk-averse and I’m much more entrepreneurial than I originally thought.
I want to create something big that no one else has made and have a small impact on the world.
A lot of people roll their eyes or scoff when I say that, but they’ve done the same thing in front of me before.
But that’s the price you pay when you’re delusional and optimistic and want things that others are too scared to try or even say.
So I decided to do a full 180. I am the sixth hire from a large tech company to a startup.
Big changes come with big risks. However, as the saying goes,
If nothing changes, nothing will change.
I’m so excited about this new adventure and can’t wait to help build the unicorn.
One more thing!
Join our free newsletter. Every week I share tips, insights, and advice from my experience as a data scientist and machine learning engineer. Additionally, as a subscriber, my Free resume template!
dishing the data
Weekly emails to help you land your first job in data science or machine learningnewsletter.egorhowell.com
