It was all different in my day ...
Edulife Photos, used under licence from Shutterstock

It was all different in my day ...

I saw a promotional video recently for an AI resume maker that transformed a slightly pedestrian bullet point of “wrote code that is maintainable, scalable and efficient” into a selection of more specific examples, from which the CV writer then selected “Reduced the code base [sic] of a web application by 50% by rewriting the front end in React.js and the back end in Python”.

It made me slightly queasy, and with my own children now on the edge of looking for their first graduate level jobs, I thought it might be something of a public service to them if no-one else to explain how this looks from someone who hires software engineers for a living. It’s also worth busting a few myths around automated tracking systems and how they’re used in companies that you’d (hopefully) want to work for.

What do you use the ATS for?

The AI in a decent ATS is most useful for screening out candidates who could just never execute in the role. 90% or so of these are because they’d fail right to work or location based checks. If it’s a hybrid role with three days a week in the London office, a good ATS will flag candidate who can’t meet that either because of where they live (too far) or because of not having the correct right-to-work entitlements. If you’re willing to relocate at your own expense for the role, or you’re hanging on to a mobile phone number from your country of origin, it’s worth letting the recruiter know directly that the ATS might misinterpret this.

The ATS will, to some degree, filter on technical skills. This is not simple keyword matching (or at least, shouldn’t be). So, writing “Java Virtual Machine” in place of “JVM” is unlikely to score a miss. However, it does mean that just as with human-read CVs you should be clear on your technical skills. Describing them succinctly and correctly has never been more important.

How should I describe my achievements?

Let’s look at the example above. We went from:

“wrote code that is maintainable, scalable and efficient”

?to

“Reduced the code base [sic] of a web application by 50% by rewriting the front end in React.js and the back end in Python”

There’s quite a bit here that would probably do more harm than good if you’re using an AI rewriter at an early stage in your career. As a CTO my first question would be “what was it written in before?”. Because if you went into a darkened corner and unilaterally decided that a Django monolith as a back end was better than existing well-composed scalable microservices written in Java Springboot, maintained by the appropriately skilled existing workforce, I’d probably guess that the reason you’re now looking for a job is because you got fired, and the engineering manager didn’t care how much more compact your codebase is. Context is everything, and the context here is at best very absent.

The other options were also suspect, but we’ll focus on just one other alternative:

“Optimized the codebase to have a technical debt ratio of less than 15% and a cyclomatic complexity of less than 4 by improving the test coverage and refactoring the code to make it more readable and extendable”

?It sounds flashy but … how did you decide what was technical debt? 15% of what? Lines of code? but if you shrunk the codebase that means the ratio will have gone up not down? Question 2 … the entire codebase has a cyclomatic complexity of less than 4? Do you realise the way you've written this means that there are only ever four linearly independent paths through the entire codebase? If that’s true, how on earth do you still have technical debt of 15%? Accepting that, however improbable, all this is true (or more likely you meant that the average cyclomatic complexity of an individual function was below 4), how do you know? How was all this instrumented? Was the trade-off worth it? Do you really have more readable and extendable code? As judged by whom? And that's before we start talking about the before and after of test coverage.

So, you may feel the temptation to pick an option and lightly edit it towards something that looks good, and you may feel that even under pressure you could probably defend it. The problem is the person opposite you likely has decades more experience and the scars to prove it. You don’t know enough to know that the suggestion above is on the edge of comic. And not in a good way.

What about pre-canned video interviews?

This is about those platforms that require you to “answer to camera”, which is then analysed by a (supposed) AI to further screen candidates.

I am sceptical of the value of such platforms, but I might just be the wrong generation. The fundamental problem is that the platforms invite an AI arms race that has the same economics as information security (an excellent article on this is https://www.cl.cam.ac.uk/~rja14/Papers/sciecon2.pdf which, at its most succinct, explains that targets need to defend against every attacker, and attackers need to succeed against only one target). This means that the incentives are far greater to create real-time video manipulation of the candidate performance to screen out those signals the AI of the interview platform claims to detect. In the end, the defender (the video platform) will likely lose because it must defend against so many attempted manipulations, some of which will be successful.

The moment that happens, the platform loses credibility, and people will revert to either a highly selective 1-1 introductions between humans or will skip the process entirely because even that warm intro done virtually could be the subject of manipulation.

But that’s my view and I accept that candidates still must get through them, and it can be gruelling. But there is an answer: practice. Just practise delivering 30 seconds to camera again and again and again. About what you had for dinner. About your loved ones. Your pets. Anything. Because most of the signals the AI will be claiming to measure (raised breathing rates, stumbling speech, nervous tics etc) will be produced as much by discomfort with talking to camera as lack of certainty with the material of the question. Getting yourself into the headspace where the camera lens is a trusted friend will have a positive impact, and in a world where the number of screens and lenses is only ever going up, it’s a good skill to have.

What about whiteboard coding tests?

I hate them, partly because I am bad at them. But like talking to camera, it’s a skill that can be acquired. "Elements of Programming Interviews" and "Cracking the Coding Interview" remain valuable assets, and there’s any number of YouTube channels to help.

One thing to bear in mind with these coding interviews is that they tend to focus on algorithmic efficiency. There’s a more fundamental question here: why do you care? Of course we don’t want to write wilfully inefficient code, but AI tools are getting better and better at helping. The premium of humans in understanding and applying algorithmic efficiency at a level that can be demonstrated on a whiteboard is being reduced quickly. I think it's only a matter of time before far less emphasis is placed on performance here. So what’s taking its place?

Sociability.

Here’s the final thing I’ll write. If you’re a software engineer, you’re an artist. You’re a sculptor of 1s and 0s. If you worked in stone, you’d be instantly recognised for what you are, relentless in the pursuit of your creative endeavour. But the days when we as digital sculptors could work alone are long behind us. Understanding the human domain in which we work, the needs and behaviours of real people using our creations, the sociability that comes with working long and hard with others in good humour to create the best outcome. That’s what will make the difference. So all those other things that careers advisers are saying to put on your CV like that you were captain of the football team, you're a musician, you directed your own short movie, you volunteer at a shelter - yes, they're correct, they really do matter.

AI is light years from being able to reproduce that sociability, because ultimately it's a uniquely human experience. AI can be useful as a critical friend, and ChatGPT and others are good at highlighting and fixing the times we express ourselves poorly.

So with AI as your critical friend, aim for your CV to be uniquely human, and uniquely you. Even though the search can be hard, there will be a hiring manager will see and want the real you, not the AI filtered facsimile you just aren't.

?

?

?

?

?

Really insightful article Rich. I am sure many parents like me will benefit...and maybe few kids as well ??. This one should be on Insta.

Vanessa Neale

Snr Yardi Application Support Analyst

4 个月

As the parent of a recent college grad, finding her way in the world of internships and software engineering, I love this.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了