The Importance of Software Development Principles
Be the 1st to comment!

One element of the modern web development movement that has long bothered me is to see how it ignores long established software development principles. Some act as though the only way to be “modern” and use modern technologies is to throw out the old and come up with all new. While development languages might improve, and we certainly learn new things over time, I don’t believe that these important software development principles, that have been figured out over years from trial and error, even from extreme failure, suddenly become invalid because of new technology developments.

The implementation of these principles may need to change, but never the underlying principle. Sadly, I would estimate that a majority of those calling themselves “developers” today don’t know the first thing about development. They have studied a language, whether it’s Rails, PHP, whatever, and they have learned it well enough to develop an average application that works. But without learning important software patterns and processes of development, all their skills with a particular language are built on a very shaky foundation. One that crumbles underneath the weight of a full size, heavily used application, and one that deteriorates over years of iterations on the same software code base.

Most developers today have never maintained the same application for years and have no concern in ensuring they can. They build it to get it out the door and get it online. They get paid. They close out with the client, and they move on. I see these apps on a regular basis and I have to fix them. Sadly, it’s usually at considerable expense to the owner, often having to start from scratch because the application’s fondation was so poorly constructed.

It’s far more important to understand these basic software engineering principles than it is to “master” a language. It’s great to think “outside the box”, but never just for the sake of doing it, or for the sake of being the person who came up with a great new concept. Solve problems that still exist, don’t solve problems again and again that already have a sound, established solution. Learn from others, particularly those who have more experience than you. Find out why senior developers work a certain why. Don’t assume that because they are “senior” their ways are the old, outdated ways, to be ignored and replaced. Sound principles and wisdom based on experience never lose their value.

The Best Rails Rumble apps of 2010 – The Top 10 and Honorable Mentions
3 Comments

I finally made it through the rest of the Rails entries from the Rumble. In a previous post I published my favorites from the first half, but now that I’m done, I’ve picked my top ten, and I’m putting them all together here and listing some as Honorable Mentions.

The point of the Rumble, of course, is to show how much can be done in one weekend with the powerful web development framework, but too many of them seem to have taken the opposite approach and tried to see how little they could do in 48 hours. I’ve always felt this competition needs a ‘How much did you get done’ category, since I assume that was the point of the Rumble in the first place. Now it seems to be more about micro apps that could be built in 12 hours, which is safer, but less impressive regarding what Rails can do.

Read More »

Favorite Rails Rumble Entries for 2010
3 Comments

Before I write about my own experience this year in my second Rumble (my team’s entry this year is CommendableKids), I decided to try out as many of the entries as I could. I’ve gone through half of them at this point, and below are my favorites so far. Before I get to them, here are a few observations I’ve made while reviewing them all.

Read More »

Which of these is most important to you in hiring a developer?
1 Comment

Which of these is most important to you in hiring a developer?

  • Analytical/Problem Solving Abilities (41%, 17 Votes)
  • Experience (27%, 11 Votes)
  • Personality (10%, 4 Votes)
  • Character (10%, 4 Votes)
  • Previous Work Recommendations (7%, 3 Votes)
  • Cost (2%, 1 Votes)
  • Education Level (3%, 1 Votes)

Total Voters: 41

When calculating development costs, the hourly rate is only half the equation
13 Comments

As I transition from full time employment to being fully self-employed (starting in September), I’ve had the wonderful opportunity to talk with a number of potential clients from all industries, with all types of past experiences and varied budgets. In the last month alone, I’ve talked with over 20 different companies. During these talks I’ve learned one major thing that surprised me. I suppose because I’ve been working for individual companies for so long I didn’t realize there were so many misconceptions about developers, web development, and productivity out there in the business world.

Read More »

Page 1 of 612345...Last »