Everyone in our organization is really “rank-orientated”, I challenge their intellect and their baby they were proud of - it was foundation for our organization to even exist in company. Even though it was outdated, poorly designed system, that produced high percent of outages and heavy on maintenance. But it was not my place or position to do that.
From now on I moto “not my business”
If you're going to approach upper management with such a hostile attitude, you need to run it by some peers first to have them poke holes in the idea and get onboard.
Why I called your approach hostile: you phrased it as "challenging their intellect". That's not how good engineers pitch changes.
That usually doesn't result in being called to HR and asked to remove everything from one's computer.
Did you suggest "I can make it better, faster, more stable...?" or did you go ahead and make the change and say "see?" Were you in a position where you should even have been thinking about this system?
I wonder what steps in this story you're leaving out?
I have no idea if the GP post you're replying to is someone rationalizing being in that position as being "disciplined for touching the wrong code", or whether something actually screwy was going on. I just wanted to mention that distinction because it was important to me when I started out (if people had come down on me for having ideas, instead of for wasting time, I'd be in a much less useful, happy, and capable place today).
Don't get any data out of company, I would never promote someone who got any documents out of company laptop to his own.
Hey guy's I've rewritten:
- The dosage control code for radiotherapy device so we can remove that expensive mechanical interlock! - The data access layer of our patient records system! - How we calculate x in out guidance software we can go to a cheaper CPU now!
especially if said code was rattling in the building around somewhere it might get into the code base.
Frankly if there is real risk that the code is pushed to production by someone who shouldn't be touching it is a failure to properly safeguard critical assets.
Retaliating because someone tried to make something better is abusive and dysfunctional.
> especially if said code was rattling in the building around somewhere it might get into the code base.
Reading code should never require "authorization". There might be some edge cases related to logistical technicalities (e.g. there's a security clearance/IP/trade secret/plain-text password concern). But there is no reason that the criticality or risk from changes to code should prevent people from reading it.
Writing or rewriting code should never require authorization; getting it released should.
That's not some 'everyone should do whatever they want, damn the managers' statement: do your job and try meet your goals; if you go off the reservation and waste time, don't be surprised if you get slapped. If you take your code to your boss/team and they say "that's too critical to touch right now/at your experience level", "I don't have time in my day to review your side-of-desk rewrite, shelve it", or "that's incredibly misguided and too stupid to even try to improve", that's on you to work through.
But the act of [re]writing code alone should never be forbidden.
If one of your job's responsibilities is "don't rewrite this code, even as a scratchpad or personal what-if,", that is fucked.
If one of your job's responsibilities is "don't read code that is out of your lane, and don't try to understand the haunted forests"[1], that is fucked.
Your responsibilities might not be explicitly to do those things. But if your responsibilities include the negatives ("never touch this, even if you don't check it in"), something is very wrong.
If code "rattling around the building" might somehow "get into the codebase", that is fucked: you have a horrible problem with your code review process, your release process, your developer prod-access/permissioning system, or your colleagues' willingness to accept as gospel things they find lying around. Or all of the above.
To be blunt, that comment seemed harmfully closed-minded, paranoid without reason, and lacking in understanding of how engineers grow and learn: by reading and writing code, even if nothing release-able comes out of it immediately.
[1]: https://john-millikin.com/sre-school/no-haunted-forests
Did anyone ever say why you were treated like an infectuous disease after doing something good, which would benefit everyone?
Comments from our idiot president and his ilk aside, there is not. I'm willing to entertain discussions to the contrary, but this is far from my experience either here in the Midwest, or on the East Coast where I previously worked.
You seem to have jumped to a conclusion rather quickly. Even assuming for a second that the hysteria was because the new function that GP wrote is complex, wouldn't the reaction to that would've been "Can you write it more clearly?" instead of the hysteria and pariah ceremony?
You version is quite paranoid on itself - junior denied learning and shunned for a single mistake.
For example. We have a redux based content editor that is quite slow. It is however more than performant enough for the use case. I would love it if someone refactored it though...
I don't even suggest they are stupid all the time, just acted so in that moment, which again is completely fine but responsibility should be shifted.
I'm sorry the use of that word is too much for you to handle, and I probably should have used another method to call out someone's mistakes. I'm also slightly disheartened that hackernews thinks the default use of stupid has to be cynical. That's my mistake and I will adjust to the fragile culture here.
the parent is relaying their personal experience, why would they have to add disclaimers about one-sidedness? A forum like this is literally just people telling "their side" on various topics.
I've been mistreated at work and find the parent comment very believable. If you haven't been, then you are either young or lucky. Good for you but please don't just discount other people's experiences.
When I presented that my boss, next I know I’m in room with HR, my bosse’s boss and technical lead (who was practically executive director), to my surprise boss started conversation with “your actions concerning me...” they told me to give all the related code, documents and remove everything from my computer. After that incident I never got promoted, my annual bonus was always 50% of everyone’s. No one in the team wanted to talk to me, I was excluded from any design meetings. Eventually my whole team got promoted to principal engineers and all new comers were one level above me. That was the worst 4 years in my life ( I had to work for them because of the work visa)