Great people but toxic culture from management that focuses on weeding out engineers rather than fixing processes
Pros
Some great people working there. Friendly down to Earth people who just want to work on something cool. They have put a lot of effort into a world class CI/CD system that works really well. Pushing to production is just a matter of a code review. They also have an entire team working on developer environments. One command has your development environment up and running. It is the best I've ever used because they put the effort into it. Some perks such as free food are nice. Pay seemed competitive for Dublin salaries. Benefits in Dublin are good (health insurance, travel etc) They put a lot of emphasis on career progression (you must always be striving to improve) which does mean they give you access to opportunities to do this, be that training or conferences.
Cons
Smaller things first: Intercom is jokingly referred to as 'the cult' in Dublin city (by people who don't work there). And boy do you feel it when you walk in the front door. You are constantly (and I mean constantly) bombarded with the idea that the place is amazing, everyone who works there is amazing, you are amazing for working there etc. Phrases like "an ambitious company for ambitious people" are thrown around without any irony or self awareness. It quickly becomes apparent that this is mostly done so you ignore any problems. After all if you think there are problems maybe you just aren't good/dedicated/ambitious enough to work at this amazing company ... They had (have?) "unlimited" vacation which is just another way of saying "undefined" vacation. Thankfully in Ireland they are required to give you statutory limit, so you always get that. How much time you could actually take off was down to you and your manager. It varies a lot depending on what team you are on and how much pressure you felt not to take days (see maybe you aren't good/dedicated/ambitious enough to work here above). Some engineers who had been at the company a long time regularly took a large amount of vacation time (30+ days) probably because they felt comfortable in their positions. You feel the pressure not to though since you are never not busy. Part of the 'cult' like atmosphere is a real disdain for experience gained outside the company. For many of the engineers this is their first or second job and they believe they are working in one of the best software companies in the world so if you point out bad practices they often look at you like how could possibly be bad, do you not see the seven posters on the wall saying we only do the best solutions. Now the main problem and the reason I quit: The company tried to solve systemic problems in engineering by turning on the engineers themselves, employees who had been working their butts off for the company with the idea that we are all in this together. As the company grew out of start-up mode there was little to no technical leadership giving guidance to teams on how to manage this transition. Processes were practically non-existent. How to plan and design was left up to the teams, who regularly did neither (too busy to plan, we will design as we build). Coordination was a mess, two teams could be working on practically same feature independently of each other, you found this out through random conversations at lunch. It was crazy. A decision a single engineer took in one team could completely change the scope of something another team was working on and neither would have any idea unless they randomly discovered each other. If you asked for guidance from management you were told you need to take 'ownership' of the problem, which again meant trying to figure out who was working on what, what was the implications of what you wanted to do, who would be effected etc At many points it felt like aside from doing your own work and understanding what your team was working on you were expected to know what everyone else in the entire engineering department was also working on, lest you make a mistake and cause problems for other team. Management was completely personnel focused. There was no technical management, no one who was coordinating the higher level picture of what each team was doing. The code base became hard to manage as each team implemented the quickest dirtiest solution under time pressure, even if that meant the next group to work on the code was left to clean up. Figuring out how any of it worked as next to impossible, very few standard practices were followed and each team did what they wanted from a technical point of view. So far, so startup. None of this is good, but lots of companies have these problems as they grow out of the start up phase and they are no longer 20 people in the same room who can all talk to each other. I don't blame Intercom for having these problems. I do blame them for how they attempted to deal with them. The obvious answer would be some level of technical management, a level of coordination between the teams so that a few people had the big picture without having to worry about the individual details of each project. Instead Intercom decided the easiest solution was to punch down. Engineers were told to stop complaining so much. Multiple times it was suggested that if you didn't like it you could leave. A huge effort was put into spin to try and convince the engineers that if individuals were struggling due to systemic problems it was because they personally weren't up to being in the fast paced start up world of a highly successful company. Hyper focus was turned to individual teams and individual team members who were identified as "under performing". Without any clear indication what the specific problem was individual people would regularly find themselves being told by management they were having 'performance issues' or be put on improvement plans (the first step to being fired). This became so common the issue of how many people seemed to be on performance improvement plans (PIPs) at one time was raised at a company all hands (the company's response was they are not trying to get rid of people) The attitude management seemed to take was all the problems were due to bad apples that had gotten through the hiring processes. If the individual engineers were just better they would have fixed all these issues themselves without management having to do anything. No attempt was made to fix any structural issues around communication, best practices, technical guidance, system design, agile planning. Complain about these issues you were told to either fix them yourself (something individual engineers had little power to do) or to stop complaining and get on with it. With the knowledge of the performance reviews you stopped complaining too much. This created a culture of fear and suspicion in engineering that made it a horrible place to work. I left when it became clear nothing was going to actually change. I don't know if it is still like that (I left in 2019) but I saw nothing during my time there that would lead me to believe management had the capacity to provide real solutions to the problems. So aside from having a rant about my former employer I'm telling you all this so you are aware what to look for if you are going to interview with them. The interview process was an entire day in their office being interviewed by multiple people so you should have plenty of time to ask questions. Don't be blinded by the PR. The company pulls out all the stops to try and make you feel like you should be lucky to work there. Ignore all that, it is nonsense. Very little of what you see externally, including most of what is on the blog, is actually put into day to day practice in the company. Instead in between their questions you should get in a few questions to them on the internal processes at the company. The structure of the teams, how the teams work, how you would fit into a team, how decisions are made, how the company deals with systemic problems, how it identifies and improves broken processes etc If you get an answer that sounds like vague spin then ask for specifics. What initiatives have they done in the last six months that dealt with a systemic process problem. Ask can they be more specific. It is a good company to have on your CV so I wouldn't ever tell anyone not to work there but if you don't get really reassuring answers to your questions at the interview then at least go in there with eyes wide open. Good luck, don't believe the hype.