I imagine the method in which I write code resembles a composer arranging the structure of a musical piece. Like a musical composition, code can consist of many individual movements, each with their own personality and function. Looking at code in these separated sections allows me to come up with new or creative ways to craft the form and flow of a project. I do much of the same thing when I’m learning a new song on my guitar – I always keep in mind, “Just because I know how to play a lot of chords, that does not mean that I can’t learn something new.”

Anyway, let me elaborate on my music/code comparison:

  • Melody
    A website should flow as effortlessly as the melody of a catchy song. You want your layout and code to appear so attractively seamless that it gets stuck in your head all day – to the point where you find yourself whistling along while you work.
  • Harmony
    If you’re using multiple programming languages to design a website – which is inevitable nowadays – they must support each other properly to create a perfect harmonious note. The result of an asynchronous layout will appear as unpleasant as the sound of an infant banging his fists against the keys of an organ. Even a viewer uneducated in web design can notice blemishes, so pay close attention to how your languages play against each other lest the audience will hurl tomatoes rather than roses.
  • Tempo
    Depending on the job, building a website can take time. This is why it’s important to set a workable tempo for yourself. I like to make a timeline detailing how long each section should take to code. This allows me to be better organized when completing a task.
  • Rhythm
    Get in a good rhythm when building a website. Don’t get hung up on one section for too long. Letting your rhythm get bogged down prolongs the build process. If you’re stuck, sometimes it’s best to use your momentum to work on another section and come back to the part you were stuck on later. If you know something is going to be a challenge don’t dwell on it too long and frustrate yourself.

These are just some ways I approach web development the same way I approach learning or composing music. Think of web tools and programming languages as your instrument. The more you practice, the better you get – and the better you get, the easier it is to create something worth publishing. And if you need more practice, your music teacher (or in this case, your client), will certainly let you know.