Avantages
Linux Academy's mission is inspiring, and working to change people's lives really is a privilege. Getting to interact with students and see how the work you do impacts them is rewarding and honestly a lot of fun. Linux Academy is also a great place to learn how real business problems are handled. Its size will let you participate in solving day-to-day operational challenges in a way that you don't often get to at larger companies. For someone early on in their career, having the opportunity to be part of the day to day at this level is incredibly valuable. The compensation and benefits are also amazing. The company pays very well and the HR team is good about trying to look for new perks and benefits to add. If you work in the office, they provide lunch every Friday and you get free drinks and snacks (if they don't have something you like they will usually order it). The company does a great job of putting on fun events. This is a huge challenge, especially with as many remote employees as Linux Academy has. But they have gotten really good at making sure people know each other and get face time at least once a year or so. Linux Academy's product is easy to stand behind and promote. Their courses are extremely high quality, and working for a company that produces something you can be proud of is a major plus. Easily the biggest pro to working at Linux Academy, however, is the people I worked with. The team is talented, driven, and the vast majority of them are just genuinely good people to be around. To the extent that management allows it, everyone is willing to help each other out with projects, and everyone cares about the quality of their work. Getting the chance to work with this group of people and get to know them is by far the best part of the job.
Inconvénients
Reading some other reviews here, one might think that the company is totally without problems, which obviously isn't the case anywhere. I think writing off every problem as a "growing pain" is a disservice to people who want to improve the company, and I think it also shows unwillingness to analyze what's wrong in a meaningful way. This pattern of behavior is the first thing I'll mention - bringing up issues in public settings (meaning when more than 2 people can hear you) is discouraged much of the time. The company's culture is to talk only about the things they are doing right, and to minimize everything else. The reasoning is well-intentioned - they want to keep morale high, and I get that, but it is possible to address problems without blaming people or taking them personally, and some members of leadership have not yet figured out how to do that. To give a specific example, the CEO once yelled at an employee for bringing up a company wide communication issue in a public Slack channel. To give another example, a manager of mine once shut down a conversation about communication issues in a team channel. I think that the culture would improve drastically if there was more willingness to have these conversations. Maybe leadership thinks a public Slack message isn't the best way to address these things, which is fair, but there needs to be another outlet if that's the case. And more importantly, there needs to be follow-up action. Continuing on that theme, responses to feedback are inconsistent, which I think contributes to a culture of cheerleading wins and ignoring problems. The company used to run engagement surveys each quarter, but I saw little to no action taken based on those. When the results were good, they would be sent out in a company email, but that was not done consistently and it's hard not to think that when the results weren't communicated, that meant there was a problem. Communication as a whole is probably the biggest issue, although to be completely fair, this is something that every company struggles with and is hard to get right. Company updates were often sent out after the fact. To give an example of this, several changes were made to parts of the site that I was actively working on, effectively making the previous few weeks' worth of my work obsolete. In my opinion, it would have been easy to check in-flight projects to see that someone was working on those things already. Other large scale changes are not communicated at all, or in very little detail. Communication between teams is a major problem. I think the company is aware of these issues, but I don't think they're doing enough to fix them. Instituting policies like "no one can talk to developers" does more harm than good, in my opinion, and discourages the collaborative environment that leadership keeps talking about wanting to create. Benefits and compensation, as I mentioned above, are a big positive for the company with a few notable exceptions. Certain benefits aren't quite implemented as advertised. For example, the certification bonus they mention in the job description is subjective, meaning that if your manager determines that you pass an exam that is "too easy." I don't really have a problem with this in principle, but they continue to say publicly that the bonus applies to any certification that the company trains for. It feels disingenuous, in my opinion. Work-life balance is poor. Some managers are very good about checking to make people aren't getting burned out and encouraging them to take vacation days, but many of them subscribe to "hustle culture" and actively promote working nights and weekends. For example, when some members of leadership are supposed to be on vacation, they constantly check in on Slack, and I think that sets a bad example for the rest of the team. In my opinion, people should not be publicly praised for working 60+ hours a week or sleeping at the office (both of these things have happened and been called out as positives). There is nothing wrong with working hard and going the extra mile, and if that means staying late a few times to finish important projects, I can live with it. But in my experience, this was not a handful of one-off situations. The CEO has made employees cry and has said some things in both public and private Slack messages (and in person) that went way beyond the point of bluntness into disrespect, in my opinion. When people speak up about these things, nothing happens - there's a very high level of inconsistency in terms of who is held accountable for their actions, and the CEO is the main example of this. He has argued with customers who were providing feedback, insisting that they aren't giving us enough credit for the work that we do. He has interrupted presentations in meetings. He has taken over projects because he doesn't trust people to do their jobs effectively, and he has consistently brushed off criticism by saying that the person raising it must just "hate the company." I know he doesn't believe this, but using it as an excuse to ignore feedback, regardless of how valid it is, seems like a missed opportunity to improve. Being the CEO of an up and coming tech company in a competitive industry is difficult, no question. Some of the criticism against Anthony is unduly harsh, and obviously not every issue with the company is a direct result of his behavior. But I think that leaders are responsible for setting a good example. In my opinion, the company would benefit if he made a stronger effort to understand his actions and the impact they have on people. He is a very intense and driven guy, and this can sometimes be a strength. For all my criticisms of Anthony, I believe he genuinely cares about Linux Academy students. But he says that he wants to create a positive company culture, and as much as I want to believe that as well, I don't think his actions reflect it.