Last week, I wrote about how the way I perceived developers radically improved for the better during the past few years. This was partly due to a better understand of the law of supply and demand, showing that the value on anything on the market is based on the power balance between what’s needed and what’s provided. In other words, the more I need you (your service or your product), the more you can charge for it, and vice-versa. Today, I want to discuss my current perspective on the way developers are recruited, based on my experience. And as you’ll see, the law of supply and demand will again play a big part.
During my 5-years studies, I bought into the idea that my degree and some interesting internships were all I needed to get a good job and an interesting career. That’s the main reason why I focused so little on real software skills aquisition, and did the minimum required to pass the exams. This was due to two things. First, my university stressed the fact that we were an elite school and that the best companies would want to hire us simply because of the university’s name and prestige. So why bother becoming good when all I needed was a piece of paper easily obtained? Second, most of the recruiters I met during my studies showed little to no interest about my engineering skills and my passion to write great software. So again, why work hard to develop skills that were not even relevant to get a job?
However, things started to change when I tried to get my first job. I simply indicated on my LinkedIn profile that I was looking for a job, and dozens of companies started calling me right away. I interviewed with a few of them, and quickly got a few job offers.
This looks like a perfect world situation, right? A young graduate simply tells the market that he’s free and the market comes to him with a red carpet. But there’s a catch, and a big catch. All these companies had something in common. They were all IT services corporations with the same business model: hire an engineer, send him to work for a (any) customer, pay the engineer way less than what the customer pays you, and make a ton of profit this way. Rince and repeat.
And to join these companies, called SSII in French (“Société de Service en Ingénierie Informatique”), then renamed ESN (“Entreprise de Services du Numérique”) because they got a bad reputation, having a Master’s degree in Computer Science was enough. Not a single recruiter from big companies such as Atos, Capgemini and Alten asked me a single technical question before offering me a software engineering job. They knew that my university’s name would be enough to convince their customers to let me work for them.
At the time, this seemed normal to me. But today, this seems completely crazy. The truth is, most computer science graduates are unable to solve even basic software problems, such as the Fizz-Buzz question. So when you join these companies, you are surrounded by people who haven’t even mastered the basics. And when you work with amateurs, your software projects quickly get crappy: out of budget, out of delay, unmaintainable, etc., which leads to a lot of stress and the feeling of doing a dirty job.
I was horrified when I discovered this. But it was too late. The only companies that would be happy to recruit me as a software engineer were companies that didn’t care at all about skills and quality. No surprise then that the salaries were low and the working conditions terrible (your contract says that you can be sent anywhere in the country, and simply refusing would be a ground for firing).
I tried to find better companies, companies that cared about software quality (and thus the software skills of their recruits), but none of them would want to hire me since I didn’t possess these skills! I needed them, but they didn’t need me. When I tried to join Esker, my current company, as a software developer, they sent me a remote test that I was supposed to be able to solve in 2 hours but that I wasn’t able to solve in 6 (here it is in French if you’re interested; of course, the test has changed since then, otherwise I wouldn’t be sharing it here).
I got desperate… All I could do was join one of the companies I despised. Which I did. And sure enough, the first mission they found for me was an hour away from home. It was meant to start right after my first daughter’s birth, which would mean that even though I was the parent meant to bring her to daycare in the morning and get her back in the evening, I would be unable to do it…
A month after joining this company and right before my daughter’s birth, Esker called me back offering me a job as a technical support engineer, telling me that my people and language skills would be greatly appreciated. I wouldn’t be able to work there as a software developer, but at least, I could join a great company not far from home.
A software developer career was not an option for me anymore. My next quest thus became to climb the ladder in a management role.
In a coming post, I’ll share what I did to get back to development. It wasn’t easy, but it may well be one of the best decisions I’ve ever made. Stay tuned.