Today I wanted to write about something that’s at the forefront of most Post Bacc student’s minds when they enroll in the program, getting a software engineering job. More specifically, the hoops that software engineers have to jump through to get a job compared to other careers, especially at a graduate level, technical interviews.
At first I looked at these interviews in a positive light. Coming from business roles where you’re just asked vague questions about your experience and the prestige of your school can make or break your career it was nice in some sense to have a more meritocratic approach to screening candidates. The more research I did, the more I began to notice a concerning trend. Over time it seemed the bar for technical interviews has gotten higher and higher. Interview loops that once consisted of easy DS&A questions were now asking medium questions. I think this is a direct response from the increased awareness and ability to prepare for technical interviews. Sites like Leetcode and dozens of interview prep classes out there have made learning how to game these interviews much easier for candidates.
My fear is that this incentivizes a never ending feedback loop. Employers raise question difficulty. Candidates study harder. Until eventually technical interviewers become a game of chance in a way. If a candidate has seen a similar question before congrats, they’ll get the job whereas if they solve a very difficult question in O(nlogn) time when the optimal is O(n) they’ll be laughed out of the room. This scenario is obviously hyperbolic, but the trend is still worrying.
I guess the problem lies in the fact that for such a technical and specialized field like software engineering, there’s no way to tell if someone knows how to be an effective software engineer. Compared to other “true” engineering fields where certifications provide signals to employers that a candidate is qualified for a job software engineering is the wild west in a way. This makes it so at least for the time being, software engineers will need to continue to prove their skills in a pressurized interview setting.
From an employer perspective I get the need for technical interviews, but is there a better way? The creation of a certification body for software engineers is an often debated topic. Some say the field moves too fast for certifications to keep up. Others say it would have a negative effect on schools and candidates. Platforms like CodeSignal have gone in this direction somewhat. They provide a standardized coding test that is supposed to give a fair way to evaluate candidates programming abilities and candidates can use it foir many companies in a given time period.
It’ll certainly be interesting to see how the interview process evolves in the future. Maybe this IS the best way and we should be thankful that we at least have a firm idea of what most employers will expect. On the other hand maybe a new way of interviewing that no one has thought of would bring better results for employer and candidates.