While my code gently weeps

It’s an observation and not a solid fact, but it surely looks like a significant part of software developers, at least those in the Apple ecosystem, are also aspiring musicians. From personal experience, any Apple developer’s conference of 100 attendees can easily assemble several bands, and in fact, there is one, James Dempsey and the Breakpoints, that has a raving fan base in the community and an album in iTunes.

As to myself, despite my mom being a teacher of music theory, solfège, and classical music in general, my interest in music only started when I became a teen.

And while I don’t think that teen hormones had anything to do with it, somehow from liking rap music I went on to develop a keen interest in learning to play an electric guitar. I remember well that I was mesmerized by the guitar work in En Vogue’s “Free your mind” and on Aerosmith’s “Amazing”. Now when I think of it, I never learned to play these two.

We also had a cool music teacher in grade 8. In those classes, we watched and analyzed Pink Floyd’s “The Wall.” It so happens that David Gilmour is also such an inspiring guitar player.

David Gilmour
David Gilmour

Long story short, I convinced my dad to buy me an electric guitar when I was about 15 and taught myself to play using some books, the Internet of mid-90ies, and a little help from my friends.

Speaking of friends, with some of them we formed a progressive rock band and started to write music. The band was called “Gray Eclipse.” Yeah, marketing wasn’t our strongest point, and we were all fans of Pink Floyd.

We went on to record a couple of demos in a local studio and, after running out of funds for that, my dad sponsored some recording gear. So we continued to record at my apartment (except for the drums, of course). These recordings resulted in a demo album which we were very proud of. We ordered cover art, burned our CDs, printed the cover on an inkjet printer, had a concert in a local community center and tried to get some recording deal. One label liked half of the songs, so we started to work on more material.

Unfortunately, our 18-yo keyboard player drowned in the sea, while heroically saving a mom and her daughter from the same. We became older, and adult life took over our time. Most of the recordings from that time are on SoundCloud. To this day I’m very proud of these.

We never came back together as a band, although my old bandmate and I started to work on a new song in the last year. Hopefully, we’ll get it finished and will be able to share it within the vast and lonely expanses of the internet.

I kept my interest in playing guitar and still have fun playing and occasionally recording stuff. Some recordings are available on the same SoundCloud, including covers of some of my favorite solos.

In 2015, I also recorded two videos of geeky parody covers. First was “Cocoa Police”, based Radiohead’s “Karma Police” with lyrics that only make sense to those who followed community discussions of the transition from Objective-C to Swift.

The second is a more accessible (for non-developers) cover of David Bowie’s “Space Oddity.” “App Oddity” tells about the ups and downs of indie app development.

In my most recent video, I recorded the solo from Jethro Tull’s Aqualung, which is one of my favorite albums.

Lately, I try to write and record in a jazz-rock fusion style, and that’s my current focus of creative musical work.

I wonder if the reason that so many indie developers are also musicians or are active in other arts, such as performing or writing, is that programming, especially as an indie, also expresses one’s creativity. As Steve Jobs famously said, it’s the intersection of technology and liberal arts that drives us.

Think it later

I love the concept of “read it later” services. Whenever I hit something that is too long to read at that moment I send it to Instapaper. Later, when I actually have time to read, I launch Instapaper app and see the list of the articles that I queued for reading.

In my previous article, “Thinking time”, I described how I love to schedule dedicated time for thinking about my business. Sometimes, though, the time comes and I’m not sure what’s on my agenda.

So lately I’ve come up with a concept of “Think it later” notes. The idea is so simple that it’s embarrassing. During the week, whenever I get a thought that requires time or depth of thought, I add it to “Think it later” list. These notes are then my “thinks to do” during the “Thinking time”.

Technically, you can use anything for your “Think it later” notes. It can be your favorite note-taking application on your phone, plain pen and paper, or you can use your favorite to-do application. If you use a system based on GTD you can create a special context called “Thinking” and use it for this purpose.

Even if you don’t set a dedicated time for thinking you can refer to this list whenever there’s some time that you can use for this purpose.

If you like this idea but not sure how to implement it, just write it down and think about it later.

Thinking Time

Being an indie software developer, developing products and running the business, takes lots of time. I work during normal working hours and then often have a “second shift”, when the family, or at least the kids, fall asleep. Still, I have enough planned stuff to do, when I’m near my Mac, to fill months of work. And most of this better be done sooner than later.

I’m pretty sure that if you’re an indie software developer, a designer, a business man or almost anything where you have some control over your time and work, you know what I’m talking about.

In this state, we may become so reactive to the tasks that need to get done that we just don’t stop, take a step back and reflect on the whole situation. We may just forget to think deeply, strategically about the business and even about the work tasks themselves.

Enter “Thinking Time”

When I was at the uniquely great NSConference 2011 this March, I had the opportunity to discuss some of this with Matt Gemmell during a dinner there. Matt is a well-known Cocoa developer, conference speaker and, should I say, thinker. He appears to think deeply about stuff and publishes many of his thoughts in the articles on his blog.

So I asked him how he approached the thinking about software design, and his answer included something like “I take a walk, in the nature, by the river, and only take my Moleskine and a pen with me.” It’s not a quote but the gist of his reply.

And I thought to myself, “Why, that’s a good idea. Step back from the monitor, the distractions, and devote time to just thinking for some time, writing thoughts down with analog pen and paper”.

So, on my way back home I grabbed a couple of notebooks at the airport (they just happened to be Moleskine, of course), one for me and one for my partner, Kosta, and decided on having “Thinking Time”.

I put it in my calendar, weekly, as the first thing to do each week. It’s a good way to start a new work-week. While most of the population rushes to the jobs thinking “It’s @#$%@#$ Monday again”, I start the week slower, walking the streets or sitting on a park bench or under a tree to write things down, breathing real air. If the weather doesn’t allow being outside, I’ll sometimes go to a cafe, instead of skipping it completely.

During such couple of hours I can make good progress planning software architecture, sketching application design, preparing a conference talk, or thinking about strategic business stuff.

Then, by noon, I come back to my home-office, feeling refreshed, satisfied that I already did something important today, and overall feeling inspired for the rest of the week.

Try it yourself

If you don’t yet have such “Thinking Time” on your schedule, I suggest you to try it. The beginning of the week works the best for me. But maybe you’ll feel that the middle is actually better because it splits your work week and you get some kind of a break from your regular tasks.

In this age of Internet and social networks with all the fun distractions that they provide, it becomes more important to go away from it all at least for a couple of hours each week, sit down with a pen and a paper (or even an iPad running some notepad-type application), and just think it all through.

Update: take a look at my other article related to this: Think it later