Pros
Their benefits package isn't bad. You get full health insurance covered, "unlimited" PTO which varies by department what that really means (4-5 weeks for engineering and 2-3 for other teams), monthly stipends for phone / internet / wellness, and a one time home office set up payment. This package is pretty standard in most tech companies.
Cons
TL;DR - Stay away from this place. Far far away. With the recession looming, their first round of layoffs is probably only the beginning. The list of cons is endless. Let's start at the beginning, the interview process. I was blatantly lied to and I wasn't the only one. I even told the recruiter I was catfished after I joined. During my interview process I stressed that I wanted to focus on the backend, not the frontend. When I got into my role, it was 95% frontend. An employee who was let go / fired sent an email out to the entire company describing their experience about being put in a completely different role than the one they applied to. The classic bait and switch. Did upper management address this email? Nope. Competency - The level of sheer incompetence of some of the team members is astounding, but what do you expect when you have inexperienced employees doing the hiring? The stack sounds great, it's enticing. The way they use that stack is pure insanity. Error handling, stack tracing, testing, fundamental software engineering principles do not apply here. I was asked repeatedly by a team member, who laid the groundwork for the code base, how try catches work. They use Typescript and proceed to circumvent the typing. The vast majority of typings are incorrect or they override the errors with bang or any. What is the point of using Typescript if you constantly override the compiler. It's literally the sole purpose of Typescript. Do you know what happens when you pull stunts like this and don't have tests? Bugs. BUGS GALORE. A fourth of the bugs came from "Cannot read property of undefined" (something using Typescript properly would've caught), half came from not actually testing the code either manually or through unit / int tests, and the remainder came from other miscellaneous poor coding. My absolute favorite bug was clicking the back button on the browser dropped you in as a paid user as you’re going through the checkout process. When I brought this up, no one cared. My favorite “what is this trash” coding moment was seeing a triple bang. Because why bang once when you can bang three times? That’s tied to using the non-null assertion operator and immediately using optional chaining (translation: I’m 1,000% positive this exists and then saying I’m not sure if this exists). If you’re a dev reading this and you’re NOT thinking “what this is garbage”, then you should work here. Never in my career have I seen a platform in such a poor state. The fact that everyone is okay with numerous daily production issues and almost every client needing engineering assistance to manually override the production database is madness. Think about that for a moment. People MANUALLY override the production database. There’s no devops, there’s no double checking. You just go in and change values. What it’s like working with product: “Hey I thought of this last night, we need to do it RIGHT NOW”. Now imagine that happening every few days. Poorly thought out ideas that had little to no supporting data that product suddenly deemed was the highest priority. Do you think you’re going to get UI, requirements, anything? No. I was once told to go copy Target’s UI. I’m dead serious. Management - The communication skills of management, which included bombarding people at 7AM with messages demanding to know what's happening and then never responding to your messages, is wildly unprofessional. The entire tone is condescending and demeaning. For someone who had a self professed love for devops, there was no understanding of how deployments work even after it was repeatedly verbally explained and written down. When you have a difference of opinion, the response was "that's an interesting opinion you have" aka your opinion is stupid and you’re wrong. Plain and simple. Management promoted some simply because they'd been there a long time. It didn't matter if you caused countless production issues. Upper management, as another reviewer stated, is all white and chances are they're either related or worked together previously. The favoritism they play is real. Prior to certain meetings I was a part of, I was given the warning that so and so is their favorite and to watch what I say. It’s well known that if you’re from an ivy league college, you’ll most likely be adored by the c-levels. During the review cycle, I'll never forget that the COO (husband to the CEO) took probably a solid 5 minutes to tell everyone that they're NOT special according to their "high" standards. Even though you might've gotten straight A's in school or been on varsity this or that, that does not mean you're that great at their company. During another meeting when someone asked a question during a QA session, after he answered, he asked back "why are you asking that, what are you getting at". He demanded that the reasoning behind the question be explained. It's not surprising that people don't ask questions when he's there. Attitudes - This company is headquartered in CA, which means a lot of its employees are in CA since they were not a remote first company in the beginning. I was told I was too harsh on a peer review of code that literally did not work. My comments were not personal, they were factual. I've done hundreds if not thousands of code reviews ranging from interns to architects. You leave comments on code that could be written in a more performant way or in this case, a way that actually worked. I was basically told to stop leaving comments on their code because I was hurting their feelings. Someone else told me to watch what I say because the Californians are "sensitive". I was also once asked to be a part of an all female interview panel. Now flip that. Can you imagine someone asking for an all male interview panel? Bit sexist, don’t you think? Compensation - There’s two ends of the spectrum. Some are wildly overpaid for their skill level, but it’s because they’ve been there longer. Others who are actually competent are underpaid because management isn’t smart enough to know who can actually code and who can’t. To put it into better perspective, after leaving this place, I made over 40K more.