by Todd Gibson
28. July 2009 13:56
In 2004, the U. S. Bureau of Labor Statistics counted 760,840 software engineers holding jobs in the U.S. This number is interesting to me as I am counted as one of the many software developers employed in this great country. In every career path out there, there are some that enjoy what they do and some that just have a "job". In software development, the latter seems to be much more prevalent than I think it should be.
I think of writing software as an art form, it takes more than just knowing a programming language and going to work from 9 to 5 everyday. It takes creativity, a strong attention to detail, and to me, a passion and a love for your craft much like an artist has for his art.
It strikes me as odd to run into other coders out there who lack such characteristics; who don't share the level of passion and pride that I have. I am by no means a great programmer, but the quality of code one writes is directly proportional to the amount of passion they invest into each software product they write.
Since I have been a consultant, I have rewritten a number of software products that were originally developed in-house by the 9 to 5 crew. In each instance, the client has been greatly impressed with the level of quality the software I write for them has. And most of the time, I have been able to do so with a lower budget and timeline than that of the original project. Now, it may not be the best code on the planet; I'm sure I have a lot to learn still. But the amount of care and pride I take in each software project shows up when the client is excited and appreciative of my work.
I do run a business, so I'm by no means writing software for free. But the work I do would be my hobby were I not able to make a living at it. And that's the most important point of this post, not only in programming, but in all lines of work. Finding what you love to do and doing it is extremely important in life.
If you do this, most of the rest of your life will fall into place. It's the passion of the coder that determines the quality of the code he/she writes.