Pros
- Our biggest problem (at least on our team) is that we have a vision to build systems and tech much larger than today's, and the problem set is hard. It's rare to get to work on technical problems like this as a day job. - Amazon honestly is very lenient on us. We get to choose our tech stacks, tools, methodologies, etc. Their approach is not a top down one where you are told which CI system or tool to use. There are teams building support systems, and as an engineer you literally own your destiny and pick the best tools for the job. - The amount of freedom we have in terms of proposing projects that actually happen is really good. We have practically no restrictions on equipment and tech resource availability. The amount of freedom to pick and use open source or AWS resources is really, really good. As some one who worked in the past at places penny pinching, or where asking for compute resources were months long requests to finance, this availability makes me super happy. - The company does listen to feedback and take it seriously. Management actually cares about people and give priority to this. There has been a lot of movement lately to actually address pain points brought up.
Cons
- Office coffee leaves much to be desired. - Late 2016/2017 were rough. We suddenly got a TON of external competition from heavy hitters (youtube, facebook). The company went gung-ho on features and catch up, which was hard but necessary. We are in a much better spot today, but it was hard on people. - Twitch had a mix of legacy systems from the justin.tv days, along the newer ones. Literally the whole company spent last year a large amount of time to work on the very unsexy problem of cleaning debt. This was also hard on everyone, but we got rid for the most part of massive chunks of tech debt. - Some parts of twitch do suffer of "not-invented-here" syndrome. We could leverage more external and amazon's tools, which will free up time to work on other larger technical challenges.