XTotal Pay combines base annual salary or hourly wage, bonuses, profit sharing, tips, commissions, overtime pay and other forms of cash earnings, as applicable for this job. It does not include equity (stock) compensation, cash value of retirement benefits, or the value of other non-cash benefits (e.g. healthcare).

XTotal Pay combines base annual salary or hourly wage, bonuses, profit sharing, tips, commissions, overtime pay and other forms of cash earnings, as applicable for this job. It does not include equity (stock) compensation, cash value of retirement benefits, or the value of other non-cash benefits (e.g. healthcare).

Job Description for Software Engineer

A software engineer is responsible developing and maintaining software applications and/or systems that function reliably and efficiently. They apply computer science principles and mathematical analyses to develop software or systems responsive to users' needs. Their specific day-to-day tasks vary by their company and field. However, in all tasks, software engineers must exhibit logical, structured thinking and be able to identify even the most minute of glitches.

Educational requirements for software engineer positions vary by employer, though most positions require at least a bachelor's degree in computer science or a similar field. Employers tend to place higher emphasis on relevant experience and demonstrated knowledge. A software engineer must have at least a rudimentary knowledge of many programming languages and operating systems, and they should be highly proficient in at least one core programming language. Software engineer positions require excellent attention to detail, problem-solving skills and communication skills.

Software engineers spend the majority of the time working in an office environment, with many hours at a time spent in front of a computer and using a keyboard. This is usually a full-time position, and most software engineers can expect to occasionally work longer hours to meet deadlines and troubleshoot malfunctioning software systems. Many companies allow software engineers to telecommute for at least part of the time.

Software Developer Job Listings

Search for more jobs:

Popular Employer Salaries for Software Engineer

Popular Skills for Software Engineer

This chart shows the most popular skills for this job and what effect each skill has on pay.

Pay by Experience Level for Software Engineer

Median of all compensation (including tips, bonus, and overtime) by years of experience.

Pay Difference by Location

Software Engineer Reviews

What is it like working as a Software Engineer?

Software Engineer in Oakton:

"My thoughts."

Pros: Problem solving, working with great people. The feeling like I am contributing to something.

Cons: Depending on the job, periods of crunch where work either requires or strongly desires over 40 hours of work. Scheduling work plans with non-work plans can be hard especially on relationships.
Stress is usually high during these periods.

Software Engineer in San Diego:

"Interesting work."

Pros: I work on robotics, which doesn't apply to every software engineering position. It is very interesting and you get to work on unsolved problems rather than just producing more of the same for a different customer.

Cons: It can be hard to get everyone headed in the same direction on a project.

Software Engineer in Reston:

"Creating Great Software Everyday."

Pros: Everyday is a new challenge as a software engineer which really helps keep work from getting boring. There is always a new technology and a new skill you need to pick up. Nothing is more rewarding than shipping a product on time!

Cons: Bugs and testing is probably the least fun part of my day to day responsibilities. But it really pays off in the long term.
Hopefully you're writing good enough code that you don't have to do much of it!

Software Engineer in Chicago:

"Office Conditions."

Pros: It is an easy job and my colleagues are friendly

Cons: It is a low salary job and food is terrible

Software Engineer in Duluth:

"Not A Bad Gig."

Pros: I get to work on problems that are brainpower intensive.

Cons: There is a lot of corporate bullshit to deal with. I don't get to pick the projects I work on, there is no professional development investment in my company. If I were mid career and I was interviewing for this company I would run, not walk, as far away as possible.