How I Went From Being a Confused Undergrad to an Experienced ML Engineer
It’s time to hear some of my personal stories. You up for it?
It’s been a month at my software engineering internship, and all I wanted was to quit.
Imagine this.
You bag an internship at the R&D unit of one of the biggest banks in the country. You get exposure to an end-to-end software development lifecycle alongside sophisticated security protocols.
Simply put, it’s one of the best experiences a computer science undergrad could ask for. My friends claimed I should be blessed and lucky. Yet, I had no clue what I was doing.
I kept questioning myself, is this something I want to continue doing as my job? If not this, what then?
If you had such questions at some point in your career, this article is definitely for you.
In hindsight, I realized no matter how amazing the internship was supposed to be if it’s not a good match, it’s not the best for me. I even spoke to my friends; they all seem to be happy at their own workplaces.
So it was just me, a confused undergrad.
Fast forward to now, I’m a much more experienced professional, and you could probably tell from the title, I did become an ML Engineer. Now, I know exactly what I want in my career, and I work towards it happily.
It’s one of the rewarding feelings ever.
The best part: your life can transform for the better in a matter of few years. I’m not promising that it’ll be easy, but it’s certainly possible and sure will be worth it. Read on to know how I made this a reality.
I Secretly Called Myself a Machine Learning Engineer
I had questions, and it was time to look for answers.
I searched through popular job roles in glassdoor, freelancing sites, you know, those YouTube videos that list the high-paying jobs in 2017, and even some TEDx talks.
Data science was the field that spiked my interest. Slowly I understood the different roles in the field — data scientist, data analyst, data engineer, machine learning engineer, BI analyst, MLOps engineer. It might sound funny, but I analyzed the career paths, experiences, salaries, and every possible statistic available for these roles.
At that point, based on my strengths, I figured Machine Learning Engineer was the best fit, and so I made a choice. As stupid it sounds, I started calling myself a machine learning engineer.
Sometimes I’m amazed at my confidence in my early years. But then I credit most of my thought process to the books like The Power of Your Subconscious Mind and The Secret. I came across these books that talk about how you attract what you really want and how your thoughts eventually become you.
I firmly believe that you need to trust yourself first to become who you want to be. So I took it seriously that I’d designed business cards with my newfound designation. My laptop wallpapers read “ML Engineer.” My account passwords were something in the lines of “mlengineer123.”
You can tell I was obsessed with this whole thing.
The idea of “Acting As If” helps you transform your identity, and you will naturally be attracted to who you want to become. I recommend you read the books if you need more convincing, but tell me honestly:
If you can’t trust in yourself first, who else will?
Believing in Self Isn’t Enough — I Acquired Relevant Skills
The Law of attraction works, but you still need to take action.
The idea of calling yourself a machine learning engineer kickstart the acting as if you’re already one. It was certainly in my case.
I was excited to start learning data science as a beginner. I would binge-watch lectures by Andrew Ng on Coursera and complete the relevant assignments. I would follow experts in the field on LinkedIn and look for career tips they posted.
There’s still a lot of noise that courses can’t help you break into data science, but I didn’t care about it at all. Nobody became an expert overnight; everyone had to start somewhere.
The online courses help you acquire the relevant skills from experts worldwide for a minimal cost from the comfort of your home. Even now, I tell all my mentees to look for relevant courses on platforms like Coursera and acquire the relevant skills.
The article below does a good job outlining all the resources I used to acquire every relevant skill I needed.
Acquiring Skills Isn’t Enough — I Built a Portfolio
You might have the skills, but how can you demonstrate them?
Creating your own portfolio is the single best way you can brag about your skills. It’s so convincing, so convincing when it’s right there for the interviewer to see.
A good way to think about a successful demonstrable portfolio project is by questioning yourself if it covers all the typical steps of an end-to-end machine learning pipeline.
Did you clean the data, treat outliers and categoricals, build models, evaluate them, and deploy them? Did you try to solve a problem effectively and able to communicate it well? If you could answer these questions, yes, then you’ve got a project.
Aim to build at least one good project which you can talk about during the interviews. Most I built were out of curiosity or as a part of the nanodegrees I had enrolled.
When I worked on these projects, I had the only goal to demonstrate my skills. So here’s how I went about it:
- Create a GitHub repository for every project I build
- Use unusual datasets for these projects; by all means, avoid the common data sets such as Titanic Survival Prediction or Iris Classification, or MNIST Digit Recognition.
- Documented how someone else can follow the project through a README file in the Github repository and a blog post.
- Wrapped models into machine learning apps so the end-user can access my project.
You don’t necessarily need to follow these exact steps, but think on the lines of how you can leverage your portfolio to stand out among the crowd.
Building a Portfolio Isn’t Enough — I Networked My Way Through
People hire people. Companies don’t.
In my early days of job-hunting, I would bulk apply online for all the vacancies I see. I thought it was a numbers game, and I need to put myself out there.
I wasn’t getting any replies and was being ignored every single time. Then it struck me. I kept talking about standing out from the crowd, but I was doing what everyone else was doing when applying.
I wanted to do something different. Something that has a better ROI for my time. I started building connections in the industry. Here’s how I did it:
- Attended meetups and conferences in the location I wanted to work. Back then, there were physical meetups, so I would attend them and connect with people who attended.
- I started posting updates about my data science learning journey on LinkedIn and people from the same industry.
- I tried to add value to my network before I asked for anything in return. For example, I would suggest a useful course or a company with vacancies or connect someone with my other connections. There are many ways you can add value to your network, even if you’re a beginner.
- I requested referrals for vacancies in their companies. This single step fast-tracked me into many interviews and eventual offers.
- Most people are happy to help you when they see you’re enthusiastic and passionate about the field. If they couldn’t, be patient because they don’t owe you anything.
We need to realize it’s not the company offering us the job, but the people there. A hiring manager is a person; an interviewer is a person. So when they already know you, you’re going to get fast-tracked into the process.
If we have our skills and portfolio to back it up — we have nothing to worry about, my friend. You will receive multiple job offers, period. It’s a matter of time.
Networking Isn’t Enough — I Gave Up the Title
I bet you didn’t see this coming.
I want to tell you the truth about working in data science: The job title doesn’t matter; the kind of work you’d be doing matters. So before you get disappointed, please hear me out.
My first exposure to data science was as a data analyst intern. My first full-time role was that of a data engineer. That’s right — when offered, I gave up the title and took the job. Here’s what I asked myself then:
- Will I be learning something new every day?
- Will the work I’ll be doing have a real-world impact?
- Will I be getting exposure to an end-to-end machine learning pipeline?
In your case, if you answered yes to all three of the above questions, you should take the job. I’m asking you to give up the title because these roles vary from company to company. You can be called a data scientist while doing mundane SQL querying or be called a data analyst yet work on cutting-edge technologies. Both exist.
The goal was to become a machine learning engineer, not necessarily to have that as the first role.
That’s More Than Enough to Become a Machine Learning Engineer
From here, all you need is to quit the excuses and keep growing.
Research on the additional skills you require for the role. You know how to acquire them because you’ve done it once.
Say “hell yeah!” to opportunities as they come, even if you’re not ready for them because you’re never going to be ready anyway.
Keep growing, and before you realize it, your dream role will be in your hand’s reach. It was sure as hell was for me. During the first job I took, I was promoted to a Machine Learning Engineer in a year, the fastest for anyone in my company at that time. Not bragging but sharing my personal story.
Now, are these steps subjective? Yes. Do they come from my personal journey? Yes. Does that guarantee you the same results? No. If you fine-tune these strategies based on where you’re in your journey and where you want to be, will you be able to make your dream come true? I’m sure you can.
If a confused undergrad from a tiny island called Sri Lanka who had no idea what he was doing can find a way to make this happen, you sure as heck can.
Now, let’s do the work.
For more helpful insights on breaking into data science, honest experiences, and learnings, consider joining my private list of email friends.