Becoming a Great Developer

A family member asked me, “What advice do you have for becoming a great developer?”

Quick answer: Principle of enlightened self-interest. (http://wikipedia.org/wiki/Enlightened_self-interest)

Longer answer…

Two areas: hard skill and soft skills.  Hard skills are the capabilities in the profession.  Like programmers need to write software quickly that is correct and elegant which solves the problem or provides the needed functionality.  Soft skills, on the other hand, are abilities to interact well with other people. For programmers, they need to listen well to the customer to understand the customer’s need and to explains effectively the solution that the software provides.  Programmers often work in a team and they work in an organization (they have a boss).

In boths areas, a developer needs to continuously learn and improve.  The science of information technology is always advancing and evolving, and it seems at an increasing pace. Likewise the art of working well with other people requires experience and wisdom to not only be effective and productive, but also to help other people improve and do their best.