Pros
Ownership: Employees are expected to be part of multiple projects and treated as owners of the projects. They are responsible for the properly working the systems and are expected to resolve asap in case of any issues.
Cons
From the point of view of a tech employee following are some of the issues I faced while working at Licious: - There were many microservices, and many dependencies between them, which used to cause multiple downtimes. - A proper monitoring system was not in place so debugging at the time of prod issues became quite difficult. They moved to some open-source systems as a part of cost-cutting which didn't have a lot of features. - There were no common practices followed across the systems like, proper API conventions, Code Reviews, and even planning. Most of the time, people were working on ad hoc tasks. - The roadmap was usually not very clear. I wasn't aware of what I would be working on after a couple of weeks. (This is ok for an early-stage startup not a unicorn with a startup mindset) - The employee tenure at the company is quite low. People at the managerial level come and go and this causes things to go in a certain direction under one manager and a different under another. This also applies to junior-level employees, which causes a depletion in code quality. No one had the idea of entire systems because people who have worked before have left the company in all probability.