Computer Engineer Jobs


Like this graph? You can use it on your website.

The average value of the Bachelor degree needed to become a Computer software engineers, applications is $2,021,926.00.

Points of Interest

  • Opportunities will be highest for applicants with at least a bachelor's degree.
  • From 2008-2018, computer software engineers are projected to grow faster than most occupations, adding the most jobs.

Nature of the Work

Computer software engineers conceptualize, design, implement and test software. Using the theories of computer science and statistical analysis, they can evaluate applications and problem solving solutions, in addition to creating the code that allows computers to perform basic functions. Because technology changes at an extremely rapid rate, computer software engineers duties are not static.

Software engineers are not limited in the types of applications they design. While software companies do specialize in creating products that fall under a particular category, engineers might work on anything, including computer games, operating and network control systems, business applications or middleware. More increasingly, software engineers are called upon to create applications for unconventional systems such as smartphones, PDAs and other hand-held systems and devices. The versatile range of needs software engineers fulfill means that they must have extensive expertise in understanding the nature and limitations of the computer hardware they are programming for, as well as the best alternatives for solving problems through structuring and implementing innovative software.

After beginning by analyzing user needs, computer software engineers will design and develop solutions as well as run them through a number of tests to ensure viability under a host of conditions. They turn concepts into working models and prototype versions by outlining their goals with diagrams, flowcharts and other documents, often collaborating with other engineers to determine the best way to create a set of instructions, or algorithm, for a computer to follow. While modern and future software engineers are increasingly called upon to code these constructions into various computer languages, this task has been largely left up to computer programmers in the past. There are two main categories of computer software engineers, systems engineers and applications engineers.

Computer systems software engineers usually organize and oversee the changes that organizational computer systems often undergo, including planning, implementation, growth and maintenance. In cooperation with department heads and staff, they coordinate computer needs and usage and provide valuable suggestions and advice about technical implementation. Intranets and other internal networked communication systems are usually under the jurisdiction of these software engineers. They routinely identify needed changes and assist in logistical or technical troubleshooting, serving as primary points of contact between users and the firms that implement organizational systems. By maintaining a firm understanding of changing department needs, computer systems experts help companies, schools and government agencies tailor their generic software packages for their own specific use for billing, inventory, payroll, security, personnel control, record-keeping, communication and a host of other tasks.

computer software eng

Computer application software engineers are concerned with specific software projects, analyzing user needs to create, construct, distribute and maintain applications. These specialists use varied program languages, like C, C++, Java and Python, to create environment-specific solutions to a host of problems. While most engineers adapt customized applications to specific purposes and develop organizational databases, there are a select few tasked with creating new packaged computer software.

Some of the tasks formerly under the jurisdiction of computer software engineers have been given to computer programmers whose normal fare has been replaced by automated programming functions. Programmers traditionally converted the designs created by software engineers in to logical instructions structured for computers to process and follow, but in modern settings, they help evaluate customer needs and design some portions of applications. Programmers work extensively with computer languages and use specific programmer environment applications to compile, generate, walk through, debug and run test data through given code sections.

Most computer software engineers work in offices or laboratories, environments optimized for maximum ergonomic comfort during long hours. While most work regular 40 hour weeks, about 15% of software engineers worked over 50 hours in 2008, as did 11% of programmers. Some programmers and software engineers are independent contractors and consultants who run their own businesses. Although workers at these jobs only rarely experience injuries, they are at risk for long term ailments like back problems, hand and wrist issues like carpal tunnel syndrome and eyestrain.

Training, Other Qualifications, and Advancement


Like this graph? You can use it on your website.

Entry level computer software engineering and computer programming positions typically require applicants to have a minimum of a bachelor's degree, but the non-structured nature of what is a relatively young industry means that a combination of 2-year degrees and experience may be acceptable in some cases. Strong portfolios of previous work, innovative skills and proven problem solving abilities are looked upon favorably. As with all computer-related jobs, workers who constantly stay abreast of new technology are able to obtain the best positions and command top salaries.

College degrees in computer science, information systems, information technology and mathematics are generally accepted by employers who deal with software creation and distribution. Companies who simply use computers for business purposes usually take on applicants with extensive programming background who also have college training in business or management information systems. Some jobs require graduate degrees, especially those that place applicants in charge of programming or software engineering teams.

By structuring their education so that their minors and extra courses cover related fields, prospective computer software engineers increase their chances of being hired. Applicants seeking employment at bureaucratic institutions, for instance, often benefit from expertise in fields like human resources management and business, while those who work for companies with security concerns must understand how to keep track of sensitive information. Seminars and continuing education courses are just one way to maintain current knowledge. Many major software manufacturers like Sun Microsystems, Apple Computers, Adobe and Microsoft offer certification in proficiency skills related to specific software packages, allowing programmers and software engineers to demonstrate their knowledge in a standardized, widely-recognized setting.

