Software developers need to have a number of traits in order to practice their craft well. First, they must be good analytical thinkers and problem solvers. A developer’s primary role is to create software that solves business problems. This requires analyzing customer needs and coming up with successful, creative solutions.