Information Technology Careers

Your Information Resource for Education, Training, and Schools
in the Computer and Information Technology Fields

Home Information Technology Careers IT Schools More Information

Computer Programming

Computer Support Specialists

Systems Administrators

Software Engineering

Find Computer Programming Schools Near You

Career Overview -- Computer Programmers and Software Engineers

Computer software engineers work to design and develop applications programs or systems software used on mainframes, minicomputers, personal computers, and other computer technologies. Using their skills and knowledge of computer science, mathematics, and engineering, they are responsible for designing, developing, and testing the software they create. While software engineers must be good programmers, they typically are more concerned with creating algorithms and solving programming problems than actually writing code.

In many cases, software engineers work hand in hand with computer programmers, who are primarily concerned with writing the lines of code that perform the computer task specified by the engineer. Computer programmers use a variety of programming languages, including C++, Java, COBOL, and Basic to create the instructions that tell a computer how to complete a specific task. Computer programmers are often referred to by the type of program they create, or by the language they program in, such as database programmers, Java programmers, or Internet programmers.

Software engineers typically specialize in either systems software, including operating systems, networks, and middleware, or in applications software, including packaged computer programs and utility applications. No matter which type of software development they are involved in, the tasks they perform may change frequently, due to advances in technology, or new areas of specialization. As a result, software engineers and computer programmers are constantly developing new skills.

Application software engineers analyze user needs, and then design, create, and modify applications or utility programs. Using languages such as C, C++, and Java, they may create packaged software, or develop customized systems. Systems software engineers are responsible for a company's computer systems, and work with individual departments within the company to determine their needs. They may also work on company-wide computer resources, such as intranets or networking systems.

Software engineers frequently are part of a team that includes members of the marketing and sales staffs. They may interact with customers and clients during the development phase of a project to ensure that it will meet their needs, and may provide technical support once the project is complete.

Next: Education and Training Requirements for Computer Programmers and Software Engineers