Pockets of Blue

musings of my mind

Month: May 2010

A Programmer’s Role

As I was making my weekly rounds of the software blogging universe, I came across this fascinating post by John Cook. Besides having a delightfully alliterative title, it struck a chord with me due to my similar experiences.

I’ve been a student of programmer productivity for over three years now, especially as it relates to hiring, pay, and experience. The last two paragraphs of Mr. Cook’s post made me smile, as I can relate. The best (most productive in this sense) programmers aren’t necessarily the smartest or most technically skilled; they just have a special talent for recognizing and applying the best solution to a given problem. They recognize common problems and that existing, stable code exists to solve them. At a higher level, they realize when they’re building the wrong thing or applying a hack rather than a long-term solution, and call it out to the appropriate people. In fact, these skills aren’t endemic to the current definition of a “programmer” at all, but are often best applied at the managerial or director level. Often, developers (or even managers) don’t have the clout to interrupt an ill-designed project or feature, even when it’s clearly off-track.

I’m very excited to start putting on some more hats in my new business endeavor besides the old, crusty programmer one. Call me biased, but I’ve always considered developers the single most important link in the production of software. They are what connect the business idea to its implementation, and thus can have the biggest impact on not just performance and accuracy, but requirement satisfaction and usability. The best developer can not only implement a fast, clean, and elegant software solution, but prevent a poor user interface or inappropriate system from ever being realized. Those latter cases represent the lion’s share of wasted time and money in a software project as constant redesigns and reworks are required.

It would be interesting to extrapolate this concept to the productivity divide between large and small software companies or the necessity of software CEOs to have an excellent technical background. Perhaps in a future post.

New Beginning

At the end of June, I will no longer be employed.

This is my choice. From my employer’s perspective, I’m quitting; from mine, I’m just beginning. Over the past few years I’ve been putting together the pieces and gaining the requisite experience to make this decision. Not to mention enduring a growing dissatisfaction with my current job.

So what’s next? Well, it took a while to answer this question, but eventually all the signs pointed to the same place.

My next employer should be…me!

Yup, I’ll be striking out on my own, building websites from the ground up, using whatever technologies fit. Ruby and Rails, of course, are the preferred means of expression, but I can do PHP and all the client-side stuff, too. One project is nearing completion and another is in the works, and I must say, it’s really exciting. The opportunity to trade the nine-to-five for my own schedule is a huge draw, not to mention the freedom to use the beloved technologies of my own choice! Woohoo! Hopefully this will lead to a happier Alec, which will naturally yield a more satisfied, productive, and better Alec.

At least, that’s the vision. I’m willing to accept the risks; in fact, I feel obligated to try. But I can’t do it alone. I’ll need clients. Development work. Small businesses in need of a web presence. Entrepreneurs with the vision but not the programming chops. Perhaps there’s something I can offer for you?

© 2024 Pockets of Blue

Theme by Anders NorenUp ↑