Archive for March, 2008

Music and Design Patterns

Monday, March 24th, 2008

Jake Voytko examines the overlap between software and songs in Music and Design Patterns.


Chord changes aren’t represented in the core notation/language of the music, but you can use musical notation to spell out changes. You can also use shorthand languages to design the music. The sentence “12-bar in Bb, 2-5-1 turnaround, on my lead” gives away none of the implementation details (voicings/melodies, etc.,) yet the song is written in a breath.

Design patterns act the exact same way for programmers. They are, at heart, a common framework by which programmers can discuss a design. They can spend less time focusing on minutiae and more time discussing design and code.

Your Next Skill

Monday, March 24th, 2008

It’s nearly impossible to stay current in the world of technology. Today’s hot skill is yesterday’s irrelevant resume line. Picking your next language or framework is not an easy decision. How do you know where to invest your time? What should you really be learning next? Scott Hackett recommends something universal, but oft overlooked, in The Next Programming Skill You Should Learn. In short, “Learn to Write Well.”

Writing skills will last you a lifetime, though. You will always benefit from it, regardless of what language or technology your use, or whether you’re even a programmer or not. Good writing skills are universal and will never be replaced.

The ability to communicate clearly and effectively not only increases productivity and creativity between developers, but also with end-users, customers, and clients. Your skills are only valuable if you can articulate them.