I am quite convinced that it takes a few character traits in order for a developer to be considered great and once those are in place, the foundation is there to guarantee a long and successful professional career.
I will list them in the order of importance starting with the most important:
-  Strong will or an innate drive to get better and better thyself
-  Passion
-  Pride
-  Sense of moderation
-  Sense of humor
-  Ability to adapt
-  Ability to maintain interest for long periods of time
-  Mental and character capacity to understand and follow the INAY principle
-  Understanding the importance of proper nutrition
-  Mental capacity to realize why #9 is in the list
First of all, for any profession there absolutely must exist a drive to get better if the idea is to be any good at what you are planning to do professionally. People refer to this in different ways, some call it determination, some “will”, I call it – that “thing” inside that does not stop its pushy influence until what needs to be done is done. An internal motivator that asks you to push further, to read more, and fail more in order to even consider yourself better at anything. In software development – this is one of the biggest requirements, because of the dynamic nature of the field and it’s constantly changing environments. This drive usually is hard to gain with experience, since it is extremely well coupled with the next critical ingredient – Passion.
Passion is the only “motivation add-on” that would “convince” an individual to try something again for the 16th time after the previous fifteen have all failed. Passion is also the main reason for persistence and sticking to an idea, which one believes to have potential, or that eventually will work, contrary to all the doubters around. Passion is also the reason why companies like Amazon, Apple, and eBay have succeeded. Together with the “will” to get better this leads us to the next critical must have – Pride.
Pride comes into play as a measure of consistency. It gives confidence and also gives understanding that the results achieved from #1 and #2 above represent the actual individual, and show their passion and will to get better to those around them. Pride is the understanding that there will be a spotlight pointed at the fruits of the individual’s labor and that those fruits exemplify who he is and what he has gained as knowledge and experience at that time of his existence. Pride also gives an ego boost, which acts as an “add-on” to the passion and pushes the will to get better event further. Here, however, the individual can easily cross the line and begin to consider himself better and above others. This where the INAY principle comes into play and the next absolute must – Sense of moderation.
Sense of moderation is extremely important since it acts as the scale with which almost everything is measured. This allows the individual to know when he needs to came back to earth rather then fly in the clouds of his greatness, when to stop over-engineering, over-architecting, over-experimenting and over-being someone who he is not. This also brings us to the sense of humor, which allows the individual to make fun of himself or those around him who lack the sense of moderation or who are about the cross that thin line, which separates the acceptable and the extreme.
The sense of humor also points out and keeps inline to some extend those who lack any of the above mentioned traits and stimulates the work environments (in most cases) in a positive manner. Working what you love and having fun while doing it is hard to beat and having sense of humor contributes significantly in that equation. In those environments where there is a lack of positive attitude and understanding, the ability to adapt plays a major role.
Adapting to different environments, practices, frameworks etc. is usually a challenge quite common to technology professionals. In some cases change is necessitated by the drive to get better at certain technologies, in other – differences in solution methodology or interpretation drive the individual to go outside of his comfort zone and adapt. It is absolutely critical for every developer to be able to easily adapt to change and not lose interest quickly!
This is where the ability to maintain interest for a long period of time comes into play. It is quite common in the development world for an IT professional, team, or organization to start a task or a project with great enthusiasm and never actually finish it successfully. Due to the passion and the ability to adopt quickly to change, many developers loose interest swiftly after they have played/experimented with the latest and greatest gadget, hardware of software framework. It is extremely important that the developer can maintain a healthy level of interest until the actual task is completed in its entirety. The ability to finalize a task or a project should not be underestimated. If that is not the case, in almost all scenarios the result is a failed project, which then represents in a negative manner the individuals who were part of it, which in a sense hits the pride trait I mentioned above, since now this is hardly something that the developers should be proud to have been part of.
This also brings us the INAY principle, which states that in any business organizational entity founded or driven by an idea the idea itself is more important than the actual building block, which in this case is the developer as part of the software development team. The developer must be able to understand that he contributes to an idea, which is the main reason for him being part of a team. The INAY principle reminds the individual that it is not about him, but about the idea that he and the team around him are working together to achieve. It also attempts to block the egocentrism and promote the sense of moderation, described above.
Another important reason why the sense of moderation is extremely important is nutrition. Individuals who lack proper nutrition suffer from various side effects starting from health and going as far as social integration issues. Not being able to realize the side-effects of over nutrition and under nutrition is usually a sign of immaturity and lack of the top trait we already covered above.
To summarize: The software development industry with its dynamics and constant fluidity poses an interesting challenge for individuals who find it exiting and who want to be part of it. What I have done is to try to synthesize the initial character traits that I believe would be most beneficial for long and successful career in a quite young and constantly growing computer industry.
Hope this makes sense to you and helps.