Professional computing societies also offer voluntary certification, as well as training that helps computer software engineers increase their problem solving skill set. Engineers are required to work with abstract concepts on a regular basis, creating real-world solutions that generate mathematically verifiable results. They have to be able to adapt their normal strategies to meet any number of technically challenging problems that crop up without precedent, and must be able to perform numerous tasks simultaneously, often working in large teams. Without highly developed oral and written communication skills, these engineers have a difficult time creating applications that satisfy needs or explain new changes and requirements to end users with little concept of how programs work.

Advancement prospects are best for workers who maintain their knowledge of current technology trends, as new languages and programming standards are under constant development. While in-company promotions do lead to internal assignments as team leaders and managers, many software engineers simply branch out on their own after they have gained enough experience, choosing to start their own software solutions firms.

A large number of engineers find highly profitable positions working as independent consultants and systems designers, especially with the advent of online marketplaces and freelance exchanges. Programmers who stay within an organization typically get promoted to lead programmer after they have demonstrated adequate reliability and experience, eventually moving from application-oriented work to systems programming. Government agencies generally provide more structured career paths for their programmers, but a large number of the staff who start out in the entry level positions go on to become independent contractors.

Employment

In 2008 there were about 514,800 computer software application engineers, 394,800 computer systems software engineers and 426,700 computer programmers, for a total of around 1.3 million jobs. 32% of these were in computer systems design and related industries, and a good number worked for computer and electronic equipment manufacturers, financial institutions, insurance providers and software publishers. Around 48,200 software engineers and programmers were self-employed consultants.

Job Outlook

Rapid growth of emergent technologies, especially those having to do with the Internet and mobile technology, will lead to a very fast increase in computer software engineer jobs, with the best prospects going to those with previous relevant experience and appropriate degree credentials. Massive increases in computer networking, even within small businesses that traditionally do not use such technology, will lead to more software engineering positions who can develop intranet, Internet and web applications. In addition, growing complexities in business, healthcare, government and other businesses who use data-processing systems will lead to higher demand for experienced professionals.

Technological improvements will require engineers who can integrate old systems and data to newer, more efficient standards and mobile technology. Increased concern about cyber security, in public and private sectors as well as state, local and federal government agencies will lead them to seek more workers who can design secure systems and maintain them against attack. Military and other bureaucratic agencies are especially prone to having these needs.

The widening scope of software system engineers' tasks will also lead to more and more programmer jobs being replaced by engineering positions. Additionally, offshore outsourcing will reduce computer programmer jobs, which are projected to experience a slow 3% decline over the next decade. This decrease will only become more prominent as the ease of using coding software and programming tools allows users to develop their own specific applications. As a result of these trends, traditional computer programming positions and candidates are seeing a shift due to increased independent outsourcing and contractor work. There will still be a number of employers who require local, dedicated programmers, especially in low-cost areas of the United States, as coordination with non-foreign businesses is much easier.

Rapid employment growth, coupled with a need to replace workers who transition in to other sectors and higher level positions, will equate to excellent prospects for computer software engineers with bachelor's degrees and strong, diverse skill sets. Consulting opportunities will continue to grow as businesses seek to manage more complex systems, and programmers with proper educational credentials will see job openings due to a need to replace transfers and other workforce losses.

Projections

From 2008 to 2018, computer programmers will see a 3% decrease in jobs from 426,700 to 414,400, as software engineer positions increase and take on many of the roles formerly given to programmers. Applications computer software engineer jobs will jump 34% from 514,800 to 689,900 and systems software engineer jobs will increase 30% from 394,800 to 515,000, as projected by the National Employment Matrix.

Earnings & Wages

May 2008 saw median annual wages of $85,430 for computer applications software engineers. The lowest 10% earned under $53,720, the middle 50% earned from $67,790 to $104,870 and the highest 10% earned over $128,870. Computer systems software engineers at that time had slightly higher median annual wages of $92,430, with the lowest 10% earning less than $57,810, the middle 50% earning between $73,2200 and $113,960, and the highest 10% earning over $135,780. Computer programmers earned median annual wages of $69,620, with under $40,080 for the bottom 10%, between $52,640 and $89,720 for the middle 50% and over $111,450 earned by the upper 10%. Starting salaries for computer science bachelor's degree-bearing graduates in July 2009 averaged $61,407.

Related Occupations

  • Engineer
  • Computer Scientist
  • Hardware Engineer
  • IT specialist
  • Database Administrator
  • Mathematician

Sources of Additional Information

  • The National Center for Women and Information Technology provides more info on their website at http://www.ncwit.org .
  • The Institute of Electrical and Electronics Engineers Computer Society website can be found at http://www.computer.org .
  • The National Workforce Center for Emerging Technologies provides career info via http://www.nwcet.org/

Related Jobs

People with the educational background, skills, and desire to become a Computer software engineers, applications might be well suited to work in one of the following fields as well:

 

Online Degree Finder

3 Quick Steps to Finding the Perfect Degree