Computer software engineers, or software developers, design and develop software applications or computer systems. They may develop computer applications for clients as well as the major systems that make a computer run. Long work hours are typical, and travel to meet with other members of design teams might be required. Since much of a computer software engineer's work is done on the computer, telecommuting is an option for this job.
|Degree Level||Bachelor's degree; some employers may prefer a master's degree|
|Degree Field||Computer science, software engineering or related field|
|Certification||Voluntary certification is available|
|Key Skills||Analytical, problem-solving, teamwork and communication skills as well as creativity and attention to detail; familiarity with database management, development environment, program testing and other related software|
|Salary (2015)||$78, 084 (median for software engineers)|
Sources: U.S. Bureau of Labor Statistics, Institute for the Certification of Computing Professionals, O*Net OnLine, PayScale.com
Step 1: Learn About the Career
Computer software engineering includes a variety of tasks and job descriptions, so aspiring software engineers may need to research the field before pursuing education and training that will prepare them for a particular career path. The types of software that computer software engineers create, test and evaluate include business applications, network control systems, operating systems, databases, middleware and computer games. Software engineers may use a variety of different programming languages.
Those who work primarily with computer systems may design and implement data assurance and system security, as well as customize computer systems to meet the needs of clients. They may also set up intranets, which are networks that allow different computers within an organization to communicate.
Step 2: Earn a Bachelor's Degree
A bachelor's degree is usually the minimum education requirement for computer software engineering jobs. Those who work with applications typically major in software engineering, computer science or mathematics. Courses in a computer science undergraduate program may include computer fundamentals, data structures, principles of programming languages, software engineering and computer architecture.
- Participate in an internship. Employers may prefer to hire those who have relevant experience in addition to a bachelor's degree. Students can participate in internships during their undergraduate education to enhance their employment prospects. Internships also enable students to gain hands-on experience and learn new skills from professionals in the industry.
Step 3: Gain Related Experience and Skills
Since computer software engineers design new software programs, they should have a high degree of creativity. They should also have strong problem-solving, mathematical and analytical skills, as well as the ability to work with abstract concepts. Communication skills are also important since they must interact with hardware engineers, industrial designers, manufacturing operations personnel and end users to develop software products. An entry-level position, such as a computer support specialist or computer technician, can help prospective engineers develop these skills and obtain hands-on experience in the field.