Here’s why it takes so long to write great code
PICK ANY TWO OUT OF THREE
Anyone who has worked in the industry and knows what it takes to become a developer will appreciate how unfair this kind of reaction is. Because it fails to account for the years of education, training, and experience that fully qualified developers must go through.
It fails to recognize the massive investment developers must make to become top-performing professionals. Developers aren’t just born, and they don’t just materialize out of thin air. They need education (and lifelong learning), real in-the-trenches experience, and unbridled passion for writing great code if they are to become capable of turning, often obscure business requirements into elegant code that does what it needs to do, no matter what an end user throws at it.
This kind of reaction also fails to accommodate the myriad of gates any complex software development project must go through – including initial client interviews, scoping, technology selection, development, quality assurance, integration, rollout, training, and maintenance, among others.
Developers – well, the good ones, anyway – don’t just scribble some quick code on the back of a napkin and call it done. And anyone who thinks that’s the key to a successful outcome may want to toggle their expectations a bit.
LISTEN TO THE FIREFIGHTER’S WISDOM
All of this brings to mind the late Paul Neal “Red” Adair, who achieved fame by putting out oil well fires that anyone else might have deemed impossible to extinguish.
He used innovations in technology and process to take on some of the most intense petroleum industry disasters in history, including the Piper Alpha explosion and the oil field fires deliberately set by retreating Iraqi forces toward the end of the first Gulf War.
He’s a well-deserved legend in the energy industry, but he’s perhaps best known for a quote that resonates in the tech industry to this day:
“You can have it done fast, you have it done cheap, and you can have it done well – pick any two.”
I’ve lost count of how many developers, project managers, CIOs, and other professionals have this very quote framed in their offices. If you’re going to put one thing on your wall, this should be it.
CAN YOU REALLY HAVE IT ALL?
Adair’s words reflect a stark truth that applies to all projects, but especially technology-based ones. It is that the level of training, expertise, preparation, and background simply to get to the position where a developer is qualified to bid on a project are far more profound than the casual observer might appreciate.
To a certain extent, it’s similar to someone who refuses to bring their car to a qualified mechanic because they perceive them as being too expensive. The cheaper mechanic who services cars in a shadowy driveway may indeed have a lower hourly rate, but there’s probably a good reason for that – and for why the qualified mechanic can justify a higher rate.
Many of us learned from our parents that you get what you pay for, but for some reason we often forget that simple lesson when we first lay eyes on a quote and realize the number is bigger than we’d like.
What that number represents is multifaceted. Qualified developers, just like qualified professionals in any industry, bring so much value to their roles, including:
- Longer, higher-quality education and/or training, industry certification, exposure to crucial coaching and mentoring opportunities, time spent with community resources, and practice, practice, and still more practice.
- The ability to get the job done in fewer hours, at a higher level of quality and robustness.
- Access to tools and processes that are off-limits to lesser-trained professionals.
- Confidence that the client can get back to the business of running their business, or leading their life, whatever, without worrying that the software will fail – or the car will leave them at the side of the road.
- Deeper business experience that allows them to ask the hard questions and fully explore the resulting options instead of taking on projects at face value and failing to align their solutions to specific business needs.
Barely-qualified developers, just like shade tree mechanics, don’t stand behind their work as much as those more qualified. The mythical high-school-coder-nephew may eventually learn how to be a fully qualified business partner who anticipates critical issues, confidently suggests solutions, then crafts artful, elegant code. But not now, and not at any price.
All of this reinforces a simple truth when we ask for quotes on certain services: we ultimately get what we pay for. And if we fail to appreciate what the professionals who provide these services are bringing to the table, we shouldn’t be surprised when our corner-cutting strategy ends up costing more in the long run.
Red Adair was right then, and his words remain right today.
Want to learn more? Reach out to us anytime.