Success doesn't lie in technical skills or education alone, although they certainly help. Programmers don't exist in a vacuum; they generally interact with teams. Successful programmers must also possess the following personal (soft) skills:
- Ability to solve problems. Let's face itthe world of software development is a magnet for Murphy's Law: If something can go wrong, rest assured that it will. A savvy programmer must be a solution-oriented, out-of-the-box thinker who frequently comes up with new and innovative ways of doing old (and new) things.
- Good communication skills. Communications are a must! That means communicating with humansa mind-meld with the computer isn't enough. These skills should encompass all facets of communication, including both written and verbal contact.
- Self-discipline. While programmers may interact with groups, writing code is a solitary process that requires self-discipline. The world of software development is frequently fraught with deadlines and last-minute changes that translate into long days and lots of hard work.