Ventajas
You end up learning a lot in the right teams. There is a lot to do. There is a bit of an open culture where anyone can comment or question anything (but even if it's not their concern or they don't have full context) though this doesn't necessarily mean action will be taken after people here you.
Desventajas
- most tech is hanging by a thread, if not already on fire. Quite a bit of chaos. - Some teams just spend their time chasing support tickets and fixing minor bugs, and don't get breathing space to really fix the tech from ground up. - really no strong developer platform or toolset. No common testing setup (and no testing at all in many teams), no application frameworks, no common deployment systems or logging frameworks, no single authentication for all systems. For most of it, it is really is just the initial hacky startupy code written ages ago, mostly by folks who haven't built strong systems elsewhere which they're desperately trying to maintain. It takes ages to do simple things, and you can cause a few fires in the process too. One big issue is that the only senior management who stock around for long are the ones who have been there since early days. In the tech side, these guys haven't built anything of scale elsewhere, and anyone who challenges status quo never get a chance to do so. Both the founders don't really trust anyone else apart from themselves. They don't give full autonomy, and are involved in everything, which is why the tech also doesn't improve. It is a great wonder that the product has become so successful, it's certainly not going to scale going forward in the same way. The same applies elsewhere in the business too. Whether it comes to peopleops or sales, everything needs to be done in the way the founders want. I noticed lot of people blaming managers, the reality is the managers are helpless.