Pros
- MSDN Subscription for development tools. - Top quality laptop, docking station and monitor. - Social activities, such as: hockey, lunch time games and Friday lunches. - Will allow you to expense training materials such as books. - Successful and growing. With growth, there is opportunity. - Good extra compensation if working onsite. - Profit sharing. - Continuous integration server runs on version control system. - Potential for very interesting projects.
Cons
- The interview process lacks any code review or other testing. You want your employer to have high standards when hiring. - The opposite of an open concept working space. Very drab, depressing grey colours and neon lighting. You are lucky to be within eyeshot of a window. - Isolated daily work experience. - Legacy code base, with very little automated testing. Changes to the code can be very difficult and error prone. - No real on-boarding process. You will need to reverse engineer in order to understand how things work. - Their SmartSuite product is database driven, meaning everything flows through one large database. Different products share the same database schema, causing it to be excessively large. There is little or no documentation explaining the database structure. - Business logic is scattered throughout the application, right from the UI and all the way back into stored procedures. You will frequently need to trace logic through many many layers to understand what is happening. The debugger will be used a lot. - No sick days. - Development of new features is hindered by code debt. Your performance as a developer can be hurt by this. - You will be shamed for bugs found in your code. But you are working without unit tests, and a complex system that is not conducive to testing. - Setting up tests is time consuming, many times requiring running multiple processes, manually creating flight objects, bag objects and sending messages through a test harness. Testing in isolation is difficult, or not an option at all.