Pros
1. Great co-workers. Everyone is very willing to extend their help to others, especially the QE's are very helpful to us. Everyone in the company is quite friendly and easy to talk to. 2. If you're a very social person, you will like the different things that happen at the office apart from work. There is a group called soco which does some fun events. 3. Office space is pretty decent and calm. Not a modern look that everyone thinks it is, but good enough. There is a very good staircase that connects all four floors internally. The office is still a maze due to it's weird structure. 4. A very good place for college graduates to work right after college but after 2-3 years if you're still doing the same thing you did in your first year, which is the case for most of them, then you should re-think about your career path. If you've done your part and worked hard but still in the same position with lower avg pay, then better to move on because the company does not want to pay more and you're just doing want they want. They don't seem to encourage engineers to move up in ranks. 5. The engineering teams try to get new tools and improve the work environment constantly when needed.
Cons
1. It's been four years since I've joined Alarm.com and there were a lot of changes that happened mostly for the good of the company and it's growth. During this growth I felt the company lost some of the core values which made me join in the first place. Though I had a better offer I joined here because I saw a potential of growth personally and few things that I genuinely thought to be cool as an engineer in a company. As an example we had innovation week's once every 3 months and you get to do something innovative in your line of work but that's not the case anymore, it's been a year almost since we had a "real" innovation week. For some reason it was decided not to do them that often. I strongly believe that innovation or creativity's roots lie in freedom and when you don't have the time to do such stuff you kind of hit a monotony in your work, which is bad because it makes you less interested and bored. 2. The parking garage finally made it to the list. Every floor has 6 speed bumps, 2 small & 4 large(in height). I wouldn't mind the small ones but the 4 large ones no matter how slow you go, it feels like you're driving over a large rock. On an average it takes 5 mins to park your car and even more to go out in the evenings, let's say 8 mins till you hit the road. It's 13 mins a day, 260 mins a month. This ends up to be 2 days and 4 hours. It's a little depressing and funny to me that I'm spending 2 days and 4 hours just for entering and exiting the garage in a year. Everyone in the company complains about the garage. 3. The pay is low, the hikes aren't that great. If you can compare using Glassdoor you might find for yourself. I found out that I was getting almost less than an average engineer in the tysons area. When I joined I had a number where I thought I'd be in 4 years and I'm no way close to that. This isn't a company that gives great hikes so if you're expecting good raises then this is not your company. It's a good pay for new comers but after 1-2 years you shouldn't be surprised that people who joined after you are getting more than you though they are fresh graduates. 4. The hierarchy is very weird. Very few people get promoted. You can see that in both the Software and Quality teams there are very few people or none who were promoted. Many people who joined long ago are still in the same position that they initially joined in. It is not that they are performing bad because I haven't seen any bad performing engineer at Alarm.com which the company should be very proud of for hiring such engineers. It's just that the HR/managers or whoever is responsible of this process isn't giving it a thought because they might be busy with their usual job duties and this subject is something that they don't think about unless a performance review comes up. Honestly I can't blame any department but there should be some set guidelines and the HR should be a more proactive about things like these. 5. Traffic around the office is really bad no matter what road you want to take. You can't leave in between 4:30 and 6 PM, it will take a good 10 mins(+8 mins garage time) to just get onto international drive or Leesburg pike. 6. Every month the company selects an employee of the month or something similar and whoever gets selected they get a parking spot for a month on level one. I'm still not sure how to react to this.....an employees effort and dedication should not be rewarded with a parking spot for a month. Give something more which is helpful to the individual. 7. Lack of proper documentation and requirements from the PM's or whoever is responsible. We end up giving to them by asking a ton of questions, writing something up rather than they giving to us, for new projects. 8. Very old version control. Waiting for the day it migrates to Git. New people joining in the company should think about what their goals, career growth will be in the company after 2-3 years of joining the company rather than thinking about the immediate year. Your personal goals and career growth will sink in between the company's poorly managed teams and the monotonous work. The work load isn't high but it's just that you'll get bored if you're a very ambitious & techie person.