What Does It Mean To Be a Rock Star?

What does it really mean to be a good developer? Human Resources will go ballistic when they read this, but being good does not have to do with years of experience or technologies listed on your resume.

Sorry to break that news, but it is the truth. Now, I am not saying that those two things are irrelevant or meaningless, but they are only a very small part of a much bigger picture. I have been on both sides of the interviewing table and have seen dozens of senior developer applicants with 10+ years of experience not be able to write simple for loops. It is absurd.

So what makes a developer good? I think it is a combination of a number of things. It is hard to pinpoint in an interview, which is why so many people take the easy route of the two items mentioned above.

It starts with a passion for problem solving. Most, if not all, good developers started very young and were initially self taught. They have a real passion for figuring out difficult problems. Even though this exhibited at a young age, it is something that is ingrained in their personalities and will continue through their professional careers. These are the people that work on side projects after hours. They are probably trying to push the envelope at their day jobs and introduce new technologies into the code base. Programming isn't just something they do to pay the bills, it is a way of life. They think about it constantly. It probably drives their wives crazy (I know it does mine).

So what does this mean? It means that the years of professional experience listed on the resume is only a small portion of their programming career. Someone in this category who is two years out of school has really been programming for over a decade.

So how about that long list of technologies that the applicant knows? Very impressive. They were able to list all the industry buzz words...even ones no one cares about any more like PowerBuilder!

The other major element of a good developer is being able to learn new technologies easily. With the way the technical landscape changes, it is a necessary part of the job. People that eat, sleep, and breathe programming will not have any trouble picking up whatever web framework or ORM technology your operation uses. They won't be scared to dive in and start playing. In fact, chances are they will be a productive member of the team within a couple of days, even having never used that specific technology before.

I am not saying that they will immediately be an expert, but being able to answer some high level questions in an interview doesn't mean that the "senior developer" with that bullet item on his resume will be able to actually produce anything.

So the resume is barely worth the weight of the digital copy. The vast majority of resumes I have seen are showcases of years of experience and the applicants ability to regurgitate all the technologies they have heard of. So please, when you are shopping for good developers, see if you can look past the paperwork and see the developer inside. That goes for the seniors as well as the n00bs.

Oh, and don't use years of experience as a cover for age discrimination. It is absolutely reprehensible.