What It Takes To Be A Great Developer
Recently a programmer I know decided that it was time for a career change, leaving the IT field entirely. This gave me cause to think; what does it take to be a great developer. Many people go through school believing they have what it takes, only to receive a rude awaking once they enter the real world.
Before I go on, I think it’s important to define what I mean by developer, and the differences between a developer and a programmer. Here are a few key aspects that every great developer most possess:
- Is able to take a very basic list of requirements and develop a stable and maintainable application design and architecture.
- Understands that working with end users is critical in creating great software.
- Has an intense desire to not just learn, but to know everything about the field they work in.
- Loves software, and creating it.
There are many programmers, but developers are fewer but add far more value than a programmer. Eric Sink defines a developer as “programmers who also contribute in non-coding ways” – I think it’s important to understand that coding is just one part of creating great software, and the great user experience that goes with it.
But I digress, back to the topic. When new programmers come out of school, they often have little idea of what the industry is truly like. They often believe that they have a strong understanding of the industry, the methods and techniques used, and what life will be like working as a programmer. The reality they expect many times doesn’t resemble the reality they experience.
To succeed, new programmers need to expand their knowledge and try to become true developers, not just programmers. Unless they find jobs at a major software development company, such as Microsoft, odds are they will need these extra skills to get ahead.
Learning how to better troubleshoot issues, working with end users that are having issues, or have ideas for changes will be a step forward to become a developer. Another item to focus on is finding an understanding of design and architecture so that they are more capable of designing a maintainable large-scale application; a key value for small development groups.
To be a great developer, programmers must have a passion for software, both in using and creating. This is something missing in many of the recent graduates I’ve met. These are the programmers that will end up going the route of changing careers; those without a passion simply won’t make it.
Note: This is from the perspective of small software teams; larger groups may have somewhat different priorities.
Welcome!
I am a software developer, currently located in Virginia. While my primary focus is creating software on Microsoft's .NET stack, I also write about other topics and technologies I find interesting - Ruby on Rails, Security, and even a little about photography.Search
Articles
- January 2012
- October 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- August 2010
- July 2010
- June 2010
- April 2010
- February 2010
- December 2009
- October 2009
- July 2009
- June 2009
- December 2008
- November 2008
- October 2007
- August 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006









