Saturday, March 17, 2007

What is a good developer?

For some years I am asking myself what is a good developer?
Maybe a better question is what are the knowledges need to be a good developer?

Here is what I consider need to be a good developer:
- strong OOD & OOA - apply them in all the code that is written. There is no GOOD reason to produce bad quality
- strong knowledge of the programming language used in projects
- respect for written code and for application(do not crash the entire design and principles ONLY because a pushy client wants the code ready yesterday)
- understand the whole architecture applied into the project
- learn new techs, principles day by day .... do not wait for someone to tell you what you should learn ...
- ability to clarify the requirements for the assigned tasks
- ability to estimate the tasks
- ability to keep the deadline
- ability to organize his tasks considering the dependencies of other's tasks
- ability to manage the communication with the client
- the guts to say NO
- teamplayer
- know what should be asked ... not to much dummy-questions to overkill the communication, but enough questions to clarify a situation
- direct communication - keep all the unclarities up-front, do not hide them. Say what is wrong when you see it, even if this is hard to be accepted by the person which you are in dialog
- accept criticisms, accept failures -- nobody is perfect

More to come ...

No comments: