What does a Software Engineer do?
Software engineers are the creative minds behind computer programs. They may begin by asking how the customer plans to use the software. They must identify the core functionality that users need from software programs. software engineers must also determine user requirements that are unrelated to the functions of the software, such as the level of security and performance needs. They design the program and then give instructions to programmers, who write computer code and test it.
If the program does not work as expected or if testers find it too difficult to use, software engineers go back to the design process to fix the problems or improve the program. After the program is released to the customer, a software engineer may perform upgrades and maintenance.
Working as a Software Engineer
Depending on their roles, qualifications, specialization and years of experience, a software engineer may:
- Analyze users' needs and then design, test, and develop software to meet those needs
- Recommend software upgrades for customers' existing programs and systems
- Design each piece of an application or system and plan how the pieces will work together
- Ensure that a program continues to function normally through software maintenance and testing
- Document every aspect of an application or system as a reference for future maintenance and upgrades
- Collaborate with other computer specialists to create optimum software.
- Create a variety of models and diagrams (such as flowcharts) that show programmers the software code needed for an application
How much does a Software Engineer make in the United States?
Average base salaryData source tooltip for average base salary.
The average salary for a software engineer is $105,253 per year in the United States and $4,000 cash bonus per year.
Frequently asked questions
How many vacation days do software engineers get per year?
This differs greatly between employers. Tech employers are often competing for talented software engineers and often have extremely generous policies, including unlimited paid time off.
What's the dress code for a software engineer?
Good software engineers are hard to find and retain, so they are often treated very well and given a lot of freedom in their choice of clothing. Extreme outfits should be avoided and some employers disallow very casual clothing like shorts or flip flops, but casual clothing that wouldn't look out of place when worn on the streets in a large city is probably ok.
Some more formal workplaces still exist. Software engineers working for large corporations or consultancies may still be required to wear more formal clothes, but suits are extremely uncommon.
What are the working hours for a software engineer?
Software engineering is a mixture of project work, meetings and mentoring. The meetings and mentoring require you to be present in the office, but the project work can be completed anywhere. This leads to a variety of different working hour practices across different employers. Some simply measure output, and the employee is free to arrive and leave as they please. Others require employees to arrive for a set of core hours (eg 9-5), and also measure the output.
Often, during crunch times, when a product deadline is looming, the engineering team will be expected to work harder than usual, and may end up being in the office for many more hours than contracted - they usually do not receive overtime payments for this work.