The worst question you can ask me

Single Page ApplicationsAuthor side note: I was originally going to sit down tonight and write part two of my “distractionless browsing” article. In short, I’ve had little to no success with the systems I outlined in my previous article. They are as different and quirky as the mainstream browsers they intend to co-exist with. Instead I’m going go on a little rant about my job as a web application developer.

So, what do you do for a living?

Great… cue eye roll. Here we go…

Mostly, when you see programmers, they aren’t doing anything. One of the attractive things about programmers is that you cannot tell whether or not they are working simply by looking at them. Very often they’re sitting there seemingly drinking coffee and gossiping, or just staring into space. What the programmer is trying to do is get a handle on all the individual and unrelated ideas that are scampering around in his head.
~Charles M Strauss

Don’t get me wrong, it’s a good conversation starter. My annoyance comes in that it is just so damn complicated to cover in much less then a paragraph. Being the nerd that I am though, I generally try to leave it at ‘software developer’. Rands of says it best when it comes to these awkward moments:

“I have no system for understanding this messy person in front of me”.
~ on “Your nerd might come off as not liking people.”
<aside>The Nerd Handbook from Rands In Repose is the most insightful article to date about me as a nerd</aside>

Software developer isn’t the best description though. I think that when I say software developer people immediately see me wiling away at the next sucky version of Windows in a cubicle somewhere. All of the applications that I develop are accessed from a web browser. The first languages that you will run into are HTML, CSS, and javascript. All of the HTML and CSS are just a pretty presentation layer that cover up all of the Visual Foxpro programming on the back end.

But wait, Visual Fox Pro (VFP) is a desktop and database application! they say. You must be a software developer.

Nope, I’m not. I’ve spent hours trying to create the simplest VFP program to hold a browser control for a proof of concept I had, to no avail. The combination though of VFP and Web Connection allow me to write the CRUD operations in VFP for all of my jQuery code and the presentation layer.

HTML, CSS, jQuery, Ajax, DHTML, Fireworks, Dreamweaver, GIMP, book reviews, distractionless browsing, and a TODC member. You’re a web developer!

Nope I’m not. As I write this, almost 800 high quality designs have been posted to TODC. Even after going through the (x)HTML and CSS, I can’t even begin to fathom how the designers took these from concept to completion. The most I can hope to do it not screw them up to much when I use them for my applications. I’m not a designer of templates or graphics. Yeah, I use my five years of experience with Fireworks to get some nice buttons or backgrounds going in my applications, but I can’t do most of what I see very talented designers coming out with these days. I use Dreamweaver to get HTML snippets together for my single page applications.

That’s the thing about people who think they hate computers. What they really hate is lousy programmers.
~Larry Niven

Combining the two though makes me a web application developer. My applications can respond faster then most desktop apps. They are portable to any system with an internet connection. They meet the needs of my employer in a way that no commercial application can because they are tailored to their needs like nothing else on the shelf. How long is it going to be though before I can call myself a ‘web-based application developer’ and I won’t get the proverbial deer in the headlights look with the crickets chirping in the background from the general public?

gMailThe web as an application isn’t new. The plethora of “Web operating systems” that attempt(ed) to emulate their desktop equivelants got started in the earliest days of the internet boom through today. gMail is a good example, as is RTM, and just about anything from 37signals. Most internet users these days will have used a web application without ever making the distinction. Ergo, how can I make the distinction for them?

It doesn’t stop there though. Some of my other skills:

  • Building computers. From very tiny car systems to servers.
  • Teaching elementary students that reading can be awesome.
  • Volunteering. Over the years I’ve volunteered with senior groups and high school students, working together on using technology to enhance their lives.
  • Public speaking. I’ve spoken to groups from a few to hundreds on everything from technology to leadership excellence.
  • Reading. I have 100s of books ranging from military history to programming to fiction.

Maybe I’ve been looking at the question wrong. I’m a father, husband, former soldier, friend, brother, cousin, and co-worker. Only from Monday to Friday, 8am to 5pm, am I a developer. These other things are far more important and define me more timely and accurately then my job. Right?

Computers are like bikinis. They save people a lot of guesswork.
~Sam Ewing

For the most part that is how things are. I can’t deny though, and my wife can confirm, that developing web applications is very all consuming. Some of my best ideas and solutions have come to me from when I’m farthest from my computer. My brain is multi-thread aware and I never really stop working. Notable times include in my dreams and while showering. Some of my best code comes when I’m not stuck in an office. Yet I squirrel away at my work everyday for my $30K per year all the while fielding questions (have you tried plugging it in?), fixing printers (Diet Coke and dot matrix printers don’t mix), and providing solutions to everybody else’s problems. I want my software to provide solutions, I want it to change someone, I want it to change the way they go about their days. Maybe that’s why I am so obsessed with the next big thing and making my software so full featured.

ClippyBurnout is a very real fear of mine. I’m 25 and there are days I really want to walk away from computers in general and development specifically. Being good with computers can be a curse. When is the last time you saw your doctor in a resturant with his/her family and walked up to them to show them the growth on your leg and asked them their opinion? I get that all the time. I can’t attend a single family function, hang out with my friends, or simply go 24 hours without being pinged on my expertise.

Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.
~Bill Clinton

It’s not like what I do is a deep dark magic. One could not go a short period of time without having to interact with a computer. How is it that so many people still regard them as a great unknown to be feared? It’s simply what I do.

Still with me o’ patient reader? Thank you for making it this far. If you’ve made it this far I hope that you would subscribe to my RSS feed for updates and leave a comment with your thoughts. I’d really like to know what you think. How have you survived this industry? What do you do to get away from it all? What makes you a better developer and person?

So, what do you do?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.