Software developers usually have a bachelor’s degree in computer science and strong computer-programming skills.
Software developers usually have a bachelor’s degree, typically in computer science, software engineering, or a related field. A degree in mathematics is also acceptable. Computer science degree programs are the most common, because they tend to cover a broad range of topics. Students should focus on classes related to building software in order to better prepare themselves for work in the occupation. For some positions, employers may prefer a master’s degree.
Although writing code is not their first priority, developers must have a strong background in computer programming. They usually gain this experience in school. Throughout their career, developers must keep up to date on new tools and computer languages.
Software developers also need skills related to the industry in which they work. Developers working in a bank, for example, should have knowledge of finance so that they can understand a bank’s computing needs.
Analytical skills. Developers must analyze users' needs and then design software to meet those needs.
Communication skills. Developers must be able to give clear instructions to others working on a project.
Creativity. Developers are the creative minds behind a new piece of computer software.
Customer-service skills. Some developers must be able to explain to their customers how the software works and answer any questions that arise.
Detail oriented. Developers often work on many parts of an application or system at the same time and must be able to concentrate and pay attention to detail.
Problem-solving skills. Because developers are in charge of the software from beginning to end, they must be able to solve problems that arise throughout the design process.
Teamwork. Software developers must be able to work well with others, who contribute to designing, developing, and programming successful software.
Technical skills. Developers must understand computer capabilities and languages in order to design an effective piece of software.
Source: Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, 2012-13 Edition