Eliezer Talón Software Engineer

Books I read in 2021

In the same vein of filling the gap without publishing between 2020 and 2023, here’s a list of the books I read in 2021.

Debugging Hiring

When I took on a more active role in recruiting engineers at work, I wanted to understand how we could improve the overall experience for candidates. I stumbled upon “Debugging Hiring: What Went Right and What Went Wrong in the Technical Interview Process”, by Mahnaz Behroozi, Shivani Shirolkar, Titus Barik and Chris Parnin, while searching for material on this topic.

Their research focuses first on analysing thousands of candidate reviews on Glassdoor to find out the main hurdles in the process. Then they present the results, which seem to confirm what many of us intuitively already knew: most hiring interviews are terrible. Finally, they recommend a number of measures that can be taken to try to improve the situation.

One interesting aspect about their findings is that the focus is not just on the experience of candidates, but also on the cost of these shortcomings to companies. First from a financial perspective:

Finding qualified candidates is a substantial investment, and hidden costs from engineers in a company –spent on interviewing and evaluating candidates– quickly add up.

and then from a “marketing” perspective:

Negative experiences from candidates have residual effects for the company beyond that of the candidate. […] Recent studies show, for example, that negative reviews about the hiring process of a company can demotivate more than 55% of job seekers from applying to that company.

Assuming it’s true that there’s a labour shortage (cough go remote first cough), on top of that half of your prospective candidates decide to look somewhere else based on the reputation of your recruitment experience. Take a moment to let that sink in.

Sadly, and despite all evidence, our industry seems to have accepted that this is just the way things are.

Does Stress Impact Technical Interview Performance?

The authors of “Debugging Hiring” continued their research and published another article: “Does Stress Impact Technical Interview Performance?”. This time they focused on understanding if the way technical interviews have been traditionally conducted might be actually discarding otherwise valid candidates:

While technical interviews should allow for an unbiased and inclusive assessment of problem-solving ability, surprisingly, another possibility is that technical interviews are instead a procedure for identifying candidates who best handle and migrate stress solely caused by being examined by an interviewer.

Again, their findings are not surprising for those of us who have been long enough in the industry, at both sides of the table: yes, stress does impact technical interview performance. Moreover, participants in a traditional interview format:

  • Obtained significantly lower scores
  • Experienced significantly higher cognitive load, associated with having to “think, talk and code at the same time”
  • Experienced significantly higher stress levels
  • Felt “very nervous” and “unable to concentrate” as a result of being watched

They finished their work with some recommendations to try, admitting that they require further evaluation and should not be blindly adopted.

If you do technical interviews as part of your job, I encourage you to read this article (and its predecessor) and think about how you can make things less painful for candidates. You might not be able to change the practices of your employer, but you can always show empathy and be kind with another human being.

The SPACE of Developer Productivity

The SPACE of Developer Productivity is an article by Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck and Jenna Butler that presents a framework for understanding developer productivity. The SPACE acronym represents the following dimensions:

  • Satisfaction and well-being
  • Performance
  • Activity
  • Communication and collaboration
  • Efficiency and flow

I found the article a sobering approach to the topic. First because it dispels several myths about developer productivity, which is a necessary step to avoid simplistic solutions. And secondly because it acknowledges that, as any problem involving people, knowing how to measure it (or even define it!) is difficult and cannot be reduced to a single dimension or metric.

The framework is new and I’m not sure yet how effective it could be in practice. But I think it can help you approach the problem holistically if you’d like to propose improvements to your team.

99 bottles of OOP

I’m a big fan of Sandi Metz’s talks about refactoring and when I saw that she had published a book on Object-Oriented Programming (OOP), I had to read it.

99 bottles of OOP teaches the basics (and not so basic) of OOP from a practical perspective, rather than theoretical. I mean, there’s theory in there for sure, but cleverly disguised as solutions to increasingly complex problems. It’s always a pleasure seeing how Sandi unpacks so much knowledge in so little space, explained in such an approachable manner. There’s definitely art in making complex things look simple.

Even if you have been doing OOP for a long time, the book is a refresher of good habits that you might have forgotten and a reminder that not everything that’s described as OOP actually is.

Largo Pétalo de Mar

My wife knows I love history, so she recommended Largo Pétalo de Mar (Spanish for “A Long Petal of the Sea”) to me after she read it. In this book Isabel Allende tells the story of two friends over several decades, starting from the Spanish Civil War and ending with the 1973 Chilean coup d’état and the consequences that followed.

The novel tends to focus on the personal drama of the protagonists, rather than the historical events. But these are undeniably present, as they play a fundamental role in the course of their lives. Especially when it leads them to emigrate to Chile, where a large part of the story unfolds.

The idea that remains in the background the whole time is simple, but powerful: in the end, life is about people and we almost always have no choice but to adapt to what comes our way. Because for better or worse, there is a majority that is often at the mercy of a few.

Being from the Canary Islands, this novel had a special meaning for me. For historical reasons our people and our culture have always been halfway between Spain and Latin America. And I suppose that’s why I personally have a certain sensitivity for the problems that Latin America has had in recent history. No wonder Residente sings “I forgive, but never forget”.