Fashion-Driven Development

Posted October 14, 2013 by Joshua Kerievsky

800px-Slava_Zaitsev_fashion_show-2

In his foreword to the book, The Joy of Clojure, Steve Yegge shared this insight:

"The global programming community is fashion-driven to a degree that would embarrass haute couture designers from New York to Paris."

Are you using the very latest languages, frameworks, tools, databases, platforms and UIs?

Or are you stuck on yesterday's tired tech?

Fashion-driven developers are using Y before you know that X isn't hot anymore.

Soon you'll be seeing blogs called "How to Produce X-free Solutions", tweets claiming that "X is Dead", a #NoX hashtag and a conference talk called "The Joys of Y".

You will feel so uncool if you are fashion-driven and still using X.

Even older programmers succumb to being fashion-driven, just as an aging parent might don a new denim jacket to feel young again.

Are You A Fashion Victim?

A fashion victim doesn't realize that their obsession with trends has led them to cross the line into looking completely ridiculous.

Does this happen in tech?

Rich Hickey, inventor of Clojure, thinks so.

In his talk, Simple Made Easy, he said:

It's like "Oh, look, this thing has this benefit, oh great, I'm gonna do that!"

"Oh but this has that benefit, oh that's cool, oh that's awesome. Oh, that's shorter!"

You never see in these discussions, was there a tradeoff, is there any downside, is there anything bad that comes along with this?

Never, nothing. As programmers, we're looking all for benefits and we're not looking carefully enough at the byproducts.

How expensive are the byproducts of new tech fashions?

The more obsessed we are about fashion, the less we pay attention to our budget.

Kent Beck once said:

"Software development that doesn't recognize economics, risks the hollow victory of a technical success."

Is your new hot tech thing replacing a perfectly good solution, thereby digging a deeper financial hole and failing to improve any key metrics or business outcomes?

Playing Dressup

Like kids who love to dress up and pretend they are someone else, techies have the urge to try on new tech, see how it feels, what it looks like and what others think of it.

This is healthy and useful.

Books like Seven Languages in Seven Weeks are like dress-up boxes for techies, providing endless fun, education and possibilities.

New tech may in fact yield significant advantages over older tech, like simpler solutions, reduced costs, less maintenance, better usability, etc.

And staying up on tech trends may help attract other fashion-conscious talent to your organization.

Fashion Makeovers

On the TV show What Not To Wear, a team of fashion stylists revamp the look of people who were nominated by their friends for makeovers due to their lamentable appearance.

Our field has no end of lamentable legacy solutions in need of a tech makeover.

For whatever reason, some people remain profoundly unfashionable, living with tech stacks and tools that were outmoded ages ago.

Such outmoded tech became unfashionable because people found better, less-awkward, less-problematic solutions.

Paying too little attention to tech fashions is equally as problematic as paying too much attention to them.

Classic Fashion

Astute fashion people are students of history: they know about forgotten periods of fashion as well as looks that never go out of style.

When Rich Hickey invented Clojure, he was yearning for a classic style in programming: a return to LISP, a language invented in the late 1950s, early 1960s.

He knew that functional programming wasn't a fad (an intense, but short-lived fashion trend) but rather an enduring idea.

Regardless of age, classic tech fashions never go out of style because they are extremely useful.

If you want to be fashion-driven in tech, pay attention to what genuinely helps produce safer, simpler, better designs and what just masquerades as "new & improved."

  • Dave Astels

    “The Pragmatic Programmer” says much the same: you’re better off using tried & true technologies that you understand all the tradeoffs of.

    That said, it’s extremely useful to gain familiarity with new & different tech to gain insight and inspiration even if you never use it in production.

  • Pingback: Fashion-Driven Development - Industrial Logic |...

  • Aneesh

    Great post.

    I see a lot of people now yearning to jump from one tech stack to another without really delving deep into any one of them. I think this is mostly prevalent in the application software development industry and especially software services.

    Depth seems much less in demand than breadth these days. No one wants to peek under the hood. Most people just want to “know” a lot of things than build something cool with what they know. The craft itself seems to be undervalued than the tools. And of course if you don’t thrash another language a few times a week, then you will no longer be fashionable.

  • MattSoutherden

    Can’t see how we’re supposed to take this blog seriously when it’s running WordPress.

    :D ;)

    • http://msync.org/ Ravindra R. Jaju

      Why?

      • chrisedebo

        WordPress is sooooo last week.

        • http://msync.org/ Ravindra R. Jaju

          Sure. Why does using WordPress, though, make the message above any worse. And why would using any new shiny platform make garbage any better?

          Writing a blogging engine only to blog about your thoughts makes no business sense in most cases. Unless you are WordPress! :)

          • MattSoutherden

            Note to self: Never attempt humour in comments.

            *facepalm*

          • http://msync.org/ Ravindra R. Jaju

            You *should*! It was fun, and then it was fun. First when I missed your smiley, and then, when I realized, some more fun in an embarrassing way. :)

            PS: I deleted my comment when I realized, but it stuck around as *guest*.

          • Joshua Kerievsky

            Matt, FYI, I got that your initial post was in jest. No worries mate!

        • Tim Ottinger

          :-D !!!!!

      • Tim Ottinger

        Excellent, Matt!

  • Tim Ottinger

    The equal and opposite fallacy is to stick with the one language you use at work and never learn anything else.