Pros
KickUp in general: - Good work-life balance, pretty laid-back work environment - Office location is really convenient - Coworkers are chill, there's plenty of opportunity to socialize if you're into it, and no obligation to if you're not - Their product generally serves a social good - You (probably) get equity options - Benefits package is decent Software Engineering specifically: - A good place to build solid experience in full-stack development using modern, widely-used frameworks and tools; a couple years here would qualify most people for positions at least one level up the seniority rung at most (web developement) shops you'd want to work at - The small size of the company ensures you end up seeing every part of the process of producing and maintaining a modern web app - The small size of the development team means you see your own impact pretty clearly
Cons
KickUp in general: - Being a small startup with first-time founders, they're figuring a lot of things out as they go, which has definite downsides: sudden shifts in product direction; awkward pushes to build "company culture" and team cohesion; and the most disappointing -- coworkers just _vanish_ without any warning, with leadership giving some canned "KickUp and so-and-so have parted ways" updates at team meetings - To the extent there is a company culture, it has a passive-aggressive streak: people that in other companies would be considered "assertive" or "direct", at KickUp are often considered "confrontational" or "aggressive" - Salary is a bit below market (you get equity options but those don't pay rent) - The office is "open concept" and a bit cramped, there's not a lot of places to have solitude or silence; there are two offices on the same floor, with 2 single-person bathrooms shared by ~25 people - The company is strangely cheap when it comes to equipment (e.g. laptops) Software Engineering specifically: - Due to being a startup with a very definite funding runway, engineering is a bit of a feature factory, so you won't get any experience with architecture or system design; the main challenge of projects is completing them on time, rather than posing interesting technical challenges - Most technical choices are made by the CTO and/or the lead engineer behind closed doors, so "leading" a project doesn't really imply any autonomy, but rather ensuring outstanding tasks in the project tracker are up to date, and giving updates at team meetings - Engineering at KickUp is vanilla full-stack development, which isn't necessarily bad, but there's nothing really beyond that: no AI or ML, no distributed systems, no low-level performance tuning - There's too many meetings