Pros
* Large-scale products with millions of users provide excellent real-world engineering experience. * Great opportunity to work on challenging scalability and performance problems. * Strong technical talent across many engineering teams. * Exposure to modern technologies and complex distributed systems. * Fast-paced environment where you can learn and grow technically in a short period. * Excellent place to build experience working on products at scale.
Cons
* Management culture often feels focused on lowering employees’ confidence instead of helping them grow. * “Below Expectations” feedback is used very frequently, often without clear, actionable guidance for improvement. * This was not limited to one manager or one team—it appeared to be a pattern across multiple departments. * Employees can be evaluated and judged within their first couple of weeks, which is not enough time to understand a large codebase or business domain. * I personally witnessed experienced engineers (with 10+ years of experience) being let go shortly after joining because they were labeled as “Below Expectations.” * Employee feedback is not always taken into consideration, and many decisions feel top-down. * There are too many meetings, many of which could have been an email or a short discussion, reducing engineering productivity. * Job security feels weak, as employees may be dismissed quickly, creating constant uncertainty and making it difficult to focus on long-term impact.