Avantages
Good salary (for the area) and a decent pension. There’s no pressure to do more hours than you are paid for. This is a common thing in software, many companies will ask you to stay on to get something done (with no additional pay.
Inconvénients
Software Engineering practices don’t exist – no one care’s about design patterns, standards, principles and system design. Cobbling something together is encouraged and fixing bugs is a low-priority. Dominated by contractors who are given the most exciting work to do, which makes them indispensable. So as a permanent employee you feel ripped off. No scope for self-improvement – this is a software engineer's bread and butter and keeping your skills up-to-date and sharp in a fast moving industry is vital. Graduates are seen as cheap labour - join as a Graduate Software Engineer and you will be promised the earth, but in reality you more than likely won’t be developing, but instead testing.