I Quit My $130,000 ML Engineer Job After Learning 4 Lessons

Editor
11 Min Read


working as a machine learning engineer at a Big Tech company.

On paper, I had a dream job:

  • Flexible working
  • Smart and friendly colleagues
  • Great perks and benefits
  • Good work-life balance
  • Barely any meetings
  • And my compensation was well over $100k

Despite all of this, I always felt something was missing.

I initially thought it was a phase and I needed to give it more time, but the feeling never seemed to go away as months passed.

If anything, it grew stronger, and I started to feel unmotivated.

I love this field so much; I’ve literally been blogging and filming YouTube videos about data science and machine learning for over 3 years, but this past year, I haven’t felt the same enjoyment.

This really bugged me, as I am still relatively early in my journey, and there are so many things left for me to learn.

I knew something had to change.

I wanted to get that passion and excitement I had only two years ago.

So, in this article, I want to go over why I eventually quit my machine learning engineer job, and offer an alternative view to what these “dream” jobs are actually like.

Needless to say, this is my opinion only on my short experience in a single team and should not be taken as a reflection of the company or its people.

Pace

Even though Big Tech are obviously technology companies, that doesn’t mean they move that fast when it comes to testing and iterating ideas.

As companies grow, they naturally hire more employees and add more levels in their corporate structure. Subsequently, bureaucracy slowly creeps in. 

There is not much you can do to avoid it.

This happens when the company is normally doing very well and making significant profits.

As the old adage goes:

If it’s not broke, don’t fix it

Therefore, these companies become less likely to test new ideas or strategies to protect their bottom line. 

They are less willing to make bigger, riskier swings, so to speak.

I get it, it makes total sense.

However, for individuals like myself, this type of culture simply doesn’t suit me.

Truth be told, I am a very scrappy, pragmatic and action-oriented person. 

I don’t bother testing every single intricate detail, or spending too much time on completely random “what-if” questions and going down the analysis-paralysis rabbit hole.

The best strategy, in my opinion, is to have 80% confidence in your idea that it will work through offline testing, worst-case scenario modelling, etc., and then send it into production to see what happens.

Some people may think that’s reckless and somewhat stupid.

That’s fine, I’ve learned you can never satisfy everyone.

To me, this approach is way more fun and motivating as you get to frequently see your creation go out into the world.

Sure, sometimes you will completely strike out, but that’s the point of this process.

It’s iterative, and you learn and build a better product next time.

Unfortunately, this way of working doesn’t align with the culture of large companies, or at least not with certain teams, from my experience.

Put bluntly, it didn’t align with how I worked, so I struggled to stay motivated.

Lack of Purpose

It’s a cliche to say you are just a small cog in a big machine, but that is exactly how I felt.

A few months in, I realised that my work didn’t really matter all that much.

Sure, it generated impact, but in the grand scheme of things, it was just a drop in the ocean.

Whether I was there or not, the company would run smoothly, turn a profit and keep cranking out revenue for shareholders.

Don’t get me wrong, I understand that it is a perfect example of good business and how a corporation should be run.

However, it made me feel a little worthless and lacking purpose. Anything I did was basically futile, and that really hit my motivation.

This is probably coming from some ego, but I wanted to feel really valued and ultimately in charge of where the company is going.

If I leave a company, I want them to feel it.

Being useful is what brings me purpose, and I ultimately didn’t feel that throughout the past year.

Internal Tooling

This is a slight rogue one, but many of these large companies have loads of internal tooling that they have developed over the years to boost productivity.

For example, instead of working with AWS directly, the company has its infrastructure engineers build wrappers around AWS to make its core services easier to use and to better manage role permissions.

Google is one company that is notorious for having many internal tools, but many sources state that they are very good.

While this sounds great on paper, you don’t learn how to actually use things like AWS properly, so you don’t pick up transferable skills that you can apply in other roles if you decide to leave.

In my experience, there were many internal tools for fundamental skills I wanted to learn:

  1. Using cloud systems
  2. Building model deployment infrastructure
  3. Setting up automations on Git/GitHub

These were just given to you on a plate, and I didn’t have to think twice about it.

Sure, it does improve productivity, I will give you that.

But I am someone who wants to really understand what is going on under the hood all the time, because when something breaks, I want to know how to fix it.

I didn’t feel I learned much from this, and that’s not what I want at this point in my career.

Small Scope

There were around 100 machine learning engineers across the company, and around 5 times that number across the whole data, machine learning and science organisation.

Given this number of employees, many of the products and algorithms were very mature, to the point that it was extremely difficult to squeeze out any further gains or make a substantial impact.

It is not necessarily a bad thing, and it is clearly my job to find ways to improve. 

It’s what I was paid to do.

However, when you have hundreds of people working or who have worked on the same algorithm for over a decade, the scope of the improvements you can make is very small.

The only real alternative is redefine how to approach the problem. But, as I said at the beginning, no established, profitable company is going to want to spend a year redesigning an entire system.

It’s simply not practical, nor is it worth it in senior leadership’s eyes.

A lot of the work I was doing was more maintenance and keeping the operation running.

There wasn’t much scope to implement new features or algorithms, and over time, the work became stale and unmotivating, as I mentioned in the beginning.

What’s Next?

The easy route was for me to stay, eventually earn a promotion to senior machine learning engineer, and have a comfortable, well-paying job for the next decade.

But where is the fun in that?

I am only 26, and if there was one thing I have learned about myself in the past year, it is that I don’t shy away from risks and I am way more entrepreneurial than I initially thought.

I want to build big things that no one else has, and make my little dent in the world.

Many people will roll their eyes or scoff at me when I say that, which they have done before right in front of me.

But that’s the price you pay when you are delusionally optimistic and want things that others are too scared to try or even say.

So, I have decided to do a full 180. I am going from Big Tech to being the sixth hire at a startup.

Big change, with big risk. But as the saying goes:

Nothing changes, if nothing changes.

I am very excited for this new adventure, and can’t wait to help build a unicorn.

Another Thing!

Join my free newsletter where I share weekly tips, insights, and advice from my experience as a practising data scientist and machine learning engineer. Plus, as a subscriber, you’ll get my FREE Resume Template!

Dishing The Data
Weekly emails helping you land your first job in data science or machine learningnewsletter.egorhowell.com

Connect With Me

Share this Article
Please enter CoinGecko Free Api Key to get this plugin works.