So as I churned through a conference call for our daily SCRUM I thought to myself, “What really makes a good developer?”
So here is my list:
- A good developer must at least know about multiple ways of doing things. Whether it is top down scripting, object oriented development, or another method. Multiple paths to solutions are very important.
- Calm nerves and a good sense of humor. Along with these two things a massive allowance and tolerance for people that are NOT going to be as quick thinking as they are. The ability to NEVER mention or imply one’s superiority, humbleness is the key to success.
- Never act like you own the business process unless you monetarily “own” the business. Even then, you might not want to act like you do if you’re doing development. It’s better to step away from such a lead role when breaking down problems.
- A good developer knows that coding is only about 10-20% of what they actually do. This is also probably the proper amount. A good developer must know the business better than anyone else, must know the ups and downs and changes of almost every department and involvement with their application, and most importantly this must be done calmly, organized, and without stress.
- For really good developers, it is key to understand and know how to break down problems. In the same vein, one should additionally know how to break down business problems and what design patterns should or should not be applied to a situation.
- Code reuse isn’t a dream, it should be the practice and standard operation of any good developer. Copy and paste does not equate to code reuse.
- A good developer MUST have people skills. A good developer must be able to communicate effectively, quickly, and accurately to business stake holders. If a developer can’t communicate well, they are not a good developer. Every design pattern in the world doesn’t replace good communication.
- A good developer must have a good sense of humor. Must be able to read people and act accordingly to manage their surrounding environment in a way that is best for the continued success of the developers development.
That’s about it. At least for core items. Got any others to add? Please comment.