HACKER Q&A
📣 roflyear

Please Help, Should I Quit My Job?


Hi HN,

We brought on a new CTO and his friend who he has worked with for a long time who is our principle developer. I have worked here quite a bit longer than them, longer than most people at the company, actually. I am probably "employee #5" in terms of tenure, and we have 30 or so employees right now.

I have a successful product at this company that has been bringing value, has been very stable, and works well. I am pretty much the only person who works on this product, but a few others contribute from time to time.

I want to stress that this project has been stable and only has had a few production bugs over the last year. It has processed quite a few requests, and I am responsive with issues and often can get features out to production the same day they are requested (while being tested, and with thoughtfulness - not just tossed out there - though there is always room for improvement).

Over the last year, the new team has demanded (not asked) that some major changes are to be made:

- We want to be a real microservices architecture, though I can't get a completely clear answer as to what that is. They don't think it needs separate databases, but they demand separate repos (no negotiation), separate deployments, and so on.

- They want major parts of the code that are in my repo to be split out into libraries that we may use in other parts of the company, but there are no concrete plans for their use. It is not "wow, that works well - can we use it?" it is "make that a library, because we want it to be one"

- They are changing my deployments. Right now I have CI/CD which works really great. You merge, it gets deployed behind the scenes. Quick, painless, love it. They want to go through a QA, review, whole mess, which they can't even explain to me (when I ask them to explain it, I am being difficult, even though I say, please, I just want to understand) fully. I am scared that this will make my job harder and I have mostly enjoyed my job until now and don't want that to happen.

I was just recently told that I "say no whenever we ask you for something" which isn't true. I realized that what was actually happening is some people made a decision without me, and when they thought they were telling me to do something, I was approaching it good faith as a discussion (not an order) and my "wait, what about ... can we talk this through to ... " was interpreted as a "no."

The end of it is, I don't see any added value to the changes, but I see a lot of problems, overhead, and stress to be added. When I ask about the value, it is seem as me being argumentative, difficult, and high maintenance.

What should I do? Have you been through something similar? What did you do?


  👤 mindcrime Accepted Answer ✓
Should I Quit My Job?

There are a lot of pithy sayings out there. For example, in the world of football there is stuff like "If you have to ask if you have a QB, you don't have a QB." And so on. I think a similar pithy saying could apply here:

If you have to ask if you should quit your job, then you should quit your job.

I'm not trying to be glib here. What I mean is, if you're at the point that you're asking this, you already know at least sub-consciously that you want to leave. Maybe some reconciliation would be possible with a good mediator or something, but here's the thing: leaving is probably the best way to get more money anyway, and periodic change in scenery can be beneficial in general. Add it all up, and you might ask "why bother even trying to work things out here?"

The thing is though, you have a job (for now) and as long as you aren't sabotaging yourself by being too negative (outwardly) to the point of getting yourself fired, you have the luxury of making a change on your own terms. You can smile, say "yes, more pudding please", and do what they ask, while working on your exit strategy behind the scenes. Do any skills enhancement, interview prep, whatever you want to do, do practice interviews if you want, and then interview for new positions with the benefit of being able to be picky about what offers you consider (or accept).

It's always best to job-hunt while you have a job, as they say.


👤 coldtea
They have made their decision. You either go with it or leave.

They wont be convinced by technical arguments, because this is not technical. Perhaps it's not even business (at least not in any concrete way). It's just how they want to go about it - because they heard it somewhere, because they feel the need to make a change (whatever it is), because other companies do it to, because it's trendy, to justify new roles, and so on.


👤 anenefan
Yes.

My take is they are reshaping the way things are done, it looks good on paper, and to bosses or share holders, it places more emphasis on middle management for when things work well, less on the mere grunt(s) pushing out the code.

Over all I look at this as if it were a job inside a factory or work shed. An employee is coasting, long in the job, they are independent and performing well and probably understand their area more than any other employee. The new team have arrived and have decided to install the latest ideas even if they're not entirely appropriate, but it's what's wanted, and the updating process might allow the new team gain a better insight. It's a win win for the new team, since the process will allow them to see something familiar as well as appearing to be implementing the new way of doing things. (Not that I greatly understand it, but IMO the microservices architecture fad is just that, something new, but as I understand the concept, a lot of scope for trouble and security issues that will be hard fought behind the scenes.) However it enables the new team to make it harder for the old employee to coast along, because not only are they continuing to do the old job, they now are pressed for time to utilise so that they can build towards the new system. To add insult to injury, any pertinent questions the employee has about their new direction are sidelined by various tactics.

The employee is not being treated well and ultimately being marginalised.


