I frequently meet a friend for lunch and we talk. Usually I’ll blab on and on about music, or some weirdo project I have going on. He’ll tell me about jobs he’s had or trips he might take now that he’s sold a company and can chill out for a while. After one such meeting he said, “It’s so refreshing to meet up with a geek who doesn’t talk about VCs and term sheets the whole time.”
VCs and term sheets? Really? Well shit, tomorrow I get a x0xb0x and tonight I was hacking on a cool new web server now that I’m done with MulletDB. And these guys just think about VCs and term sheets? That’s kind of sad really.
Let me tell you about this cool new web server. I figured out how to merge the ZeroMQ event polling system with the libtask coroutine library so that you can use libtask to handle tons of TCP/UDP and ZeroMQ sockets in a single thread. I then took this very cool hack, and started building a web server using my Mongrel HTTP parser, but I modified the parser so that the same server on the same port can handle HTTP or Flash XMLSockets transparently. The next step is to get this server to route HTTP and XMLSocket JSON messages to arbitrary ZeroMQ backends. I was inspired by this so much that I registered utu.im and may try to bring it back. Not sure how or when though.
Sounds cool right? Totally doesn’t matter one bit. I could hack on projects like this and nobody would care at all because I’m a famous programmer, and there is no such thing as famous programmers. I don’t exist. I’m an enigma.
I’d sit at work and of course everyone knows the six degrees of separation of every startup founder. They know who is at what parties, what they started, how they got funding, how much they were funded for, what their capitalization is, why they failed, why they’re only lucky, how much they made on their sale, how they didn’t want to sell, what their next iPad app will be like, whether they’re gay or straight, what their girlfriend is like, that their boyfriend dumped them.
They have no idea who wrote the web framework they use. They’ve never met the guy. They could care less about why he designed it one way or another. It doesn’t matter because once the programmer was done he wasn’t useful. Following his life is pointless because he’s poured his life into the software and now they get to keep it.
You’ve stolen his soul like an old sepia tone photo of a Cherokee warrior.
It’s even gone so far that people demand that we use the BSD license (or any license) that doesn’t require credit for using your work. Other programmers don’t want to have to put your name in a credits section of their applications. To them you are just that piece of software. You are a wrench, and wrenches aren’t famous. Paintings are famous, not wrenches. Nobody wants to look at you or hang you on their wall. They want to toss you back into their oily tool box and forget about you until they have to fix the faucet again.
Let’s try an experiment. Think of a project you use all day. Maybe it’s Rails or Python or something. Now, name 4 people on the core team without looking them up. I can’t do that for anything I use. Alright, let’s say you can do that. You know a myriad of things about the people who make your tools, but can you honestly say you know as much about them as you do about the tools they made you? Be honest with yourself and really look at how much you know about the people behind your gear as you do about the gear itself.
The famous programmers aren’t really famous for programming anymore, but instead because they created some business or non-profit. Their code can’t stand on its own as awesome, it has to be paired with some non-code fame formation and then people can grok their concept.
This is why I believe that there are no famous programmers, and being famous does not help you in your programming career. I’ve said this before, but today I was offered a system administrator job, again. It was very humbling to say the least. It kind of knocked me out to have someone think through all the things their company needs and the only thing they could think I’d be good at was system administration.
Yep, just a system administrator. Still.
I still have to do programmer interviews like everyone else. No matter how much code I put out, I still have to solve stupid puzzles about coconuts and manholes. No matter how many web servers or email frameworks or database servers or chat servers or assemblers I write I still have to prove I can code. No matter how many copies of my software get deployed I still have to prove I can make reliable software.
Being famous doesn’t help me at all in my profession. In fact it makes it harder because now for some bizarre reason people think my fame means I can’t code.
If I could do it over again I wouldn’t have been famous for programming. But, I can’t really take back any of this fame I’ve got, so I figure I might as well have some fun with it while I can. Maybe I’ll teach a few people to love making software as much as I do before my career ends. That’d be nice. To inspire a few more geeks to love being nerds.
Otherwise, this is just a fun experiment at a time when the world was changing in a way that let a weirdo like me have a voice. In a decade or two, I think programmers will just be nothing but factory workers. Programmers will stop caring about the works of other programmers, and will have completely absorbed this blindness to history, removing the last incentive there is to produce and share with other programmers: recognition.
So enjoy it while you can, because before you know it, being a programmer will mean permanently being a second class citizen.