Pros
Reasonable salary and benefits, especially for living near the Bay Area. More recently, the team and/or manager slowly start to show more appreciation for the amount and quality of work I do. I seem to get along with the team just fine, they can rely on me as much as I can rely on them.
Cons
There's a lot of disorganization. It's incorrectly assumed that we can do more amount of work remotely than in office - it's a lot more casual in office, so a lot more social and less burdensome. I end up staying up late, even weekends sometimes. That said, we have half the desired number of staff on our team. There's a lot of product documentation our team has to follow, but generally with outdated or unclear instructions. Occasionally, I have to get a senior engineer, manager, or our local tech support to try assist me, wasting their or my times with sneaky work-arounds - all this could've been avoided had the documentation been updated before the next engineer works on the product. I also had a random dispute with a hot-tempered engineer who threatened to give me a bad performance review for not updating a specific task I was assigned with - we're not even on the same team. I apologized just in case - only to be scolded more - explaining that I was simply following my manager's advice to hold off on said task. After I brought it up with my manager who promised to talk to this engineer about it, he never did, and then that dispute was dropped. I'm fine with moving on; perhaps this engineer was going through a tough time outside of work, who knows? But it seems there's a bit of unresolved problems across teams that need addressing.