👤 jmartrican
Maybe be patient. I can only speak for myself but it might be true for others, I don't take change well. I know that about myself so I subtract the initial negative feelings I usually have. So I mistrust those feeling, and rely on patience. I ask myself, was today so bad that I can't do it again tomorrow. Also, I try to make the best of it. I become a supporter not a detractor. They have the right to pursue a new vision and if I am not helping them, then it's not fair and they will more likely fail.

They have a vision that they have the right to pursue... centralized ci/cd, shared reusable libraries, and microservices. Help them. Yeah they don't know exactly how to do it, but you can help.

Maybe a chance in attitude. But all the while, update your resume and ship it around. Still be prepared to leave. Even go on interviews. Even if you leave, the last few months at your job don't need to be hell.


👤 NtochkaNzvanova
Sounds like you are being asked to do pointless technical work that will probably add overhead and complexity without tangible benefit to the product and business. You are right to question this.

Who do you report to? The CTO? How is your relationship with other execs in the company? Given that you have been around since close to the beginning, hopefully good. You should discreetly escalate to someone else who might be able to influence the situation. Try to stay positive and constructive. Make a pitch that your skills could be put to better use building new features, adding value to the product, or possibly (since you say the product is stable) exploring new product areas that may open up new business for the company. If this doesn't result in change, then yes, quietly do the work the CTO demands while privately preparing your exit.


👤 labrador
The worse place to be in any job, especially software, is all of the responsibility but none of the control. If you don't control your own code but get blamed for all the bugs, then I'd say that's an unenviable place to be. You sound talented enough to find another job.

👤 tptacek
"Brought on a CTO" is a red flag.

👤 readonthegoapp
i would def start looking for a new job if you have not started already.

obv, only quit if you can afford to.

outside of that, i would just do what they say. and possibly think about a mindshift - pretend they are THE ACTUAL ALL-KNOWING-PERFECT-HUMAN-TECHIES and that everything they say it perfectly true and optimal, and then do it. i don't think it's possible for most people, but you never know.

i mean, you're worried about being told what to do, but you're not the CTO, nor the CEO, you don't have much leverage. you're a worker bee like most of the rest of us -- companies are near-perfect dictatorships, unless they have some hippie structure like a worker co-op or similar.

so, do what you're told.

all your arguments about 'works great now' and 'low overhead' and whatever else -- it's not meaningful in any sense that matters. the political economy of companies -- i.e. how they work, for short -- is not centered on what worker bee person thinks is good or bad or anything else.

your setup works better? doesn't matter.

your setup makes more money? doesn't matter.

your setup is more efficient? doesn't. matter.

that's worker bee thinking.

correct thinking is more like, 'what will help my manager achieve and exceed their metrics so that they can report to their betters that they have achieved and exceeded their metrics?'

i'm guessing you've had the good fortune of having relatively benign management in the past, but the new person/culture is very Muskie -- i.e. assholish. that's unfortunate, but a sad reality for you, and a lot of other people.

on the other hand, i've been in the asshole position before and i remember feeling _very_ frustrated by at least one person who was pushing back on changes that I and others wanted to make to make our startup move better and faster and make and save more money and be more fulfulling etc.

If i had the power to fire the person i probably would have, but fortunately i did not -- i didn't want it weighing on my conscience later, when i realized i was really just being lazy and assholish and not really consulting with the person and hearing them out and discussing my concerns, their concerns, etc. -- all of which could have been done very easily and quickly at my initiation.

point of that is really that, even if you put up a _tiny_ bit of resistance -- even 'just' asking for an explanation of what was decided in your absence -- like a blade of grass-level of resistance -- it can feel to the person that is pushing for changes like a _massive_ effort on your part to STOP ALL PROGRESS -- like massive brick wall-level of resistance.

prob a good bit to do with toxic masculinity.

my best practical advice would be start looking for a new job stat, try for a lead role, or just be a consultant so you can mostly be left alone to get shit done, and at the same time do what you're told at the current job.

this is where it's going to possibly get even more rough - because they don't want you there - but you can either just start doing shit - converting and building your code to be what your overlords are demanding, and see if that gets you fired, or actually consult with them and either ask them how you should proceed, or just tell them your plan, and ask for feedback on if they think it's a good idea or not.

there is really no right or wrong way to do this - no tone of voice you could possibly strike that would come off to them as correct - so just do what needs to be done, say what needs to be said, don't worry about the rest - it will be perceived as wrong and evil no matter what.

they might have input on how exactly it should be done, what parts should be done first, how long you think it will take to do, etc. they'll say, "It's gonnna take two weeks to rewrite that entire module and integrate into our CI/CD pipeline?? Damn - i was hoping it would not take more than a day or two, but ok."

And then go and do it. and try to make it work fucking awesomely.

and find a new job.

good luck!


👤 scombridae
Man up and be professional. Your (trivial) work isn't a romantic relationship.