If software engineers were composers…

I’ve been thinking a lot recently about the widely divergent approaches to software engineering I’ve experienced during my 15+ years in the field. It’s occurred to me that these approaches can be loosely compared to the way different famous composers worked. For example, some engineers are Beethovens. Driven perfectionists, constantly refining and revising their code, never content for it to be just “good enough”. Beethovens are utterly fearless about using “revolutionary” new approaches and techniques. They aren’t motivated by what’s fashionable or lucrative; their only concern is to blaze new trails and create radically innovative solutions that nobody has ever seen before.

Other engineers are Mozarts. Great software just seems to “pour” out of them, as effortlessly as breathing. They’re not so concerned with breaking new ground, but their code “just works” and is elegant and easy to understand and maintain. They are masters of the tools of the trade. They’re not always reliable though, preferring to avoid work, and don’t like producing on a deadline.

canadian viagra samples As soon as the eczema disappears, use Exzemax in the evenings before going to bed. In fact, experts opine that more opacc.cv viagra super active men are expected to experience the loss of confidence, enjoyment and the motivation for performing. Yes, if you are living in the UK, your levitra 20 mg http://opacc.cv/opacc/wp-content/uploads/2013/03/documentos_provas_Exame%20-%20Contabilista%20-%20Direito%20Laboral.pdf order will be delivered at your door within a few days, packed discreetly without any clues about its contents. In simple opacc.cv super generic cialis terms, it refers to any complication that thwarts a man or the couple from enjoying sexual activity. Then there are the Haydns. Steady, dependable, consistently cranking out one app after another like a machine. While the Beethovens and Mozarts work best on their own, Haydns are great delegators and collaborators. Their code isn’t likely to change the world, but neither is it likely to crash or contain bugs, and you can count on them to deliver on time and under budget.

It’s too bad Music History isn’t taught in schools any more, because this would be a great software engineer interview question: “If you were a composer, which one would you be?”. I wonder how many recent computer science students could provide an intelligent answer?

4 thoughts on “If software engineers were composers…

  1. I think I’d aspire to be John Cage, which is why I currently only code in a hybrid of F# and APL, running atop a VM of my own creation written in Forth.

  2. Hee hee! Yeah, and your code randomly integrates features of other people’s code, and the UI is a cactus wired up with electronic sensors. 🙂

  3. You’re forgetting the “modern” songwriters. What sprung to mind for me was Lennon/McCartney and the 60’s Motown “hit factory”. Many software apps today are going to be done with some degree of collaboration. For many server-side devs, they need to find a front end McCartney to their back-end Lennon. On larger (enterprise-style stuff) having a full supporting range of people who know their stuff and fill out the background regardless of who’s in front reminds me of the Motown of the 60’s. Whether it was a Smokey Robinson track, or the Supremes, or whoever, you had the same rock solid rhythm section holding things together, generally unrecognized, but certainly not unimportant.

    Just rambling a bit here – there’s probably a lot more examples people can come up with.

  4. Good observation, Mike. I was thinking mainly about people’s working style & habits, but you can also certainly make analogies to musical collaboration.

    I didn’t include Jazz composers here either (Ellington et al), though it’s tempting to. I was going for the ones most folks would hopefully know something about.

    Bach was definitely a major omission. Bach developers are a rare combination of the consistency & dependability of Haydn with the brilliance and fecundity of Mozart. Their only flaw is that they are somewhat conservative in their approach and their code is sometimes a bit more complex than necessary. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *