Está en la página 1de 9

Computer Software Engineer

At a Glance
Computer software engineers design, develop, and test the set of programs that tell a computer what to do.

Core Tasks

Applications engineers develop software programs that perform specific tasks Systems engineers develop larger computer systems Analyze project requirements and design software products or computer systems Test and debug software or systems Some specialize in systems analysis, sales, or research and design

Workplace

Work for software companies, government agencies, and computer and electronics manufacturers Work primarily in offices or labs A lot of work is done at a desk, in front of a computer The work can be stressful Most work 40 hours a week, but overtime is often required

Earnings
Typical EarningsRange: $40 - $120

$54,000 to $143,000 a year for most The median is about $88,000 a year for applications engineers The median is about $94,000 a year for systems engineers Earnings depend on level of education, experience, and position

Education & Training


A bachelor's degree in computer software engineering or a related subject A masters degree or PhD is often required for senior and advanced research positions Register as a Professional Engineer (PE)

Level of Education

4-Year College or University

Attributes & Abilities

Logical and analytical Math and computer skills Communication skills Problem-solving skills Able to keep up to date with technological advances

Michigan Career Pathways


pathwayDescription

JobDescription
From turning on the computer to reading this job description, youve used several different pieces of computer software. Each function you complete on a computer, whether its connecting to a network, surfing the web, writing an essay, or playing a video game, is made possible by a different piece of computer software. These complex systems are created by computer software engineers. Software is the name given to the different applications that enable computers to function. Each application is a series of coded instructions that tell a computer how to complete functions and how to react to user inputs. For example, a web browser allows us to surf the Internet. The code that makes up the browser tells it that when the user hits the back button it should go back to the previous web page. Computer software engineers apply their knowledge of computer science, engineering, and mathematics to create and customize a wide range of different types of software. Like computer programmers, software engineers need strong programming skills. However, engineers also need a more thorough knowledge of computer hardware and the science behind these systems. Engineers are often more concerned with developing algorithms and analyzing and solving programming problems than with actually writing code. There are two general types of software engineer: those who work in applications engineering and those who work in systems engineering. Applications engineers design and create application programs, which includes everything from programs that allow users to carry out basic tasks, such as word processors and web browsers, to operating systems. Operating systems, such as Linux or Windows, manage the way the hardware components of a computer system (for example, disk drives, video cards, sound cards, hard drives, and printers) work together. They also allow users to easily access the programs of their choice. Because software engineers understand the internal workings of a computers hardware, they are the best qualified to develop efficient operating systems. Engineers who work in computer systems engineering work on a larger scale, often designing, coordinating, and maintaining the integrated computer systems of large organizations such as businesses or governments. These engineers need to understand how every part of the organization works, what each part needs the system to do, and what hardware is needed to make this happen. When software engineers are faced with a new assignment, they first analyze the requirements for the software or system they are creating. This preliminary analysis and design work will likely be done on computers, using specialized software. Once they have a design they believe will work, engineers can make a test version of the software. To do this they often work with other engineers and programmers. When the test version is complete, the engineers spend a lot of time looking for and correcting flaws, or debugging the software. Some engineers specialize in areas such as system analysis (analyzing a companys existing system and suggesting upgrades or modifications), sales (selling software products or the services of engineering consulting firms), or research and design (experimenting with new ideas).

WorkingConditions

Computer software engineers work for companies that specialize in computer systems design, as well as for software publishers, government agencies, computer and electronics manufacturers, and in other related industries. Some work for consulting firms, while others start their own consulting businesses. Software engineers work primarily in office or lab environments. Their workplaces are generally clean and comfortable. Because this is a collaborative field, engineers frequently interact with co-workers and clients. The vast majority of a software engineers time is spent sitting at a desk, in front of a computer. Although this kind of work is not physically demanding, working at a computer all day can lead to back and neck strain, as well as repetitive stress injuries. The software publishing industry is fast-paced and highly competitive. Each company is trying to get new products to the market before their competitors. This atmosphere can make the jobs of applications software engineers very stressful at times, as their companies expect them to achieve results on tight deadlines. Systems engineers can face similar stress when their employer has to wait for them to correct a flaw in their system before they can carry on with their work. Long delays in fixing a crashed system can cost companies enormous amounts of money. Engineers who work as consultants may have to travel across the country (or around the world) to meet with clients, or to visit factories to inspect or troubleshoot equipment. Being away from home often, or for long periods of time, can make it difficult for engineers to balance their work and family obligations. People in this career usually work an average 5-day, 40-hour week. However, they frequently put in extra hours in the evenings and on weekends as project deadlines approach, or when there is an emergency.

Earnings
Earnings for software engineers vary depending on their level of education, their experience, and the type of position they hold. For example, those working in systems software tend to earn more than those who work in applications. Similarly, those working in the software publishing industry have a slightly higher median income than those working in the computer systems design and related services industry. Most computer software engineers earn an annual income of between $54,000 and $143,000. The national median earnings for applications engineers are about $88,000 a year. For systems software engineers the median is approximately $94,000 annually. The software engineers who have the highest incomes are those who establish reputations for quality work and who move into senior or supervisory positions. Some of these engineers progress to senior management positions, such as president or chief executive officer (CEO). These engineers can earn over $150,000 a year. In addition to their salaries, full-time software engineers receive benefits. Usually this includes things such as health and dental insurance, and paid vacation and sick leave. Some companies may also provide their engineers with the use of a company car and annual profit-sharing or performance-based bonuses. Self-employed engineers who work as consultants must pay for these benefits themselves.

MichiganWages
Occupation: Software Developers, Applications

Levelof Experience

Hourly

Annual

Entry Wage

$30.56

$63,560

Median Wage

$36.02

$74,930

Experienced Wage

$44.57

$92,710

Source:U.S. Department of Labor, Bureau of Labor Statistics http://www.bls.gov Occupation: Software Developers, Systems Software

Levelof Experience

Hourly

Annual

Entry Wage

$31.55

$65,630

Median Wage

$39.33

$81,820

Experienced Wage

$46.26

$96,230

Source:U.S. Department of Labor, Bureau of Labor Statistics http://www.bls.gov

MichiganOutlook
Occupation: Software Developers, Applications

Employment

2010

10,230

2020

12,630

Change

Number

2,400

Employment

2010

10,230

2020

12,630

Percentage

23.5

AnnualAverageOpenings

Total

Growth

Replacement

346

240

106

Occupation: Software Developers, Systems Software

Employment

2010

6,550

2020

8,960

Change

Number

2,410

Percentage

36.9

Employment

2010

6,550

2020

8,960

AnnualAverageOpenings

Total

Growth

Replacement

310

242

68

Source:Michigan Department of Technology, Management & Budget, Labor Market Information http://www.milmi.org

Education
High school students interested in a career in computer software engineering should receive good grades in math, English, science, and computer courses. You should also try to get experience using and working with as many computer systems, programming languages, and related technologies as possible in your own time. A bachelors degree in computer software engineering, or a related subject like computer science or computer information systems, is usually the minimum requirement for this career. Some computer science programs offer an optional software engineering component. Relevant degree programs are available at colleges across the country. A bachelors degree usually takes 4 to 5 years to complete. Some programs include co-op or internship components, which can be helpful in securing employment for students when they have completed the program. Although a bachelors degree is enough for many entry-level jobs in this industry, employers often require a masters degree or PhD for more complex positions. A graduate degree can also help engineers advance more easily within a company. Masters degrees usually take 1 to 2 years to complete, and PhDs take at least another 4 years. Those who want to work as engineering professors at a college will need a PhD. Anyone offering their services directly to the public needs to be licensed as a Professional Engineer (PE) by their state licensing board. Candidates must complete an engineering program, acquire several years of work experience under the supervision of licensed engineers, and pass two exams.

RelatedCollegePrograms

Computer Software Engineering Computer Engineering, General Electrical and Electronics Engineering Computer Science

Mathematics and Computer Science

OtherSuggestedQualifications
Software engineers should be logical thinkers who have a good eye for detail and excellent analytical skills. They should also be curious and have an aptitude for math and science. The ability to communicate effectively is important because they work on teams with other professionals and different types of engineers. Most importantly, they must be interested in solving problems through the use of technology. In this field, you have to always be on top of the latest technological advances, so training and education continues throughout your career. Many engineers take ongoing education programs offered by trade groups and equipment vendors. They may also take night courses at colleges. A Master of Business Administration (MBA) degree or any other business-related qualification is an asset, and sometimes a requirement, for engineers who want to take on more administrative and project management responsibilities as their careers progress. Engineers who go on to become executives in their companies often have an MBA.

SuggestedHighSchoolSubjects
Grade9 Grade10

English Mathematics Science Social Studies - Geography Health & Physical Education Creative Arts Business Computers

English Mathematics Science Social Studies - History Business Computers Electronics & Communications Technology

Grade11

Grade12

English Mathematics Probability & Statistics Science Law & Government Computers Computer Programming Electronics & Communications Technology

English Algebra & Geometry Calculus Science Economics Computers Computer Programming Electronics & Communications Technology

Important

Check with your advisor to make sure that your course selections satisfy your graduation requirements. Courses available may vary from school to school.

SampleCareerPath
People take different pathways through their careers, but no one starts at the top. This is an example of how the earnings, education and experience requirements, and responsibilities might progress for someone in this occupation.

Level1

SampleTitle

Entry-Level Software Engineer

Earnings

$54,000 to $65,000 a year

Requirements

Bachelors degree in computer engineering or a related subject

Responsibilities

Under the supervision of senior software engineers, carrying out basic tasks, such as analysis and number crunching; working with other engineers and researchers to help solve problems.

Level2

SampleTitle

Software Engineer

Earnings

$65,000 to $100,000 a year

Requirements

A few years of experience

Responsibilities

Working with less supervision; doing more complex analyses; taking on more complicated software design projects; supervising the work of junior engineers.

Level3

SampleTitle

Senior Engineer

Earnings

$100,000 to $150,000 or more a year

Requirements

A graduate degree in engineering or a Master of Business Administration (MBA)

Level3

degree Many years of experience

Responsibilities

Reviewing other engineers work; assigning responsibilities to other engineering staff; making decisions about overall policy; evaluating new designs; liaising with other departments to ensure that the work is meeting the requirements of the company; possibly carrying out departmental administrative functions, such as budgeting.

También podría gustarte