Avantages
Lot's of opportunity to work on different technologies. A whole bunch of room to improve existing systems and workflows. Never a dull moment, there is always a challenge to overcome. Employees really smart and capable people. Initial pay is good. Don't expect anything else, ever.
Inconvénients
There is zero project management. There are sprint times where you work 60 hour weeks but expect to receive calls at 10pm for things that can wait. Hardware built on ancient technologies. Often causes many issues during implementation. Everybody seemingly can identify the problems that need to be solved. Any attempt to even start a discussion on how to fix the problem is met with stone walling. Continuous push to make things run faster and look better but trying new things is highly discouraged. Because of the number of technologies and cobbled together "solutions" it takes 3-6 months before you can understand the product. Management does not recognize the importance of existing employees. A common quote among employees is "If you want a raise, you have to give your notice." Management is cheap when providing for the staff but has no problem renovating the building continually.