Same as It Ever Was

I needed to scan something the other day, and since taking a picture is far easier, I tried to do so with my phone, but it wasn’t working. So I grabbed my trusty DSLR and made things right, and then I stopped.

When was the last time I took my camera off the shelf? When was the last time I just went out taking pictures of things and really enjoyed myself? My previous camera gave me fits, but I shot every single day and I loved it. I would carry a big unwieldy camera anytime you might see me out. I might of taken a picture of you, and you may have hated it, but for some reason, I would have loved that picture and I would have tried to persuade you of how good you looked.

Yes, I had to do a lot of tinkering to get the pictures I saw in my head come out that way on screen. It was frustrating, and I thought I just needed better “stuff”. I bought and traded a few lenses, and finally settled on a perfect pair that I still love today. They suit what I want to shoot and they rarely disappoint. One was introduced in 1989, the other in 1995.

Then I went and bought a better camera. Yes, I have taken some amazing pics that I just couldn’t have taken prior. The HD video is awesome; but there is something missing from the pictures I take today. I can’t put my finger on what it might be. I definitely have struggled to get the color I was getting before. I’ve been processing my pics on an old Windows workstation, because the brand new MB Pro just exaggerates the lack of color.

Of course I’m going to relate this to software development.

We have so many tools today that we just didn’t have not so long ago. These tools are supposed to make things better, faster, more exciting, but is that really the case? Could it be the case that we’ve just enabled ourselves to build what we already built before, just faster and with less deviation?

Back around 2003 or so, Matt and I built a prototype configuration tool for Dell entirely in JavaScript that allowed you build exactly the office you dreamed of, full of Dell equipment of course. I’m sure it took us 72 hours of non-stop, sleep under your desk type of regimen to get it done, but in the end, we did it, and it was a pretty impressive demo from what I remember. Matt took what we learned there and was for all intensive purposes doing jQuery ajax, get and post operations with iframes and JSON. That was nine years ago. Classic ASP was still a contender, .NET was just born, and SQL Server 2000 was just made available in 64-bit. Rails was something I assume David Heinemeier Hansson was just starting to ponder.

Today, you could probably do this in an hour or two using jQuery or likewise.

Would it really be different?

Dell’s configuration tool has been the same for as long as I can remember. So has Apple’s store. I can’t pick and pay for the channels on cable that I really watch. There isn’t a game-changing white-boarding application that our distributed team can use effectively. I can’t have a laptop with serious horsepower and any kind of battery life. I can’t send someone the iPhone poo icon if they don’t have an iPhone. I can’t share animated gifs of cats on Facebook. I still can’t order a car with precisely the options I want.

There continues to be so few women on software development teams.

I continue to see “rockstar”, “ninja” and “brogrammer” as a descriptor for a position some company wants to fill.

I can’t start a business when I am so terribly worried about my relationship with the state of health care in the United States.

I can’t talk about politics without “religion” being thrown in my face as a deciding factor.

I can’t complete an kindergarten application for my daughter without being asked what “race” our family is a part of?

10 years on and so many amazing developers and other people I have met, watched on twitter and wished I had a chance to work with. How does it still remain that some things haven’t improved in the least bit? Hackers step outside the mold. They march to their own drummer. They wield great power.

At CodeMash this winter, I heard Jeff Casimir give a five minute talk on the privilege of developers, and I believe every word of what he said.

With great power, comes great responsibility.

Use your power wisely. Organize. Change things. Make this world a better place.

We’ve changed some things, but we have more to do.