HACKER Q&A
📣 yaboixinthebaix

Had enough of “next time will be different” seeking advice


I feel lost right now, and I need to hear other people's experiences and/or advice. Using an alt account out of respect and for job security (it's very easy to find my LinkedIn and this employer through my main username :p).

I don't agree with the technical compromises my company makes in order to secure new business, and I feel like the only one that is actually speaking up about it.

It's not uncommon for a tech startup to shift gears, sure, but it feels like EVERY big opportunity comes with it the need to implement some very specific change, and temporary solutions ALWAYS become permanent problems.

I scale back my PR review to "human linting". Code changes follow the path of least resistance instead of well thought out design. Just. Make. It. Work. When the work is finished, the company celebrates it to the tune of "wow! huge shoutout to eng! couldn't have done it without the assist!"

On principle, I just do not want to compromise on my values. I have cultivated them over almost a decade because I have SEEN them work before, both solo and on a team. There is not a lot of upward mobility for a senior+ engineer in a feature factory.

I am on good terms with leadership, and have a decent amount of respect within the company as a whole, and I am starting the early stages of conversations such as this with a select few at the C level. I want to make this a team I am proud to be on, but the amount of fighting I feel like I would have to do to get what I want ON TOP OF contributing to ongoing product work is insanely daunting.

In your opinion, HN, is this worth fighting for, or should I resign to the "fuck it, ship it" culture being immovable? If you have been in a similar boat I am VERY curious to hear about your experiences, what did you do and did it work? If it didn't work, what did you get out of it?


  👤 thinkingkong Accepted Answer ✓
Theres a balance between shipping product and maintaining “quality”. The challenge in this case seems to be defining quality or “good”. Youre up against an easily measurable force. Mainly, money is made by accumulating technical debt, with nothing to balance it out.

If you fight against this directly, youre going to have a bad time. Take this opportunity to figure out how to define and measure the quality of the product (not the code) from a technical perspective. Think deploy frequency, build times, response times, uptime, etc. Once you have that, you can have a discussion with your peers about tradeoffs that are being made. Thats usually when you can introduce budgets where theres a balance in a sprint between engineering stuff and product stuff. Try a 25/75% split for now and then use the metrics to shift the ratios up and down depending on the quality of the system.

Yes its tons of work. No there arent any shortcuts. :)


👤 brudgers
You're not presenting a business case. You're presenting "this is what I like" instead. If strawberry ice-cream is what's selling, the factory shouldn't switch production over to chocolate just because the head mechanic prefers it.

I want to make this a team I am proud to be on

I can't believe I'm saying this but...there's no "i" in "team".

Good luck.