JVM engineers writing horrible Python and Go code as if it was Java
Pros
Nice people, ok office, ok parties (they were better before), flexible work time, remote-friendly
Cons
1. horrible and slow developer experience, no local testability, slow deployment cycle, testing code in staging environment (or even in production) by adding temporary logs ("print" debugging) 2. corporate hard to maintain code, a lot of duplication and boilerplate, and this practice is endorsed by the so-called staff engineers as a "necessary evil" 3. engineers are promoted to become bad staff engineers or bad team leads either based on how long they work for the company, or by licking your way up the ladder 4. bad staff engineers lacking communication skills 5. the company rewards the "lone wolf" behaviour: supposedly "fast" developers that do hacky things on their own, then leave their mess behind to be maintained by the peasant engineers while going on vacation or parental leave 6. "code is the documentation" which leads to poorly documented unreadable code. 7. since the docs are poor, every new engineer onboarded has to be taught by another engineer, not by reading docs 8. base salary is low and pay raise is given in stock options