I've got 13+ YoE and been working in big tech for about 4 years, joined an established start up (10 years old, profitable) a month ago, and wondering if I am out of touch after the meat-grinder that is competing for delivering "impact", stack ranking and so on.
I don't know if I should stay at this company as I feel like I can't really do good work here and it feels like, if I stay, I'll be less experienced at the end of 5 years than when I started.
-----
Soo
I joined an established start up a month ago, they have a legacy app they are incrementally migrating from Angular 1 to React.
Their "good" app is a super custom React implementation that's extremely difficult to understand, including some kind of component middleware and half baked Redux integration that doesn't work with any devtools.
The client is about 20mb of JavaScript shipped to the browser and the local development workflow is quite poor.
90% JavaScript, 10% TypeScript and the team doesn't really want to move to TypeScript, banning porting existing code to TypeScript.
There were some basic errors I noticed when I started, like not committing the package-lock to the repo so I asked about it and raised a PR adding one - which got declined because it was "risky".
The package-lock raised 60 critical vulns in the npm audit, which I raised and was told addressing them was too risky. I suggested that we should at least add a CSP to the app, given some of the vulns are implicated in injection attacks - again, too risky.
During development, hot reload times are 30s so I raised a PR that added `npm run dev:next` which uses Rspack to build the client only for development, which halved the hot reload time, but that was declined.
I noticed they don't have any automated testing (there's an overseas team the does manual QA before every release) and asked if they'd be open to building out an automated testing suite - to which they said no.
They also don't have any CI, all validation happens in a pre-commit hook, which they are also not interested in adding in.
I noticed they don't have any observability on the client - no error rate, no load times. I asked how they know if anything is wrong and apparently, if it's not caught in QA, "customers call us and we fix it". I suggested adopting something like Sentry to start tracking the client to help quantify the impact of features and preempt errors before they escalate and, again, was told no because it was "risky".
My manager had a 1:1 with me this morning and told me that I should not attempt to make contributions outside of the tickets I am assigned, and I am expected to raise 1 PR per day otherwise I will be let go.
I repeated my above concerns and he said that they hired me to do tickets and that was it.