loading...
Cover image for Hype isn’t a use case

Hype isn’t a use case

liquid_chickens profile image Chris Dodds Originally published at chrisdodds.net on ・3 min read

A few months ago, a recruiter sent me a LinkedIn message with a link to a recruitment video.  I’ve been seeing more of these lately, but this one was particularly impressive at how quickly it turned me off from the company.

It described their idea of a tech utopia, a place where developers could use whatever technology they desired.

“Read a blog post about something new in the morning. Deploy it to prod in the afternoon.” said a developer vibrating from over-caffeination.

“Pick the tools and languages you want. Every team is using something different.”

“We’re on the cutting edge, innovating like crazy, using tech you won’t see anywhere else.”

Everything about the culture they described seemed terrible.  Sure, the people looked happy and engaged, but what the video communicated to me was “This is a portal into a chaotic hellscape of pain and suffering. God help their Ops team.”

These were kids playing with toys: not developers. Look closely, and you’ll see one or two of these folks in most dev groups. They pick their tools based on the latest blog post they’ve read, chasing technologies like a brain-damaged squirrel.

They’re either not in the on-call rotation or are OK with not having a life outside of work. The things they build are always fragile or in some way broken.

It’s a new package manager!

Corralled by a good manager, these guys (and they are always guys) can be solid members of the team who do, in fact, drive innovation and get people thinking about new ways of doing things. Left to their own devices, though, as they often are, and pretty soon the building will be on fire. Granted, it may be a spectacular fire.

Sometimes, this shiny-penny chasing is actively encouraged (as at the business in the recruitment video). These are places where leadership and staff have confused tooling innovation with business innovation. They have a culture where no one ever asks “Will rewriting our entire app in Haskell give us a competitive advantage?” (The answer to this is always no.)

Nor do they ask:

  • Who else is using this?
  • Where would we get support?
  • Is it well documented?
  • Does this actually do what we think it will do?

And so on.

I’m not arguing that people shouldn’t get excited about new technologies, just that there needs to be some prudence when picking tools.  It’s better to innovate in the business, in the product and processes, not the tooling.

For the business to succeed (and for you to have a job long-term), it’s better to use proven technologies that have had time to bake, develop community support, and for the crazy early adopters to figure out production problems. “Well-documented and supported” is way more important than shiny.

So is “right”.  Established tools with a lot of hype that don’t fit the problem being solved are just as dangerous as the new-born ones.

If you’re on a team with or managing some tinkerers, ask questions and help guide them towards good decisions. Make them think through scenarios like “I just read about MongoDB and it’s awesome. We should use Mongo!” and arrive at “All of our data is relational. We should NOT use Mongo.”

Help them think like a carpenter. Using an old hammer doesn’t keep you from building an awesome house. In fact, having tools you know and can trust will let you take risks elsewhere and push boundaries you might not have otherwise been able to if all your tools are in 15 different variations of “on fire”.

Play with new tech. I’d even argue that there needs to be sprint time dedicated to testing and playing with new stuff. Keep pushing forward and learning, but for what you put in production, pick the boring stuff, the tech you know you can count on.

Resources like Thoughtworks’ Tech Radar are really useful for figuring out which technologies are in the sweet spot of new enough to be relevant but established enough that you won’t be out on an island. If you’re in the enterprise space, resources like Gartner are also handy.

This is the stuff that separates kids from adults, and the successful from the burnt-out husks. Choosing technologies responsibly isn’t sexy or exciting, but it’s wise, which is discounted far too often. It also shows kindness to your teammates and co-workers – the people who are ultimately going to have to deal with the downstream effects of the decisions you make.

Posted on Apr 13 '17 by:

liquid_chickens profile

Chris Dodds

@liquid_chickens

My background is in traditional enterprise infrastructure, but the last few years I've focused on cloud and automation via DevOps.

Discussion

markdown guide
 

It's hard to get this right.

I worked for big corps who refused to use new tech that could have saved them much money.

I also worked for start-ups where we used all the new shiny stuff just because and most of it didn't have support for more than a year because maintainers stopped maintaining or companies closed.

 

The more exposure I've had to different technologies with more experienced developers, the more I've come to slowly learn all these lessons myself. I felt kind of "let down" at an Ember app, for instance, before learning how it has all the essential benefits of being a well-establish, scalable tool.

 

LOL, this is GORGEOUS. And very true. I wrote about this a while back, logging this personality type in my "Field Guide to Common Nerds" as species Programmaticus Trendicus. (I just published that article here on dev.to, if you're curious.)

Just FYI....ohhhh yes, there are some ladies who chase shiny tech fads too.

 

Definitely agree. The advantage of existing tech is that it's battle-tested, it's been put through the paces and has adapted to a wide range of problems. With new tech you don't have this guarantee.

Dan McKinley has an excellent article on this topic.
mcfunley.com/choose-boring-technology

 

DAMMMMN this really gets to the point. Really well stated.

 

The opposite problem is "Amish programmers" coming with proud statements such as "I write all my Java code in Notepad".

 

I bet those "amish programmers" write good code that works properly though...

 

Your thoughts are very close to my feeling about the trends in our industry.

Let me share with you my advice: How To Choose a Technology For a Commercial Project.