I was talking with a good friend recently about his start-up company and he was asking me questions about working with developers. I commented to him, off-hand, that the idea of managing software development changes drastically when you think about developers as creatives instead of scientists. Artists, musicians, software developers all spring from the same well.
My friend thought this profound and suddenly understood so many things he couldn’t get before like 60 hour days, a disdain for distractions, odd work schedules, and behavorial hiccups that he couldn’t relate to scientists.
I thought it ordinary, after all I have managed developers for over a decade and have been one of them off and on during that time. I always felt that calling developers computer scientists was a disservice, that placing them within Math departments only described a quarter of the job description.
I learned to program because I wanted to invent. Before programming I used to make dice and baseball card-based baseball games on paper. Programming expanded the realm of possibility, the ability to be creative in a new medium. Learning various languages feels that way to me also. Some artists become proficient in water color or charcoal. Programmers become proficient in JavaScript or C.
The funny thing is I never thought to share this with anyone before, figuring most in the computer industry already knew this. But my friend is a 30 year Silicon Valley veteran who worked with some of the best and brightest. If it’s profound to him, maybe it is profound to you, too.
This might also help: Alan Kay and his colleagues at Xerox PARC discovered that the computer automates what people can already do on paper. So already it’s different than physics or chemistry. I forgot what video presentation he said it. However, this text interview is almost as good: http://www2.scholastic.com/browse/article.jsp?id=5
Just like music, there are different aspects to computers:
Creating a violin vs. composing music for the violin.
Creating a programming language vs. creating an app using the language.
You may also want to read about the effect HyperCard and HyperTalk hard on artistic, non-programmers. I never used it myself.
Disclaimer: I’m not a musician or programmer.
I have known Elia for a long time and have also managed developers. I also had the honor of a great management mentor. The lesson learned is that there is an important missing piece in the article above. Yes, developers are creatives. AND they are also rational/scientific folk as well.
That means they (OK, me too) have the right/wrong orientation of all such folk. They tend to see the world in black and white. Just listen to them explaining why their way of coding a solution is right and someone else’s is not.
From a management perspective, this means the most effective thing to do is to build trust with them so that you can move them beyond the right/wrong orientation when needed (NOTE: when needed, not always.) Do that by helping them to see a wider perspective. But that only works if trust is built first, and that takes time.
Thank you both! Great additions. @Maurice, you are very right on this one. I didn’t mean to imply that there was no “science” involved. There is definitely math and science involved, just that there is an awful lot of artistic endeavor mixed in. @da99, thanks for the link. I’ll check it out! I do thinking the creating versus using thing is applicable here, but I think most developers would consider themselves music creators.
Really, software development is more like architecture than science or art: a field which combines engineering with creativity. Some aspects (such as unit testing) slant more toward engineering. Other aspects (such as visual design) slant more toward art.
Individuals tend to be most comfortable on one part of the spectrum.
I have worked in music production professionally for ten years, written music for enjoyment all my life, and I recently started to teach myself to program (starting at the deep end with Objective C) so I think I have some good perspective on this. From my anecdotal perspective you are absolutely right: I’ve found that programming is ticking all the same boxes in my brain – that addictive mix of artistic and technical – that I get from making music.
But there is a wider point to all of this. Just as culturally we tend to downplay the artistic elements of programming, we also downplay the technical aspects of musicianship. Think of, say, a guitar: to a beginner, getting sound out of this lump of wood is a purely technical exercise. It takes years of practice before a player can internalise the technical ability and be truly creative. The same goes for painting or acting or writing or cooking.
Art of all forms is a combination of technical and creative skill. It is only our romantic cultural biases that that make us want to imagine that certain endeavours are purely artistic, and others are just technical.
Thanks, Ric. Great addition to the post. I remember in the late 1990s, at the height of the .com boom, some companies were taking musicians and teaching them to program. The abstract thought process to convert musical notes into tones on an instrument are supposed to be similar to programming.