10 Qualities of Good Developer

byPawel BrodzinskionSeptember 4, 2007

1. Perspective. Ability to look from business perspective apart from (typical) code-level perspective. Understanding why all the coding is done and where are the fruits for the customer/user whoever it is.

2. Questions. Asking why something is done that way. Discussing answers. Showing own point of view. Trying to be objective in the whole thing.

3. Communication. It doesn’t have to be great but you should be able to talk with non-developers in a way which is understandable by the other side.

4. Fallibility. Actually everyone is fallible, but not everyone is able to admit that.

5. Experience. From different situation, different systems, different issues, different architectures, different teams, different technologies, different environments. The more the better.

6. Learning. Will and ability to self-develop, learn (quickly) new things and adapt to new environments.

7. Digging. Understanding a problem to the very bottom. Trying to find out what’s happening under the hood. Rejecting easy trial-and-error explanations.

8. Reason. Every thing which is developed serves some purpose and using common sense one can easily decide which actions are justified and which are not.

9. Hobby. Treating development as at least something more than just a job. Will to do develop something just for yourself, not because you were forced to.

10. Quality. Just remember the quality is a weak point of software development and be willing to do something about your little piece of that crap.

None of them are actually about any particular technology. None of them is about any particular software development methodology. There’s no answer to specialization versus versatility question.

Things which differentiate good developers aren’t those which used to be considered as their core qualities.

I would raise a question: whose business perspective is meant here? – the company business or the developer’s himself.

Both are frequently to large extent convergent, otherwise both parties would not cooperate. They are however never ideally aligned.

A couple of years back, I worked with an engineer who honestly claimed from the beginning that his goal was to set up a competing startup a few years after. He admitted that to his superiors and they supported his plan. At least it looked that way :-)

Many developers are eager to help their employers gain money. At the same time they care to build their own palette of core technical skills. They want to acquire hands-on experience in that latest cutting-edge technology, so that this could shine brightly later on their cv/resume.

Developers are there to get things done for their companies. Companies are there to help their developers develop.

The answer for the question about business perspective is: neither company’s nor developer’s. Developer needs to understand customer’s perspective. It doesn’t matter if his goal is to help to grow company he works for or he works on building his own business – he needs to understand customers their needs and their background.

The dilemma you point about divergence between developer’s and employer’s goals is interesting (and worth writing about) however it doesn’t affect the view of quality developer.

this article is very NICE and USEFUL to students. YOU ARE DOING GREAT JOB FOR US. MU HEARTY THANKSSSSSSSSSSSSSSSSS for blogging this. but i have one doubt what are the language to be known for a good developer?.everyone says that c and c++ is enough but i want to be good developer so please suggest the programming languages to be known ? please reply my question sir..

Dosn’t matter which programming language you use. If you know one language you can learn rest very easily. I have started my career with VB 6.0 later I moved to VB.Net and C#. Now I am working in iOS. Objective-C is the programming language.

Excellent post. I’m a junior developer with 1 year experience and I want to become a quality programmer by improving my skills. I found very helpful information from your post. Thanks for sharing such informative post with us.