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)
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
Amen! As professionals we are supposed to have opinions about these issues. This "everyone's right" thing, while well intentioned, is one of the factors that allows, frankly, dysfunctional dev teams like the OP's to exist. If companies are never really wrong for doing things a certain way then nobody can challenge them, which of course is exactly what insecure and egotistical leadership wants; little serfs to do the bidding of a few anointed priests. We should care because we actually do have a responsibility to the world we live in. We are the ones building the buggy, insecure, dark patterned crap that HNers take part in complaining about. No one being wrong means more crap for everyone.
---
OP, your employer sucks. You are not wrong; they are. You have to make 1 PR a day? Bullshit of the highest order. Since they are unlikely to be receptive to change, always say "yes sir" with a shit eating grin while you prepare to monkeybranch to another job. I'd have said to quit now a few years ago, but the job market is so bad right now that the best you can do is coast where you are right now while finding new opportunities.
That said, welcome to this stage in your career. Lots of companies hire people with our level of experience to deal with their dumbass mistakes while ironically promoting the same dumbasses who continually make those mistakes.
It's so that no one gets offended. You can't offend anyone if you don't actually have an opinion or a personality at all. Ironic since being so bland is actually having a certain kind of personality.
I've seen this a few times and I find it distasteful.
1) "they are incrementally migrating from Angular 1 to React" - Did they actually learn React? Because the worst React apps I've see is from teams who just took their habits from another platform and re-coded their comfort zone in React.
2) "I should not attempt to make contributions outside of the tickets I am assigned, and I am expected to raise 1 PR per day" - Did you get hired as a junior? Because they are treating you like one. I would not accept such little autonomy if I had over a decade of experience.
Aside from that, they are clearly not working in full modernized practices. This is not necessarily a bad thing. If they perform well and have a smooth-running shop, being a bit behind the curve is fine. But if their lack of modern practices is causing the other friction, then it is a problem. But there isn't an inherent correlation between "behind-the-time" and "bad team"
The most important question isn't any of this, though. Are you happy there? If you hate it there, that is all you need to know.
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.
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.
Isn’t max unemployment in California like $450/week? It’s not nothing but it’s not gonna help much if you’re used to spending like a big tech engineer.
Yep, it's always amusing when people try to replace a slow, messy, legacy app with a new implementation that is... much worse than the old one.
I think basically, yes, it's just a poor tech culture, and that's how they like it - they're not interested in any process improvements, they just want you to be a ticket taker. Find some other better project if you can, rather than trying to "fix" this one.
1. Strong hierarchical structure is prevalent in that team, so, you'll have to bide your time (amicably), if you've to been taken seriously.
2. Expectation from you is to raise PR until you 'know' how it's done. By showing up from bigtech and by suggesting solutions, you are basically telling them you've seen it done better, and that's a bitter pill to swallow.
3. The startup has been around for 10 years, and tech changes fast; things might have been built rapidly and to a paying customer's corner case, and now the product looks terrible from an external observer's perspective.
4. Even bigtech products evolve into terrible things and nobody has time to go fix on a haunch from someone, however insightful it is. If you claim to have tech skills, why not come up with metrics to prove your point and how much money it can save or bring in.
5. You can't convince people from your pedigree, but from your insights AND backing it with data (latency, resource usage ==> revenue).
6. Startups don't have money laying around so if features don't have $$$ printed on them, they get canned.
Building deep-tech (say, new kind of radio link) involves years of R&D, specialized manufacturing, and long regulatory or testing cycles. It's uncommon in app business though.
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.
>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."
I agree on the politics but also this org intentionally hired an ex-big-tech engineer, I would have high expectations for that person and throw them at stuff that would make the dev-ex improve and solve the foundational issues with the app. Not just making them a bug-fixer and threaten them about their job if they don't meet some arbitrary PR metric.
Wait for a problem someone else raises before you offer solutions is my advice.
Big tech expects you to suggest and solve problems late stage startups just want someone to not rock the boat. You want an early startup where you know the ceo and eat lunch with them or back to big tech . You are in a get paycheck and use extra time on oss project.
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.
If the pay is good and you want to exercise your craft
Use the constraints provided to build the best solutions you can given the horrific situation.
You complete your ticket in a way that’s simple, maintainable, and extend.
I always found it fun to write cleaner interfaces on top of shit code and eventually there’s a point where you just sorta flip the switch to the better implementation without issues.
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)
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
You can just say they are bad? You don’t have to be such an overthinker
They rely on customers calling to fix stuff?
Why so allergic to calling out bullshit?
It’s a 10-year old profitable company. Why are they bad?
Amen! As professionals we are supposed to have opinions about these issues. This "everyone's right" thing, while well intentioned, is one of the factors that allows, frankly, dysfunctional dev teams like the OP's to exist. If companies are never really wrong for doing things a certain way then nobody can challenge them, which of course is exactly what insecure and egotistical leadership wants; little serfs to do the bidding of a few anointed priests. We should care because we actually do have a responsibility to the world we live in. We are the ones building the buggy, insecure, dark patterned crap that HNers take part in complaining about. No one being wrong means more crap for everyone.
---
OP, your employer sucks. You are not wrong; they are. You have to make 1 PR a day? Bullshit of the highest order. Since they are unlikely to be receptive to change, always say "yes sir" with a shit eating grin while you prepare to monkeybranch to another job. I'd have said to quit now a few years ago, but the job market is so bad right now that the best you can do is coast where you are right now while finding new opportunities.
That said, welcome to this stage in your career. Lots of companies hire people with our level of experience to deal with their dumbass mistakes while ironically promoting the same dumbasses who continually make those mistakes.
It's so that no one gets offended. You can't offend anyone if you don't actually have an opinion or a personality at all. Ironic since being so bland is actually having a certain kind of personality.
I've seen this a few times and I find it distasteful.
I see two red flags:
1) "they are incrementally migrating from Angular 1 to React" - Did they actually learn React? Because the worst React apps I've see is from teams who just took their habits from another platform and re-coded their comfort zone in React.
2) "I should not attempt to make contributions outside of the tickets I am assigned, and I am expected to raise 1 PR per day" - Did you get hired as a junior? Because they are treating you like one. I would not accept such little autonomy if I had over a decade of experience.
Aside from that, they are clearly not working in full modernized practices. This is not necessarily a bad thing. If they perform well and have a smooth-running shop, being a bit behind the curve is fine. But if their lack of modern practices is causing the other friction, then it is a problem. But there isn't an inherent correlation between "behind-the-time" and "bad team"
The most important question isn't any of this, though. Are you happy there? If you hate it there, that is all you need to know.
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.
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.
Isn’t max unemployment in California like $450/week? It’s not nothing but it’s not gonna help much if you’re used to spending like a big tech engineer.
Yep, it's always amusing when people try to replace a slow, messy, legacy app with a new implementation that is... much worse than the old one.
I think basically, yes, it's just a poor tech culture, and that's how they like it - they're not interested in any process improvements, they just want you to be a ticket taker. Find some other better project if you can, rather than trying to "fix" this one.
1. Strong hierarchical structure is prevalent in that team, so, you'll have to bide your time (amicably), if you've to been taken seriously.
2. Expectation from you is to raise PR until you 'know' how it's done. By showing up from bigtech and by suggesting solutions, you are basically telling them you've seen it done better, and that's a bitter pill to swallow.
3. The startup has been around for 10 years, and tech changes fast; things might have been built rapidly and to a paying customer's corner case, and now the product looks terrible from an external observer's perspective.
4. Even bigtech products evolve into terrible things and nobody has time to go fix on a haunch from someone, however insightful it is. If you claim to have tech skills, why not come up with metrics to prove your point and how much money it can save or bring in.
5. You can't convince people from your pedigree, but from your insights AND backing it with data (latency, resource usage ==> revenue).
6. Startups don't have money laying around so if features don't have $$$ printed on them, they get canned.
good luck!
Is 10 years still a startup? Serious question, not trying to troll.
Building deep-tech (say, new kind of radio link) involves years of R&D, specialized manufacturing, and long regulatory or testing cycles. It's uncommon in app business though.
This made me lol as well. I think that’s just a business.
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.
>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."
I agree on the politics but also this org intentionally hired an ex-big-tech engineer, I would have high expectations for that person and throw them at stuff that would make the dev-ex improve and solve the foundational issues with the app. Not just making them a bug-fixer and threaten them about their job if they don't meet some arbitrary PR metric.
I think you know the answer. Trust your gut.
Apply for new jobs immediately. In the meantime do 1 pr a day.
Wait for a problem someone else raises before you offer solutions is my advice.
Big tech expects you to suggest and solve problems late stage startups just want someone to not rock the boat. You want an early startup where you know the ceo and eat lunch with them or back to big tech . You are in a get paycheck and use extra time on oss project.
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.
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.
You won’t grow there. This shouldn't be normalised as acceptable engineering.
Do you want to work in a startup or big tech? This is most big tech for you.
Terrible code quality is standard at startups. Not being trusted to fix it is not. Run.
If the pay is good and you want to exercise your craft
Use the constraints provided to build the best solutions you can given the horrific situation.
You complete your ticket in a way that’s simple, maintainable, and extend.
I always found it fun to write cleaner interfaces on top of shit code and eventually there’s a point where you just sorta flip the switch to the better implementation without issues.
[dead]
[dead]
I repeated my above concerns and he said that they hired me to do tickets and that was it.
It sounds like doing tickets is what needs doing.
And “you’re doing it wrong” ain’t doing what needs doing.
How you handle that will determine how you grow as an engineer.
How you behave will determine whether people want to work with you again.
My advice: roll up your sleeves, spit on your hands, and grab an ax.
The pile of wood ain’t gonna chop itself.
Good luck.