Pros
#1 for most people is probably the flexibility of working remotely. After living and working in the SF bay area for two years, I was grateful for an opportunity to leave and still work with an A-class software company. #2 is that it's 100% remote, not just partially. A 100% remote company has lots of advantages over a partially remote one. 100% remote makes everyone feel like they're equally as informed as everyone else. Others: - The product is loved by customers. It's kinda nice being able to tell people you work at InVision at social events and getting a positive response. - The business is growing, moral is high - Clear promotion/advancement criteria and processes. This was developed and implemented over the course of my time at the company. For engineers: - Engineering best practices are well, practiced. The company's tech stack isn't fossilized and tech debt is kept at pretty reasonable levels. In my two years there I saw the few codebases/services that were just really bad (spaghetti code, no tests, etc) completely replaced with clean, well documented, tested, properly monitored & alerted services.
Cons
Only for some people: - The company tries to stick to US hours. I started with the company in the US and moved to Taiwan, so I ended up working all night long and sleeping half the day. This obviously doesn't apply if you're anywhere in the Americas.