Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

How can you determine objectively, over time, that you are getting any better at producing code? For example, I may sit here and feel that "I know <language> now, and I use <technique> now, so I must be better." But this does not account for my own bias, or the fact that I may be getting better at a slower rate than intended, or I may actually suck at <technique> and not realize it. What methods are available for one to objectively rate one's own abilities? What about to objectively compare them to their peer groups?

share|improve this question

closed as off-topic by gnat, GlenH7, MichaelT, Dan Pichelman, Thomas Owens Mar 15 at 1:07

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, GlenH7, MichaelT, Dan Pichelman, Thomas Owens
If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers 3

You can take a look at the Programmer Competency Matrix and see where you are on that and where there might be room for improvement.

Getting involved with the local development scene can be beneficial as well, since you'll be in a position to compare yourself against developers from different environments (i.e. not just your co-workers).

To see what your options are for finding fellow local developers, you can start by looking for a user group in your area. Some are focused on a particular languages, some are more general. For example, where I live, there's a .NET user group, a recurring demo camp, a Perl group, etc. Dev House Waterloo is an example of a more general interest group in my area. I found these first by Googling for a .NET user group (I was primarily a .NET developer at the time) and then through talking to people there to find out what else was happening in the area. If all else fails, you can always try getting a group going yourself.

share|improve this answer
That's a pretty nifty chart there :) – GWLlosa Jan 13 '11 at 21:57
Beat me to it! :) – Ryan Michela Jan 13 '11 at 21:58
@Ryan: I know what you mean. ;) – Josh K Jan 13 '11 at 21:59
How does one locate a "local development scene"? I'm completely unfamiliar with that concept. – GWLlosa Jan 13 '11 at 23:09
The meetup website helped me find local Python, Ruby and other software development related groups. – DarenW Jan 14 '11 at 7:02
  • Get a patch accepted to a major open source project. Your code will be scrutinized and will not be included if it's crap.
  • Review the Programmer Competency Matrix
share|improve this answer

As I age, I become less satisfied checking off items from lists of skill, technologies, and concepts. These days, what really matters is what I ship. Is my ability to ship improving?:

  • Can I produce more in less time?
  • Is my software becoming more reliable?
  • Is its usability improving?
  • Am I always reaching a little further, doing more than what I thought was possible yesterday?
  • Do my clients trust me and expect more and more from me?
  • Do I make the people working with and around me more productive?
  • Am I shipping bigger, more complex, and more important products?
  • Can I ship using any technology the client requires?

It doesn't matter how many checks you have on your list if you don't ship.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.