A few people have asked me whether I think programming is a necessary skill for entrepreneurs (or anyone) to have in the future.
When I was 14 years old, taking guitar lessons from Tom Pecora, he gave me that this-is-important-so-listen-well look, and told me something that stuck with me for life:
“You need to learn to sing. Because if you don’t, you’re always going to be at the mercy of some asshole singer.”
His point of view was from a rock guitarist in the Chicago music scene, trying to put together a band, and all that. I really took it to heart, and learned to sing.
But ever since then I’ve applied that point to other areas.
When I first started CD Baby, I didn’t know any programming, only basic HTML, and quickly had to cry for someone to help me. Davor Cengija in Croatia was a big help, but one day he disappeared. (Turned out he broke his foot skiing.) For weeks I was helpless, as my site had problems, and I didn’t know how to fix them. That pain got me motivated to learn this stuff myself. (Necessity is the best motivator.) I’ve loved programming ever since.
Later, when I needed a new computer, my friend Tony Benjamin taught me how to build my own from parts. This was so empowering because this box that I depended on so much was no longer a mystery. As CD Baby grew, I loved building all the computers for the employees, and even the webservers that ran the site.
In the independent musician scene, the DIY ethic is strong, by necessity. When it comes to doing all those non-musical things like booking gigs, promoting, publishing, and all of the organizational things, the norm is to do it yourself until it makes more sense to get someone better to help you. (And even then, maybe choosing to do it yourself just because you want to.)
The benefit of doing this yourself at first is that you learn enough about it so when you can afford to hire someone, you’re in a much better position to know if they’re good or not. Also it gives you the confidence to know that if anyone else flakes, you can step in and do enough to keep going. The deep joy of self-reliance.
So... back to programming:
The most common thing I hear from aspiring entrepreneurs is, “I have this idea for an app or site. But I’m not technical, so I need to find someone who can make it for me.”
I point them to my advice about how to hire a programmer, but as most of the good ones are already booked solid, it’s a pretty helpless position to be in.
If you heard someone say, “I have this idea for a song. But I’m not musical, so I need to find someone who will write, perform, and record it for me.” - you’d probably advise them to just take some time to sit down with a guitar or piano and learn enough to turn their ideas into reality.
And so comes my advice:
I recommend Head First HTML and CSS first, then Head First HTML5 Programming.
Get those basics under your belt. Make an HTML site respond to things the user is doing. Save some information in a database, and use it to generate a web page.
You could go through those books in a couple weeks of evenings, and you’d already know as much as 50% of the people out there calling themselves webdesigners or web programmers!
It’s a REALLY amazing feeling. The mystery is lifted. You’ll look at all websites in a new way. You’ll understand what’s going on behind the scenes. You’ll know how to do it yourself. It’s really empowering.
This will give you a good foundation if you want to go on to make iPhone or Android apps, or just know enough to hire someone better.
You don’t need to become an expert, just know the basics, so you’re not helpless. You can do all of this in less hours than it takes to watch “The Wire”, and it’s much more rewarding.
(It’s definitely been the most rewarding thing I’ve ever learned.)