Explore career information by location
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.
Depending on their roles, qualifications, specialization and years of experience, a software engineer may:
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.
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.
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.