Magpie Developers & Their Opposites

October 29, 2020
Ryan Findley, Principal
Philadelphia, PA
“I’ve often thought that software developers were akin to Magpies, birds notorious for stealing shiny items to decorate their complex nests. Like Magpies, software developers are unusually smart and curious creatures, almost by definition. But we are too easily distracted by shiny new toys and playthings.”

Jeff Atwood, co-founder of Stack Overflow

I think many developers ignore this observation because “Taking this reasoning to its reduction ad absurdum would mean picking Java and then trying to implement a website without using anything else at all. That would be crazy. You need some means to add things to your toolbox.”

”It is basically always the case that the long-term costs of keeping a system working reliably vastly exceed any inconveniences you encounter while building it.” —Dan McKinley

We all know someone who jumped from tool to tool and eventually settled somewhere. Whether it’s Java, PHP, Cobol, or (in the case of Neomind) Ruby, finding tools you love to solve a particular problem and sticking with them can lead to a depth of understanding familiarity that completely changes the game. I believe this happens to developers when they get tired of the endless churn of new technologies, and as they start to care more about maintainability.

I’m not arguing that Ruby on Rails is the best tool for every job or that it’s so good everyone should stop inventing new things. On the contrary, I love that people are always experimenting, and I love playing with their experiments. But it would be unprofessional and irresponsible to use every shiny new thing on the types of long-lived assets most people are building.

Why is it unprofessional and irresponsible to use shiny new technology?

Many new tools and frameworks implement sweeping changes after their initial versions, making the upgrade path virtually a rewrite from scratch. A new fad replaces others and fizzles out. Marketing sites, special seasonal initiatives, or one-off applications that serve a limited need have lifespans measured in months. On projects like these, longevity and maintainability don’t play a role in the decision-making process, and developers are free to experiment with whatever new tech they choose.

Most of the projects we see have lifespans measured in years, and yet what is the decision-making process for choosing the platform? Projects governed by the tech-fashion-trend of the day.

unlambda meme

Using new/unproven technologies on projects like these would be an irresponsible waste of other people’s money. Failing to consider the lifespan and maintenance needs of the project when choosing a framework would be nothing short of unprofessional (and as someone who uses Zoolander memes in his blogposts, I know a thing or two about professionalism). Yet, many developers make their technology choices purely from what will be the most fun for them. Bored developers find a little “Resume Driven Development” hard to resist.

Even worse, many managers allow this kind of decision-making to “keep the developers happy” and hopefully reduce turnover costs. Many times, the developers only stay a little longer, and there’s a trail of disjointed, unrelated, hard-to-maintain experiments left in their wake.

Choosing a framework whose longevity and maturity reflect your application’s likely lifespan and needs is an important consideration. There are no guarantees, but choosing an immature platform with a small or disengaged community can be a costly, unprofessional mistake.

“Mindful choice of technology gives engineering minds real freedom: the freedom to contemplate bigger questions. Technology for its own sake is snake oil.” Also Dan McKinley.

Recent Blog Posts

September 20, 2023
Sustainable Development: A Path for Apps and Developers
In the world of app development, sustainability means creating software that not only solves today's challenges but is also designed to adapt and evolve, efficiently facing future needs. Whether you’re a developer or a project manager, consider this your friendly guide to building software that lasts—without wearing out your team in the process.
August 21, 2023
Job Hunting 101: A Guide for Frustrated Ruby On Rails Job Seekers
Are you a seasoned Ruby on Rails developer struggling to land your dream job? Or worse, any job at all? Applying to cold jobs across many industries is a nightmare right now. Maybe you’ve fired off rounds of applications each day, with only a few resulting in an interview that ultimately leads to nowhere. Or, you’ve spent hours applying to jobs that you’re qualified for, but you never even hear back.
July 6, 2023
Ruby on Rails: A Path to Sustainability for Apps and Developers
Ruby on Rails is a sustainable choice for both app development and developers. This open-source web application framework is renowned for its simplicity and flexibility, enabling the swift creation of robust applications.
May 18, 2023
The Scammer's Playbook: AI, Voice Cloning, and the Timeless Art of Deception
As AI continues to evolve, so too does the concern that we'll be effortlessly swindled out of our personal and financial information by cyber tricksters armed with voice cloning technology.