As part of learning Python I needed some data to play with, and what better than the spreadsheet I have been keeping to track my job applications. I thought that maybe I could learn something about the job market as well as data analysis.
Here are some fun findings, which will probably come as no surprise:
Many companies aren’t sending rejection emails at the end of the application process.
It’s a tough market: only 15% of jobs I applied to resulted in a first interview.
I passed 45% of first interviews and tech tests.
I tend to do better in front of people in non-automated processes (interviews and tech tests).
The type of tech test seems to be a huge factor to the outcome.
Detailed information on findings:
Figure 3: 57% of jobs I applied for sent me a response to say the interview process was over (in my case a rejection because I am still job hunting). I counted any speculative CVs I sent as a yes because I wasn’t expecting a response from them.
Figure 5: I think this highlights the importance of applying for as many jobs as you can. Only 15% of jobs I applied to resulted in a first interview. When I do get a first interview I get to the second round/tech test about 47% of the time. And I pass the tech test 43% of the time. The hard part is definitely getting through the door.
Figure 4: The same data as figure 5, but actual numbers. I think it highlights just how tough it is out there. As a career changer this was a surprise. It’s definitely hard for juniors.
Figure 7: There seems to be a trend for graduate programmes to have automated or asynchronous interviews where you record your answers, and/or scenario-based competency questions. I decided to have a look at my success when interview was automated versus not automated. I much prefer talking to a real person and my success bares that out, with 70% versus 0%!
Figure 8: For tech tests there seems to be three main types. The results look very polar! I love solving Codewars katas/Algorithmic problems, but I need more practice, I haven’t been doing them for years and don’t know all the archetypes, so I'm finding the strict time limit difficult. I'm not giving up however and will continue practicing (Update: Recently did a tech test interview and passed, so the practice seems to be paying off!). I tend to do better with interactive tests like pair programming, and when I have time to research to solve the problem (take-home). The sample size is small, however, and so may not be significant!
I think this project has confirmed to me how difficult data is to collect. Even though when I started collecting the data I knew what sort of questions I wanted answered, there was still a lot of cleaning and re-arranging. It was my own data, so I knew when there was a mistake or something looked wrong/missing - it’s going to be a much harder process when working with other people’s data.
I had to make some assumptions and decisions, for example, one company emailed me to let me know I passed their tech test, but didn’t get through to their assessment day because of the huge number of applicants. I decided to count that as “rejected at tech test”.
I wrote a lot of repeated code, mainly because I wanted to practice and get the syntax stuck in my head. There must be a way to refactor it to make it cleaner!
I want to create a dashboard to display the information and that updates in real time.




