Adam Caudill

Security Leader, Researcher, Developer, Writer, & Photographer

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 must 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.

Adam Caudill


Related Posts

  • The Pressure to Be Great

    I’m a developer, and I love what I do, it’s a great industry, and a very exciting field to be in. If you read my blog often, you’ll see I take every opportunity to mention how great this line of work can be, today I offer a somewhat different, less sugar-coated view. The Pressure There is a constant pressure on developers to be better, to do more, to produce more, sometimes more than is possible.

  • Piracy: Modern Marketing

    Piracy is bad, right? Maybe not, and it seems Microsoft figured it out. Piracy can be indirectly profitable, both by giving you additional customers that you may collect from at some future point, and it also serves to reduce or limit the market share of rivals. Microsoft chairman, Bill Gates, acknowledged this back in 1998 while speaking at the University of Washington, saying: Although about 3 million computers get sold every year in China, people don’t pay for the software.

  • I Love My Job

    I love what I do, and I work with a great team. While it’s still far from perfect; I can say that I do love my job. For the last couple weeks though, I’ve had to remind myself of this several times. I’m sure we’ve all done it, in this industry it’s hard to avoid. You read an email or receive a phone call and repeat the mantra “I love my job, I love my job, I love my job.

  • Superstars & Monkeys

    I really enjoy what I do, and though I work in a chaotic environment, I really do love my job. Being in the Software Development industry has some really nice perks, being a developer in today’s world really is a great thing. Development isn’t easy though, it is quite mentally demanding; clear focus is of paramount importance. Without absolute focus, progress will only be a dream. This fact is a key player as to what makes being in this industry so great.

  • VB: The dumbing of a Great Language

    Visual Basic is at an interesting crossroads, it’s at a critical juncture between two paths. One path, it has followed since its earliest days, where simplicity and ease of use ruled over maintainability and solid design. The other, the longer, harder road, is that of design over ease. With the release of Visual Basic .NET, a major shift occurred in the direction the language is taking, though looking back now, nearly 5 years later, I’m finding myself concerned for the future of the language.