News for hackers. Stuff that matters.
Re:The Best Programming Advice I Ever Got (2012) by haxorito on Saturday December 15, 2018 @03:25PM (#18690171)
I made same mistake, I saw how old system underperformed and that I could make it better, faster, more stable and bring higher profit.

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)

Re:The Best Programming Advice I Ever Got (2012) by haxorito on Saturday December 15, 2018 @08:55PM (#18691351)
Answering all questions. One thing i left off is the reason why I was in hot water:

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”

Re:The Best Programming Advice I Ever Got (2012) by hueving on Saturday December 15, 2018 @10:14PM (#18691563)
It's also possible your solution wasn't as elegant, maintainable, or as performant in all cases as you thought.

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.

Re:The Best Programming Advice I Ever Got (2012) by Viliam1234 on Sunday December 16, 2018 @09:40PM (#18696556)
> It's also possible your solution wasn't as elegant, maintainable, or as performant in all cases as you thought.

That usually doesn't result in being called to HR and asked to remove everything from one's computer.

Re:The Best Programming Advice I Ever Got (2012) by sonnyblarney on Saturday December 15, 2018 @07:15PM (#18691053)
Though I'm sympathetic to you, I feel there is more to this story.
Re:The Best Programming Advice I Ever Got (2012) by HeyLaughingBoy on Saturday December 15, 2018 @06:01PM (#18690828)
When you presented what to your boss, exactly?

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?

Re:The Best Programming Advice I Ever Got (2012) by haxorito on Saturday December 15, 2018 @08:37PM (#18691302)
Of course I did not just go and implement the change in production. I had put together PoC and documentation how and why it’s better, more error resilient and effective. The reason for just reaction was politics... I put my nose in other people business.
Re:The Best Programming Advice I Ever Got (2012) by jpatokal on Saturday December 15, 2018 @06:11PM (#18690863)
+1. The fact that HR's involved strongly suggests that OP was messing with something he had no business to touch.
Re:The Best Programming Advice I Ever Got (2012) by StavrosK on Saturday December 15, 2018 @07:42PM (#18691135)
I don't understand this, or the linked article. Can someone explain to me what possible reason there can be for responding with disciplinary action when someone proposes an improvement?
Re:The Best Programming Advice I Ever Got (2012) by jorgesborges on Saturday December 15, 2018 @08:30PM (#18691288)
I think this quote sums it up best: "I've realized that there were probably a dozen programmers on that ancient project who knew why the system was so slow and how to fix it. They knew, but they kept it to themselves because in that organization, there were some things that were more important than making the system better." The mistake was in assuming that code quality and performance always trumps other considerations. The title is misleading in this respect: it's not really programming advice. Even the phrase repeated in the article, stay the hell out of other people's code, is more about navigating the potential unknowns of a situation, and being in touch with what's happening around the office more generally.
Re:The Best Programming Advice I Ever Got (2012) by hueving on Saturday December 15, 2018 @10:15PM (#18691568)
An easy reason that often gets left out of these stories is that someone spent weeks on a rewrite without authorization rather than working on burning priorities.
Re:The Best Programming Advice I Ever Got (2012) by zbentley on Sunday December 16, 2018 @12:01AM (#18691818)
That's a real problem, and quite common. I think it's important, when confronting or correcting someone doing that (whether they're your employee, colleague, superior, team lead, etc.) to emphasize that they're not being punished or thought poorly of because of their ingenuity or initiative, but because they're wasting time and need to stick to the plan. Otherwise, initially headstrong but very capable people are often ground down before they have a chance to get used to the roadmapping/planning/etc. process at a company. This is especially true with new engineers.

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).

Re:The Best Programming Advice I Ever Got (2012) by HeyLaughingBoy on Sunday December 16, 2018 @06:33PM (#18695933)
I have to admit that, as an engineering manager, this is exactly what I was thinking!
Re:The Best Programming Advice I Ever Got (2012) by ozim on Sunday December 16, 2018 @04:00AM (#18692349)
I look at documents and remove everything from my computer, and my guess is that op worked on it on his own time on his own machine. He was still working 4 years in that company, so he was not removed from project. Feels like action was uh, he got documents out of company.

Don't get any data out of company, I would never promote someone who got any documents out of company laptop to his own.

Re:The Best Programming Advice I Ever Got (2012) by baylisscg on Saturday December 15, 2018 @08:41PM (#18691315)
When they've gone on an unauthorised excursion through some code that has say, safety critical or legal, concerns some off the top of my head examples.

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.

Re:The Best Programming Advice I Ever Got (2012) by gnarlysasquatch on Sunday December 16, 2018 @12:14AM (#18691847)
In those cases, why not respond by explaining the risks or other considerations that might not be apparent from the code?

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.

Re:The Best Programming Advice I Ever Got (2012) by zbentley on Saturday December 15, 2018 @11:52PM (#18691797)
> When they've gone on an unauthorised excursion through some code that has say, safety critical or legal, concerns

> 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

Re:The Best Programming Advice I Ever Got (2012) by ChristianGeek on Saturday December 15, 2018 @08:24PM (#18691261)
You make someone above you with an ego look bad.
Re:The Best Programming Advice I Ever Got (2012) by gbajson on Monday December 17, 2018 @02:47AM (#18697509)
Similar thing has happened to me. I joined a security team in a Big Bank. During the first month of my work I discovered a terrible and obvious security hole, which was there for years. My manager took me aside and explained that they can't fix it, or even start doing anything about it, because the whole team will look incompetent. I was told not do anything and reassigned to the completely different tasks far from the team. After another month, I left.
Re:The Best Programming Advice I Ever Got (2012) by jonnycomputer on Saturday December 15, 2018 @03:50PM (#18690273)
Sounds like a toxic company. Sorry you couldn't ditch them.
Re:The Best Programming Advice I Ever Got (2012) by InafuSabi on Saturday December 15, 2018 @03:29PM (#18690190)
I do not understand why you were treated as if you wrote viral code which wiped all networked storage of the company.

Did anyone ever say why you were treated like an infectuous disease after doing something good, which would benefit everyone?

Re:The Best Programming Advice I Ever Got (2012) by jolmg on Saturday December 15, 2018 @03:57PM (#18690308)
The fact that he was a foreigner provides a hint. It seems there's a general fear in the US of foreign workers taking the jobs of citizens. I wonder, is it not possible to switch employers when you have a work visa?
Re:The Best Programming Advice I Ever Got (2012) by HeyLaughingBoy on Saturday December 15, 2018 @05:58PM (#18690818)
there's a general fear in the US of foreign workers taking the jobs of citizens

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.

Re:The Best Programming Advice I Ever Got (2012) by throwawaymjabba on Saturday December 15, 2018 @10:20PM (#18691583)
I worked for the US counter part of an Indian company in Illinois for a couple of years. We used to have town hall meetings every quarter. On 2 such meetings, I heard two separate American employees questioning the speaker about outsourcing more. He would be talking about how they are planning to spread out a project with 20% in US, 50% in India, remaining in Europe and some other place. In both the occasions, they asked questions that meant why only 20% in US or something similar. He always replied that's what the customer is willing to pay, that the customer has so and so budget, and this is how we are meeting it.
Re:The Best Programming Advice I Ever Got (2012) by ChristianGeek on Saturday December 15, 2018 @08:26PM (#18691265)
It’s not the case in Southern California, either.
Re:The Best Programming Advice I Ever Got (2012) by iratewizard on Saturday December 15, 2018 @04:04PM (#18690337)
Or maybe more realistic and less paranoid: the code he wrote was more performant but significantly less maintainable. Look at it from a director's perspective. Technical debt from an H1b. Is he trying to maintain job security by being the only one who understands how a critical module works?
Re:The Best Programming Advice I Ever Got (2012) by parrot_11 on Saturday December 15, 2018 @04:14PM (#18690373)
"Technical debt from an H1b."

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?

Re:The Best Programming Advice I Ever Got (2012) by watwut on Saturday December 15, 2018 @04:17PM (#18690383)
That situation would warrant 10 min discussion with lead. Not this.

You version is quite paranoid on itself - junior denied learning and shunned for a single mistake.

Re:The Best Programming Advice I Ever Got (2012) by adrianhel on Saturday December 15, 2018 @07:42PM (#18691133)
In this scenario the lack of performance was significant, so I would say it was necessary. If performance was adequate, different story.

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...

Re:The Best Programming Advice I Ever Got (2012) by hueving on Saturday December 15, 2018 @10:06PM (#18691535)
You don't know how significant the performance difference was. You're just believing the commenter who thought it was without hearing from the company who obviously didn't think it was a priority.
[dead]
Re:The Best Programming Advice I Ever Got (2012) by dang on Sunday December 16, 2018 @03:48AM (#18692331)
Personal attacks will get you banned here, regardless of what details someone else left out. Please review https://news.ycombinator.com/newsguidelines.html and post civilly and substantively, or not at all.
Re:The Best Programming Advice I Ever Got (2012) by WilliamEdward on Sunday December 16, 2018 @09:25AM (#18693145)
This would be a personal attack if it was wrong to be stupid... But it's not. Everyone acts this way sometimes.

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.

Re:The Best Programming Advice I Ever Got (2012) by dang on Sunday December 16, 2018 @02:35PM (#18694722)
It wasn't just that one word. Telling someone they "want to play the victim" is also a personal swipe, as is "this is 100% your fault" and even "you're clearly leaving out some important detail". In fact, your comment consisted of nothing but swipes!
Re:The Best Programming Advice I Ever Got (2012) by ThrowMeDown01 on Saturday December 15, 2018 @10:18PM (#18691575)
One argument in favor of such an interpretation is that anytime somebody posts such an anecdote, and in various contexts that happens not infrequently, there is one giant thing all those story tellers forget: That everybody else only sees their side of the story, and that posting something that looks so one-sided "everybody was being stupid but me" is better not posted at all because of how unbelievable it looks, even if it indeed is true. If they had any good level of people-understanding they would in my humble opinion be much wiser to not tell the story here, or at least not make it look so one-sided, or add some disclaimers showing some self-awareness that shows they at least considered that they themselves are a key part of the problem. It reminds me of that joke of the guy who is driving a car on the autobahn and hears a warning on traffic radio about a wrong-way driver right where he is driving. "Only one?" he says to himself, "Hundreds!"
Re:The Best Programming Advice I Ever Got (2012) by jhpriestley on Sunday December 16, 2018 @05:58PM (#18695778)
Your comment and many of the siblings just read to me as random victim blaming. "Oh, you were mistreated at work? I bet you are lying and incompetent and were actually entirely at fault."

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.