Discover more from Below the Surface
Dive 45: What separates average engineers from the Greats?
Hey, it’s Alvin!
For those new here, I’ve been making software professionally for over a decade. I also studied Industrial Engineering in university. And while engineering and software development might sound different, they’re the same at their core. “Engineer” and “software developer” are just fancy titles for problem solver.
So, over the years I’ve met lots of problem solvers who were talented, and others who were… not so much. And there’s one key distinction between an average problem solver and a Great one:
A Great problem solver keeps it simple. An average (or bad) problem solver makes things more complicated. Put another way:
A Great problem solver looks to remove the problem first.
An average problem solver looks to add solutions first.
Let me give you an example of what I mean…
A while back, I read an article about how more job seekers are using AI to generate their cover letters for job applications. And there are human resources (HR) consultants who are quite impressed with the quality of those cover letters.
That got me thinking: if the quality of cover letters is increasing, then it could become harder for HR people to rely on cover letters to filter applicants. It could become a problem for HR.
When I posed this problem to some online software development communities, I quickly got lots of solutions…
No problem. I’ll build a tool that ingests all the cover letters for a position, detects the use of AI, and filters them out.
No problem. I’ll build a tool that ingests all the cover letters, then ranks them by quality with a score weighted for how much AI use was detected.
No problem. I’ll build a tool that summarizes each cover letter in no more than 3 sentences.
I love the enthusiasm. I really do. And I can hear all the entrepreneurs and startup founders right now… “wow! Check it out. Three free product ideas. Right there.” You just have to validate them, market them, and build them. Then, BAM… you’ll make lots of money.
I’m kind of joking, but not really. You could probably take each of these ideas and make money off them. You have my blessing.
But personally, I don’t think these are the best solutions to the problem. Because they only offer marginal benefits. HR will (theoretically) have less work filtering and ranking applicants. Or they might need less time reading cover letters. But there are also recurring, operational costs that will add up over time for the hypothetical HR client:
There will be a subscription fee for enterprise-level technical support.
HR staff members need training to use the software.
There’s no guarantee these tools will weed out all poor quality applicants, so attrition is still a cost.
This is an example of a solution that creates more problems.
But the best solution shouldn’t give more headaches. And if it’s easy to craft an even better solution, then clients will quickly move on to that solution. That means you’ll make less money in the long run crafting crappy solutions.
The best solution is one that removes the root cause(s) of the problem.
Of course, in the real world, we’re limited by constraints like time and money. So, we can’t always just remove the root cause if it’s too costly. But you have to understand the problem well enough to identify the root cause to know how expensive it is to remove it. Then, devise solutions on how to remove it permanently in the most cost-effective way. What’s important is:
A quality problem solver always looks to remove the root cause(s) before looking for workarounds.
There are techniques engineering students learn in university to understand a problem and solve it. I won’t dive into them here because they’re enough to fill textbooks. Email me or leave a comment if you’re interested in learning more, and I’ll share what I know in an upcoming dive.
To understand the root cause of the cover letter problem, we could ask, “why?” Then keep asking why until you identify the root cause. Some call this approach “the 5 whys.”
For example, why do we need cover letters in the first place?
Some say it helps the hiring manager know why the applicant is a good fit for the job based on their skills, experience, etc.
OK, but why do we need cover letters for that? Why isn’t a phone call good enough?
Well, maybe there are too many applicants.
OK, but a résumé (or CV) summarizes skills and experiences. Why not just ask for a résumé?
You get the idea.
Most companies already collect résumés and cover letters as part of an application process. So, if résumés are good enough and cover letters aren’t needed anymore, then maybe we can just get rid of the latter.
The initial problem was that there were too many cover letters to filter through. So, if cover letters are no longer needed, then we will have removed the root cause of the initial problem. And we will have done so without adding extra software that costs money to maintain and train for.
The lives of HR people would be simpler.
The lives of job applicants would be simpler.
The company hiring people would save money.
The ONLY downside is that the problem solver would make little to nothing with this solution. They might get a consulting fee. But that’s nothing compared to building and maintaining a complicated software system for those who would pay a recurring fee for it.
That being said, maybe you have an HR client who has a legitimate reason for processing cover letters. That’s fine. I’m just saying that a problem solver’s first response to a problem shows you whether they’re average or Great.
The average problem solver will offer you new tools right after you describe the problem you want solved. The Great problem solver takes time to understand the problem methodically, so they can remove the source(s) of your misery and make everyone’s lives simpler.
I hope you enjoyed this dive Below the Surface of quality problem solvers. Reply to firstname.lastname@example.org if you have questions or comments. I’d love to hear from you.
Thank you for reading. Solve those problems. And I’ll see you in the next one.