My Personal Crusade
Yes, I’m on a crusade: I want more people like me to get involved with software. And I’m not going to give in.
It all started with…
When I was younger, I wanted to become a jazz pianist. I was the centre of a hefty discussions between various members of my family. My dad was very worried, saw that I had talents for software development, and kept reminding me that “he who has the gift also has the duty”. It didn’t really click with me. Others, on the other side of the fence, saw that I had talents for jazz piano, and urged me to keep it up. “Besides, music is so much more creative than computers.”
I decided to pursue the jazz piano. I practiced a lot and became pretty good. But one day, I told my teacher that I was afraid I might not have the talent to become the next Miles Davis. He looked at me like I was from another planet, and confessed to me that being a music teacher wasn’t at all like being Miles Davis, and that if that was my dream, perhaps I should find another path to tread.
That didn’t stop me, though. I kept pursuing my desire for playing jazz. It wasn’t until I almost got into the Rythmic Music Conservatory in Copenhagen, pretty much the highest musical achievement you can aspire to as a youngster in Denmark, that I realized even that was just an education to become a music teacher, and that was never what I desired. There just isn’t all that much success to go around on the Danish jazz scene.
Making the choice
To make a long story short, I gradually got more involved with programming, until the point where I started doing it full-time. I’d always been pretty good at it, and I didn’t seem to miss jazz all that much, except when all my old music friends would tell me what a loss it was for me that I’d lost all my warm and creative and humanistic sides and gone into the cold and mechanical and mathematical software world. The only one who was happy for me was my music teacher. And my dad. Eventually I got into computer science at a university.
I loved computer science. But I also found it too narrow-minded. So I supplemented my CS studies with first a class in philosophy of science, and later a minor in Information Science, which really belongs to the arts. I also supplemented a great deal in my leisure time: All my friends happened to be studying life sciences, or Danish literature, or drama, or something like that.
I spent countless hours wrestling with the relationship between science and the humanities, arguing that we all need both sides in our lives, and that the education system was messed up because it made us choose one or the other. This happens even earlier in Denmark,where you have to make the choice at the high school level, when you’re 15 years old.
I could have gone either way: Jazz pianist, or programmer. But I had to make a choice, and I chose software. I believe that many people must have this “I could go either way” feeling. And I have the impression that, at least in Denmark, most people faced with that choice, will err on the side of the humanities.
Choosing the humanities is the safe choice, at least in Denmark where you don’t have to worry about unemployment. It’s politically correct. You’re dealing with people issues. Maybe you even believe that you’re helping other people. You’re learning to understand youself better and to become a more whole person. You’re creative (what a lie!).
Besides, nobody ever lost a date by saying they studied literature. The same can not be said of computer science. Plus, there are many more cute chicks and hunks to pick up in the first place at the humanities, than there are at computer science.
What happened to whole?
This view completely ignores the other side, the science or engineering side. Since when did “whole” come to mean “only half of it”? Bridges are cool, not just because they are poetic, and are symbols of building bridges between people, but also because the engineering behind them is fascinating and impressive.
Building software is cool, because solving the puzzles is just plain fun and gratifying, and because you help a lot of people do what they want to do. Think about how email lets people stay in touch across the globe, and remind yourself that hardware and software and engineering made this possible.
There seems to be this angst of being associated with something as dull and “hard” as science or engineering, of any sort. Or maybe it’s just a lack of courage, because the questions at math exams have a right and a wrong, and being wrong is just too scary, and can’t we all just be friends.
Software is softer than you think
Besides not being very whole, this view also misses the point that developing software is one of the more humane and creative endeavors there are. Developing software does involve both sides
Yes, you have to understand the technology, and you have to be analytical and problem-solving. But you also have to be able to communicate with the client, understand how your colleagues react to stress and to changes, organize the efforts of the group, and so much more. (Besides, you need to be analytical and problem-solving in the humanities as well, and humanities isn’t all that creative.)
Consider this: I work at a software company with over a hundred programmers. More than half of those work together on building a great software product. We’ve had two different managers of our group, both of which have been or still are programmers themselves. Guess what both of them got their degrees in? English literature. Yup! You heard it here first.
My point, of course, is that technology is only part of the story. At its core, building software is pure communication: The client tells you what they need in English, and you translate that into Java, so the computer will understand it. You’re a translator between radically different languages.
The thing is, though, that this translation is so darn complicated that it takes lots of different people, lots of organization, lots of creativity, and lots of effort to do well. And these different people use the English language in different ways. There are the marketing folks, the sales guys, the user advocate, the CFO, the CEO, the programmers, and the clients, and they all have to find ways to make themselves understood to each other, and the programmers need to make all of this understood to the computer.
This permeates the whole culture of software companies. You have to be clever at figuring out how different groups communicate, you have to be good at finding out when people’s hearts are not in it, you have to be good at promoting and getting people to buy in to your vision, you have to be good at covering for your friend and colleague when he’s having a rough time at home, and you have to be good at hundreds of other little things that make software seem not so hard and mechanical and technology-centered at all.
The bottom line
To get back to my crusade: If you could go either way, I want to urge you to choose software. I want you (yes, you!) to find your inner geek and your inner caring person. To care about both the people and the tools. After all, on of the key things that set humans apart from other animals is our use of tools.
I also want to change our education system, so the choice doesn’t have to be such a hard one. Why can’t you do a bit of both, if you’re good at both? We surely need people who can master the hard and the soft, the people and the tools, and be creative and problem-solving, and fun and inspiring to be with.
Make no mistake: My motives are entirely selfish. I want to work with people who care about people, and I want to work with people who care about technology. But most of all, I want to work with people who care about both, at the same time.