This was actually a presentation that I was hoping to submit to a conference I really wanted to speak at. The reason I didn't ultimately submit anything is the same as the topic of the presentation/post, in part. How's that for meta? And since I've been thinking of it as a presentation, I'm just going to write it like I'd say it. Sorry if that's weird.
Who here would consider themselves an old hacker? Who's here reading this because those words resonated? Some of you, I hope, or this might not make any sense. If you're a web developer, calling yourself an old hacker is kind of ridiculous, in the scope of computer programming as a whole. But, relatively speaking, I think we all know what that means. It means you tested in Mosaic. It means you had the lecture about how there was no upgrade path for IE5/Mac and therefore we were going to have to support it until the end of time. It means you've been guilty of table-based layouts and you had your mind blown by "To Hell with Bad Browsers" and then again by AJAX. Or maybe it just means you remember the browser wars and found it difficult to trust
At any rate, here you are.
I want to ask you something. I don't want the answer you'd give in an interview, but the real answer. I want to know if it's the same as mine. Why did you keep doing it? Web development, especially for front-end people, was fucking idiotic at the outset. Things like presentational attributes were a revelation. The whole world was in Times New Roman. The power of the web was less than the power of the manual lawn mower your parents had in the shed out back and were yelling at you to step away from the computer and get to work with. But you, you were on Geocities, or Angelfire, or some college server, or your own server, if your freak flag flew that way. You were writing HTML, even though HTML was giving you fuck-all in return. Why did you keep doing that?
True, at that point the web was young, and the only people on it were our people. It was exciting to be able to put something out there and know that anyone anywhere in the world could theoretically end up seeing it. This was before endless privacy debates about whether google was stealing our thoughts - at the time, it was amazing just to have a platform.
Magical though it was to participate in that, at least for me, sticking with it ultimately came down to something else: the mythical wild west of computer programming. In college I had to read "Where Wizards Stay Up Late" and though that book is a little long on facts and short on poetry, the picture it painted was something I very much aspired to. At the time, I didn't know there was an alternative. Without knowing it, I was used to doing cutting-edge shit by that point, because the only coding I'd ever done had been front-end web dev. We've since disavowed tables for layout, with good reason, but think back for a second on how much it changed when you realized everything didn't have to be laid out in a single column, before
<br> was your only tool. That, my friends, was a hack. A messy one, but one that served us well at the time, and one that allowed our field's better half, web design, to progress despite the available tools. Best practices were an extremely science fiction-y joke. There were few rules and endless constraints. If you wanted something, you had to go out and kill it for yourself.
Maybe you think it's irresponsible of me to romanticize that era. After all, it produced little of lasting quality and we spent years weening ourselves and our superiors off those bad habits. It's not the habits I miss, though. It's the fun. It's the discovery. It's the hacking shit together and hoping it holds.
I spent about a year being really, really mad at A List Apart. I used to wait for new issues to be published to see what the next FIR or sliding doors would be. And then, at some point, every issue was about content editing or UX. It took me a while to get it: what else were they supposed to write about? They led the charge and they won. We won. Once everyone started agreeing, we stopped needing hacks. We stopped reading PiE and ALA and we all went and downloaded jQuery. Then we stopped downloading jQuery and started downloading microlibraries cause, shit, everything's native now. It's strange and lonely to find that no one is arguing with you anymore.
I'm not saying I give up, but when this entire landscape has changed completely, I'm going to miss it. I think domestication has become inevitable. Unless the web fragments again, and it's once more us against them, I think we're on the road to efficient and productive normalcy. Which is great in almost every way except that it's just not as fun. The web is on its way to becoming a commodity. That awesome Wilderness Downtown thing that Google did? That was super cool. CPU fans all over the world were very, very excited about it. But my boss has yet to ask me to implement it on our site. We live for demos and proofs of concept. We go back to our dayjobs and implement someone else's boilerplate, skip the unnecessary syntax, run the unit tests, push to the cloud and clock back out. It's not really that black and white, but it's never gonna be the same.
I haven't given up. I just wonder sometimes how long we've got before we all have to stop being hackers and be software engineers.