A great developer is a person who:
- Understands that different tools and languages excel at different tasks. They do not engage in "zealotry" choosing only one pattern or paradigm and jamming it into every problem situation.
- Understands that the goal of development is to produce "Working Software". Anything that distracts from working software should be shunned.
- Realizes that they will not be the only or last person to experience the code. Avoids unecessary complexity and comments where appropriate.
- Gets along with other developers. Realizes there are many solutions that can viably solve a problem and that their way is not always right or best. Is able to be a leader and take direction equally well.
- Gets along with end users. Is able to explain technical concepts in "layman terms". Over time, builds a trusting relationship with end users and becomes an advisor, not a dictator, for software requests. Makes every effort to learn the domain from the user perspective.
- Is intellectually honest. Does not over or underestimate deadlines, provides software in a timely fashion.
- Is always watchful. Constantly looks for ways to improve the day to day productivity and end user experience.
Posted
Wed, Sep 6 2006 2:45 PM
by
Eric Wise