Pros
Although Alarm.com is growing a lot and creating more managerial positions, the overall mentality of a "matrix hierarchy" still reflects in all of the teams. All opinions are respected and even as a new engineer you have the opportunity to get involved in important projects and make big improvements to the codebase! There are also plenty of social events hosted by the company and everyone is very friendly and hangs out during lunch or after work!
Cons
Outdated architecture - the codebase is huge and they don't always prioritize code health and quality over shipping features (but they are working on it). Especially on my team, it felt like we never had time to work on the quality of the code and refactor things that were causing developer headaches. Often times I would find myself adding to really messy code, with no time to fix it because execs cared more about getting things out quickly than to do it the right way...