Job searching can be irritating at best and hopelessly frustrating at worst. This is particularly true in Data Science where the field is still relatively new and different people mean different things when they say Data Science (Data analyst, BI analyst, ML engineer etc). I’ve come to the end of my job search and I wanted to share some observations I’ve picked up along the way. This post is advice I would give to myself at the beginning of my search to make things easier and provide encouragement.
Job Searching is a Statistical Game
The nature of the process is that one will experience more rejections than offers. I made 45 applications in 2 months and received only 3 offers. This is normal, the majority of applications will end as rejections for a variety of reasons and some companies may never respond leaving one in a sense of queer existential limbo as they wonder if they ever even sent an application. The best thing to do is to accept this reality and cast the application net far and wide, even to companies that are not front of mind when it comes to Data Science. Most companies nowadays are trying to leverage data effectively and a set of skills that can analyse data are in demand.
How your CV looks matters
This cliche is true. My initial CV was two pages long and very detailed. It read more like as essay than a CV. So much the worse for me! My CV is now short, succinct and displays the most relevant work experience. As a result, the number of companies progressing me to phone stage interviews increased significantly. I even sent companies that previously rejected my CV a fresh application with the revised CV and got positive replies. Leaving aside what this implies about the meticulousness about their HR departments, it shows that having a well formatted CV will go a long way.
Many Job Descriptions are Rubbish
Many job descriptions and person specifications are misspecified and this becomes apparent when you get to the interview stage and the questions you face are very different from the ones you’ve prepared for by studying the job specification.
At one time, my application was rejected after a final stage interview and the feedback was peculiar – they said they I interviewed very well but they were looking for someone who has extensive experience putting ML models in production. Fair enough, the issue was that this was not mentioned at all in the job specification and the entirety of the interview did not make mention of it.
Expect this to happen frequently as companies figure out the nuances between Data Scientist, Data Analyst and Data Engineer. There is still much ignorance about what kind of skills are required for a company’s data problems and how they should construct their teams.
This is on them and not on you – one way I learned to filter these cases out is to ask very explicit and searching questions in the phone interview stage to gauge which type of Data Scientist a company is hiring for and whether that skillset matches well with my interests and profile. Don’t let a company waste your time, ask them good questions to understand the real job profile they want.
Interviewing is a Skill
I recall heading into my first final stage interview after over a year; everything up until this point had gone well. The company was good, I had all the relevant experience on paper and after 4 hours of interviews I was sure I would have a new job – at the first time of asking! What ensued were a series of gigantic blunders as I stumbled through the entire afternoon being unable to remember any of my past projects or the lessons I learned from them. Even writing code became like trying to perform integral calculus in a foreign language. Needless to say the answer from the company was an emphatic no followed by what I’m sure was a witch hunt to discover the persons who allowed such an ostensibly incompetent person like me to a final stage interview.
Here is where I learned the most important lesson – interviewing is a skill and like any skill it must be practiced in order to gain proficiency. I learned from my first experience and took it into a final stage interview for a different company. It went so well and I was for sure going to get a job offer – at only the second time of asking! The application was unsuccessful – again. The feedback stated that the reason for my rejection was because of a comment I made in the behavioural interview which made the interviewer think “I would not be set up for success in this role”. Back to the drawing board again.
Once I realised that I was not incompetent but out of practice, I made a document about the key projects I was apart of, what technical skills I demonstrated and what lessons I learned along the way. Moreover I collected the most frequent questions I was being asked and wrote up good answers for them that I would repeat formulaically (with company specific adjustments) in interviews. Over time this list grew until I was confident that I would have something useful to say on any topic I would be asked about.
It was not a coincidence that I got better at interviews as I went along and the key lesson here is that practice makes perfect.
Ask for Feedback
Related to the previous point, you should aim to grow after every rejection. Always ask for feedback after an unsuccessful application and use that to make adjustments for future processes. For me, this was adding to my notes I took into for subsequent interviews or improving some aspect of my programming in order to better demonstrate technical knowledge. Sometimes the feedback is not always helpful so it is good to reflect personally on the parts of the process that felt poor from your own point of view. Interviewing is a skill and improvement comes from making adjustments after unsuccessful attempts.
Don’t be afraid to ask for help either. I relied on a lot of my friends and colleagues to help me update my approach and methodology. You don’t know everything so don’t be afraid to ask how other people would approach a given problem.
Just Say No
Don’t be afraid to turn jobs down if you discover early on that you’re not a good fit. Jobs come and go and there is no point being dishonest to the employer if they’re progressing you and you know that you’re not right for the role. At one time I found myself progressing through a process for an early stage start up, the hiring manager was one of the co founders of the company and I was excited to be working with someone so passionate and focused on their business. As we talked it became apparent to me that I wasn’t what he needed however he seemed to be increasingly keen about me and eager to bring me onboard.
Eventually I recieved a job offer and the pay was very good. But it was clear to me that my set of skills would not suit the type of work he required in the business and I would be taking advantage of his ignorance about the different types of Data Scientists available. It was clear he required a specialist in an area where I had only partial experience. I ended up turning the offer down and recommending how he could refine his search for a more suitable Data Scientist. Firstly, it was the honest thing to do and secondly it would have exposed my shortcomings very quickly and very directly. If people don’t know what they want and you do then help them out, even if that means you won’t get the job.
Don’t take it Personally
The final piece of advice I would give to myself is to not take rejection personally. There was a period where every rejection email would cause me to despair for a few days before I would go again. The key lesson here is that interviews are not indicative of one’s capability – projects and day to day work is a better reflection of that. Data Science interviews are unrealistic representations of day to day work – even technical take home tests have this flaw.
I have done many exercises which I would deem to be ludicrously naive. It takes more than 2 hours to analyse a piece of data or “build a ML model” – you need context of the dataset, an understanding of the business requirements and familiarity with the data practices of the company before you can develop an effective piece of work as a Data Scientist. Companies may as well set a Kaggle exercise as homework.
The point is that interview rejections don’t define your competency in your field and every setback should be seen as an opportunity to improve. My number one advice to myself is to be serious but don’t take it personally, a good offer will come eventually – just keep at it.