Web Software Architecture and Engineering – Life on the Bleeding Edge

Ok, as promised, I’m covering some hiring issues I’ve had over the past couple years.
One of the first things that comes to mind, when looking at a developer’s experience, is whether they have had any experience building things from scratch, or is most of their experience in just maintaining existing applications.
Now, don’t get me wrong, the issue isn’t actually that simple. If you read Andy Singleton’s blog post (of Assembla fame), he talks about how the number one developer qualification, in his opinion, is being able to build from scratch.
On the other hand, maintenance has its own benefits. You get to see the application grow over time, understanding and work on its weaknesses, respond to client feedback and re-work/refactor to improve etc.
The reason I bring this up, is that during the interview process, I ask about the applications they have worked on. A lot of times you will find contractors who jump from one new app to another, and with no sense of what happened to that, how it progress, whether what they built created value, or even actually solved the business problem it was built for. This is an extreme, and just building from scratch with no long term perspective is a negative in my book, no matter how good an “architect” you were.
To other group I often find, is people who have just maintained apps. They might also be contractors who got brought on to maintain an app, or people who originally built and stayed long into the maintenance phase. The problem I find here is that often times, contractors especially, will say: “Well, we just maintained it. We had to adopt to the coding standards (or lack thereof.” Basically, there was little innovation. They were not allowed to rock the boat, re-factor heavily, or even understand why the app was built in the first place. I often ask this group, what their experience is with frameworks, and the few that know what I’m talking about, mention that the client saw the benefits of transitioning to one, but they never did anything. The large majority who maintained apps come back and say, “framework??”
One word of advice: If you’re maintaining an app, and you have no experience with using a framework, at least spend some time on the side working on them, and be familiar with them. If you are just maintaining apps, and stuck in your little world keeping the status quo, then I can’t work with you. That ain’t life on the bleeding edge, right. 😉
So whatever your case, understand where you are. Trying to build apps from scratch, but also stick with them for some years before you move on. These are the people who are often the most balanced: they can speak to client needs over time, the evolution of the app, and even the dire straights of being stuck in maintenance mode. If you are in one extreme case or the other, look for an opportunity to try the other extreme and come towards the middle.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: