For the last 2 months or so, I’ve spent a huge part of my days doing job hunting activities, more specifically for data related jobs(Data Scientist and Machine Learning Engineer). I really felt that this experience was very enriching for me, despite being a very tiring one also. I’ve made a lot of mistakes along the way and tried to improve myself for each and every one of the applications that I did, so I thought that sharing these experiences would be valuable for someone.

EDIT: to make the post more valuable, I think that sharing my background is important. Keep in mind that I’ve just got a BSc degree in Computer Engineering. You can find more detailed info in my linkedin.

Lesson #1: Get Practical

For some, this should be pretty obvious, but let me tell you a story about it. In my very first job application, I was pretty much nailing the technical interviews(mostly with statistical toy problems) and it seemed like I was fitting well in the company culture, but in the last step of the process(a 2 day in-house trial), I received a negative feedback. The position was very business focused(like most DS roles) and I was more worried about the theoretical aspects of the problems that I faced in the trial(I was completely blind about this before they said it).

I became quite frustrated for a few days after this feedback, but only in some rare cases you have the opportunity to receive brute honest opinions about your skills and have the chance to improve yourself. This events made me realize how “unpractical” I was in fact. And I think the reason was that my mindset was basically “learn everything”. But ideally when you learned enough DS to hunt for a job, you have to change your mindset to “apply and generate value”.

I’ve always said to myself “work on that Kaggle competition only after you learn some more techniques” or “try out that new tool, instead of completing a personal project”. But I can’t stress this enough, participate in some competitions. Kaggle can be a very friendly source of knowledge if you do things right. My advice is to learn the basic tools for data science in R or Python(I prefer Python, because it is general purpose, but some prefer to use R) and start exploring tutorials of very basic competitions, like the Titanic one.

Data Science Wars!

After that, take an active competition and try it out, if you don’t know how to start, go to the forums, people share amazing information there. Also with the addition of Kaggle Kernels(jupyter notebooks hosted by Kaggle), you have access to great starter solutions to these problems and you can learn a lot just by reading the code.

What is more amazing is that champions usually share the strategies that they used in past competitions, so you literally learn from the best!

The bottom line is: Build a portfolio of projects/competitions! It will help you not only in making you more prepared to tackling the technical challenges that companies will send to you, but it will also help in enriching your CVs(yes, plural). Speaking of CVs…

Lesson #2: Apply for every position you find interesting

This is really one that is though to learn. It is hard to maintain balance in the quality of applications vs. quantity. My initial strategy was to value quantity, using only one CV to apply in every role. But I started to feel that this was pretty ineffective, so I customized my CV for every job I applied. Obviously, the conversion rate (by conversion, I mean advance at least to the technical challenges phase) raised, but the volume of opportunities diminished.

In the end, I realized that I need no more than a half dozen CVs, each of them highlighting some parts of my experiences. Let me give you some ideas: data positions that focuses more on applied research values publications and/or research experiences. Machine learning engineer ones are very different, besides ML skills, you have to demonstrate strong backend developing experience(RESTful APIs, maybe some DevOps and cloud). For business focused positions, maybe you should demonstrate that you have a lot of potential, good communication and leadership skills.

So don’t be lazy and write at least three different CVs and start hunting, which leaves another question, where can you find these jobs?

Lesson #3: Be realistic

If you didn’t realized it yet, let me tell you, data related offers are extremely competitive to receive. If you don’t have a MSc or PhD degree(related work to DS obviously), and live outside of US and Europe, you are very limited to what countries you can apply, unless you have a lot of professional experience. Believe me, I tried to apply to lots of companies in these countries, usually not even a feedback I received, or the feedback was simply “sorry, we could not provide a visa”.

But there are two countries that I found to be an exception, and if you search well you can find more accessible junior positions there(use LinkedIn): Germany and Netherlands. They are very flexible to let people from outside work there and I think it is worth giving a try to these countries.

The last one, I think is the most overlooked.

Lesson #4: Know Yourself

If you are like me, you prefer to work in startups and more fast-paced companies than bureaucratic and process-heavy companies. Specially in the case of startups, culture and values are very important to the people that will hire you. Technical interviews and take-home challenges are very important to focus, don’t get me wrong, but just as important is to reflect about what you want to prioritize in your career and even in your life.

Besides technical tests, I had hundreds of conversations about culture and values with HR people, data scientists, CTOs, COOs and CEOs. And these people tend to ask pretty deep questions about you, your decisions, why you left the companies that you previously worked with. If you don’t know yourself well, you can’t answer these questions with honesty and end up seeming like a very superficial individual.

Take some time everyday to reflect about these things and what did you like or didn’t in your previous work environments. In your first interviews, maybe you don’t answer those questions very well, but with enough practice(that is one of the reasons I advised to apply for a lot of jobs), you will have good answers to almost all “soft” questions that recruiters may ask.

I hope my mistakes can help in your job searching. If you think there’s something you don’t agree here, or if you want to discuss or add something, leave a response down below. Cheers!