There are other things to look forward to as well. Competitive salaries aside, software engineers often enjoy relatively desirable work cultures at tech companies. This includes flexible hours, mission-driven work, and less workplace hierarchy.
In-house Teams vs. Software Agencies
There are usually two kinds of software engineering teams found at tech companies: in-house teams and software agencies. Both are common in Singapore. Bigger and more tech-driven companies tend to hire in-house teams, while smaller and more traditional companies tend to outsource to software agencies. Many companies will, however, have both in-house teams and contracts with software agencies due to the difficulty of hiring enough software engineers in-house.
In-house teams are responsible for developing and maintaining a company's products. Within in-house teams, there are broadly three kinds of companies that hire software engineers:
Software agencies are typically contracted to do shorter-term projects that companies do not have the expertise or manpower to handle. Software agencies are thus exposed to a wider variety of projects due to the nature of their work. Agencies with longer contracts tend to produce higher quality work since they need to be responsible for project maintenance too.