Ask HN: Rant, Am I bad or is this a company with a poor tech culture?
3 points
6 hours ago
| 8 comments
| HN
Hey all, can you sanity check me? Am I a bad developer (always a possibility), or do I focus too much on unimportant things?

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.

annoyingcyclist
2 hours ago
[-]
I don't think either of you is necessarily wrong (or good/bad here). They prefer to work the way they work (glaring issues and all), and are apparently successful working that way. You don't want to work that way, and want a role where you're not just crunching tickets (even if you could work that way). Just sounds like a bad fit to me.

For next time: it's really easy to accidentally ruffle feathers if you come in and start proposing tooling or process changes. People get attached to their project if they've worked on it for a while, and can take observations from an outsider as judgemental or an attack, regardless of how valid those observations are (many of yours seem valid to me). You coming from big tech can make people even more sensitive to this (if you're triggering their latent impostor syndrome or whatever as someone from a prestigious company). The way you summarize your manager's feedback makes me think that you either rubbed him the wrong way or offended some more tenured people who complained. Kind of hard to undo that now, but helpful to keep in mind for the future. If you demonstrate that you can hack it on tickets as you ramp up and establish some trust with your teammates over a few months, you'll typically have an easier time with this type of stuff.

(I would normally add a caveat that another good reason to wait a bit before bringing stuff up is that you might be missing the bigger picture, and that can help you ensure that you're actually arguing for useful change. I omit it for you because "we should have any observability at all for our production application" seems pretty uncontroversial to me and doesn't make me think you're out of touch or focused on unimportant things)

reply
apatheticonion
2 hours ago
[-]
Appreciate the balanced feedback. It echos what some of the longer tenured engineers have advised me.

One colleague whom I have worked with in a previous role and has a similar mindset to me said that he just does the 1 PR a day and spends the rest of his time on OSS for satisfaction.

I took that onboard and have been ramping up my PR count over the last week without making suggestions - but I suspect the reputational damage has been done and I have soured relationships as, contrary to the 1 PR a day metric, my manager quizzed me on what I was doing after submitting my PRs in our 1:1.

Appreciate it and will certainly keep that advice in mind for the next role

reply
2ndorderthought
6 hours ago
[-]
Time to decide if you want to stick it out while trying to find work and explaining the short job, getting fired (might be eligible for unemployment), or quit.

Some startups are run by cowboys/cowgirls. They don't care about anything other than features until everything falls apart or they rebuild in a nightmare sprint.

I've been at one of these. You will fail to change them even if you stay for 3 years. You risk getting fired if the CEO realizes the mess and hires in someone to fix it. Your manager is already thinking about firing you.

reply
bubbamack
1 hour ago
[-]
Sounds like they have an established culture that works for them and you are feeling like you might not be a good fit. The Manager had a 1:1 with you to make sure you stay in your lane and it sounds like they just want someone who will do their assigned tickets. You'll need to decide if it's the role, environment and culture you want.
reply
segmondy
3 hours ago
[-]
Do you want to work in a startup or big tech? This is most big tech for you.
reply
switchbak
5 hours ago
[-]
For sure - this is a burning house, do what you can to land on your feet but it's a waste of time to invest anything into it.
reply
tim-tday
4 hours ago
[-]
I think you know the answer. Trust your gut.

Apply for new jobs immediately. In the meantime do 1 pr a day.

reply
devanshranjan
6 hours ago
[-]
You won’t grow there. This shouldn't be normalised as acceptable engineering.
reply
OsrsNeedsf2P
6 hours ago
[-]
Terrible code quality is standard at startups. Not being trusted to fix it is not. Run.
reply