Computer Software Engineer
|Overview:||Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team.|
|Duties:||Software engineers working in applications or systems development analyze users’ needs and design, construct, test, and maintain computer applications software or systems. Software engineers can be involved in the design and development of many types of software, including software for operating systems and network distribution, and compilers, which convert programs for execution on a computer. In programming, or coding, software engineers instruct a computer, line by line, how to perform a function. They also solve technical problems that arise. Software engineers must possess strong programming skills, but are more concerned with developing algorithms and analyzing and solving programming problems than with actually writing code. Computer applications software engineers analyze users’ needs and design, construct, and maintain general computer applications software or specialized utility programs. These workers use different programming languages, depending on the purpose of the program. The programming languages most often used are C, C++, and Java, with Fortran and COBOL used less commonly. Some software engineers develop both packaged systems and systems software or create customized applications. Computer systems software engineers coordinate the construction and maintenance of a company’s computer systems and plan their future growth. Working with the company, they coordinate each department’s computer needs—ordering, inventory, billing, and payroll recordkeeping, for example—and make suggestions about its technical direction. They also might set up the company’s intranets—networks that link computers within the organization and ease communication among the various departments.|
|Degree(s):||A.S. Engineering Science
A.A.S. Computer Information Systems: Computer Programming Track
A.A.S. Computer Information Systems: Microcomputer Applications Software Track
|Job Outlook:||Employment of computer software engineers is expected to grow much faster than average through 2018. Demand is high for workers who can develop new products for the Internet, intranet, and web applications as well as electronic data processing systems for all organizations. Information security concerns will give rise to new software to protect the cyberspace infrastructure.|
|Starting Salary:||Starting salary offers for graduates with a bachelor’s degree in computer engineering average $52,464; offers for those with a master’s degree average $60,354.|
|Education Level:||Typically, a Bachelor’s Degree from a 4-year college (some are 5 years) is required to be considered for this occupation.|
|Additional Training/Education:||Most employers prefer to hire persons who have at least a bachelor’s degree and broad knowledge of, and experience with, a variety of computer systems and technologies. The usual degree concentration for applications software engineers is computer science or software engineering; for systems software engineers, it is computer science or computer information systems. Graduate degrees are preferred for some of the more complex jobs. Increasing emphasis on computer security suggests that software engineers with advanced degrees that include mathematics and systems design will be sought after by software developers, government agencies, and consulting firms specializing in information assurance and security.|
|Advancement Info:||As is the case with most occupations, advancement opportunities for computer software engineers increase with experience. Entry-level computer software engineers are likely to test and verify ongoing designs. As they become more experienced, they may become involved in designing and developing software. Eventually, they may advance to become a project manager, manager of information systems, or chief information officer. Some computer software engineers with several years of experience or expertise find lucrative opportunities working as systems designers or independent consultants or starting their own computer consulting firms.|
* National data collected by the Department of Labor in 2014 with projections through 2024. For New York green job information .
Understanding acquiring positions in this field may be enhanced through continuing academic study (i.e. earning a baccalaureate or a master's degree) and/or work experience in the field, Queensborough Community College has established transfer agreementswith other institutions for students who wish to further pursue their educational goals. Students are highly encouraged to meet with one of our Career Services to fully understand the opportunities available through study in their degree program.