| ▲ | Ask HN: Rant, Am I bad or is this a company with a poor tech culture? | |||||||||||||||||||||||||||||||
| 3 points by apatheticonion 12 hours ago | 14 comments | ||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||
| ▲ | scorpioxy 2 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||
I am a bit surprised at some of the comments here. I'll start by saying that I only have one side of the story so it is possible that the way you suggested those changes is the problem and not the changes themselves. But, having been in a somewhat similar situation, I can tell you that some companies and teams are just dysfunctional and "cliquey". It has nothing to do with anything rational or logical or something you did or didn't do, it's just broken beyond repair. My guess would also be that they have had a number of people come and go probably due to the same reasons. That manager also sounds like they shouldn't be managing at all. Besides that silly metric(did they also specify how many lines of code they want per day? ridiculous), it would've been more useful if they explain why your changes were turned down at least. There might be a good reason that you're not aware of. A sane manager would choose to guide you to make sure your valuable contributions benefit the business and align with any strategy as opposed to talking to you like a child and going "do it because I said so". Your teammates may have been having a bad week or feel threatened but I blame your manager. They should know better. I recommend you plan your exit as nothing good will come out of you staying. | ||||||||||||||||||||||||||||||||
| ▲ | annoyingcyclist 9 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
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) | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | yellow_lead 4 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
You joined only a month ago? It sounds like you suggested changes too quickly. Egos may be hurt by the new guy saying "you're doing everything wrong." Poltics goes a long way in this. You need to make others happy first and build up some goodwill first. If you want to tough it out here, do this first, make some allies, and then slowly suggest changes. Don't suggest to everyone at once, try to build consensus for your changes one engineer at a time. Ideally you'd make friends with the lead or others you can pitch to first privately. | ||||||||||||||||||||||||||||||||
| ▲ | 2ndorderthought 12 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||
| ▲ | tim-tday 10 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
I think you know the answer. Trust your gut. Apply for new jobs immediately. In the meantime do 1 pr a day. | ||||||||||||||||||||||||||||||||
| ▲ | bubbamack 8 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||
| ▲ | switchbak 11 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||
| ▲ | segmondy 9 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Do you want to work in a startup or big tech? This is most big tech for you. | ||||||||||||||||||||||||||||||||
| ▲ | devanshranjan 12 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
You won’t grow there. This shouldn't be normalised as acceptable engineering. | ||||||||||||||||||||||||||||||||
| ▲ | OsrsNeedsf2P 12 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||
Terrible code quality is standard at startups. Not being trusted to fix it is not. Run. | ||||||||||||||||||||||||||||||||