A dramatic shift in the social fabric of the company, onerous project development processes, weak product/software development leadership, and poor opportunities for advancement unless you land on the right team.
My perspective comes from someone working on a software development team. I write some of these comments with a heavy heart because there has been quite a dramatic shift from the company I loved when I first started.
There has been a dramatic shift in the social fabric of the company over the past year, with many long-tenure employees leaving and breaking down the old social networks that made coming to work so enjoyable. I believe that this is due to a lack of meaningful, ambitious work. The types of projects that teams have taken on in the past year feel less vital. Many of the people who have been leaving have been incredibly talented and were being under-utilized in their roles at FreshBooks.
The software/project development process at FreshBooks is quite onerous; there is a top-down, design-by-committee system that is very difficult to fight against. We often write huge amounts of code to adhere to heavy-handed designs regardless of the software development costs. Projects that could take a month to build may take three due to "beautiful" design, landmines in the codebase and the inability to do much about either.
There have been some significant leadership departures from my department over the past year and it feels like current leadership is overwhelmed and lacks direction. We rarely see or hear from developer leadership, who seem to have no goals or vision for the product or our application stack.
As for advancement, if you are lucky to be on a development team who gets good projects you are likely to be promoted, but being stuck on a team with maintenance work or difficult, contentious projects can cause career stagnation.
Fight for your own career development, do not rely on mentorship, direction or guidance from your manager.