Live data from Hacker News

Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

web.mit.edu

181–190 of 446 posts

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#181

Earlier quoted context omitted.

Easy - half a$$ your code and when it breaks - swoop in, "fix things" (actually do it right) and play the role of hero! (I've seen so-called "Rock Stars" at places I worked do this over and over)

It is more easy: do your job right, but do not comment, fix or somehow improve work of your colleagues. Let them fail, aknowledge failure and only then come with fix, get all praise. Never point to the possible issues at the code reviews, retirement refinements etc.

This, but seriously:

Let your junior colleagues fail on a schedule within the margin of error on your planning, but keep a close enough eye on them so you know how to bail it out if they can’t pull it together with a little extra time/guidance.

Okay — still give good code reviews, but if you let them face-plant a little on design, etc, then they get experience. And you don’t look dumb when it turns out they were right. But you do look like a hero when they’re struggling to get across the line, and you whisk in to fix it.

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#182

Nobody ever gets credit for fixing problems that never happened (2001) [pdf] I'm reminded of this every time I see some YouTuber or other social media click bait claiming that the Y2K bug was no big deal. The reason it was no big deal is because thousands of graybeards, like myself, stayed up many long nights for months ahead of time making sure things would work. I still remember the tension during the countdown to…

I still don't quite buy that. Surely it's because computers mostly use epoch time for dates, not dd/mm/yy? Guess we'll find out in 2038.

That's not what I remember programs looking like. You would have counters that went to 99 and no more because the UI wouldn't accommodate another digit, and programmers didn't know what they were doing, and figured it would be clearer if the software reflected its UI and couldn't handle over 99 at all, invalid UI means unrepresentable state.

Lots of stuff didn't care about the day, too, like you'd get 0997 and that meant September 1st 1997 because the first (or last) of the month was inferred, and you'd get goofy logic around year++ where you add 100 years whenever you want to increment the month, and the whole thing is written as a modulo 1200 but whenever the date is about to be 0000 you look at what's stored in year instead and add one to it instead of 100, because that way you have less variables to allocate and every "little bit" counts.

Everyone knows now, but lots of people writing programs didn't have any prior art, they were just good at messing with computers and sort of fell into programming by accident.

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#183
post #163

There's one thing I don't get about Y2K: It was supposed to be banks with lots of COBOL code being impacted, right? Banks issue 30-year mortgages. So, why weren't banks being impacted in the early 1970s with mortgages due to be retired in the early 1900s?

A better way to think about it is that you can trust the code you test. Y2K was a problem because it affected _everything_ because anywhere a date was used had to be checked. For mortgages, yes, banks did fix that code earlier but they did it because someone noticed a problem in 1980 and fixed that specific problem, not because they transformed how they wrote code and checked all of the millions of lines of other code which nobody had reported problems with.

Roll ahead a couple decades, and now you have even more code with lots of interconnected assumptions and the guy who originally wrote it retired to the beach at Margaritaville with zero interest in going back to Cleveland to talk about date math. If you’re lucky, a pile of cash could change that. If you weren’t, they passed in a boating accident last month.

My first tech job was working for a COBOL vendor in the mid 90s and heard a lot from customers and other people in the industry. Much of it was cosmetic (rolling from 1999 to 1900 on a display, etc.) but a lot of it would have had real consequences: not accepting credit cards with dates in the new millennium, calculating interest incorrectly, sending people incorrect notices or failing to send correct ones, etc. I remember a someone at Mastercard saying they wouldn’t have been able to processed credit card transactions at all after midnight if they hadn’t done several years of careful work.

The two things which helped were that it got enough attention to get the business people to pay for remediation, and there were enough dates in the future that people got wake-up calls in different industries. Mortgages were the earliest but closer in you had things like credit card expiration dates which caused enough problems that people got serious about deploying updates.

These days, I’m wondering how 2038 will go. We have a LOT more devices floating around and there are still plenty of new devices shipping with 32-bit embedded Linux which may never get updated. Hopefully most of that cheap IoT stuff won’t last another decade but I’m kind of something like an automotive company getting publicly outed for skimping on technical debt management and some people getting locked out of their smart houses.

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#185
post #27

I've been contemplating the issue in the headline, as pertains to my value. When I help somebody in 40 mins with something they've been stuck on for 3 months, my value is clear to everyone. When I work there the whole time, and nobody ever gets stuck for 3 months, my value is unclear. Don't know how to deal with this paradox.

It's always worth making some effort at promoting your value; no one else is likely to do it for you.

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#187
The same thing occurs for many optimizations. Unless something is unbearably slow and you speed it up 10x or 100x; most people won't notice.

You might spend some time making an often called function return in 1 millisecond instead of 2 or 3 and some might notice that things 'seem' snappier; but no one knows why.

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#188
post #27

I've been contemplating the issue in the headline, as pertains to my value. When I help somebody in 40 mins with something they've been stuck on for 3 months, my value is clear to everyone. When I work there the whole time, and nobody ever gets stuck for 3 months, my value is unclear. Don't know how to deal with this paradox.

My anecdata is to be vocal about your works, like having short knowledge sharing sessions to show it to your team/manager. Don’t be afraid of little things, your team would learn something from it.

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#189
post #86

Another variation on the problem is the over-allocation of resources to preventing problems which actually happened once, versus those that are more severe but haven't happened yet. This is a management problem, because no-one wants to be accountable for a repeat incident even if it was rational to be working on something else more important.

> Another variation on the problem is the over-allocation of resources to preventing problems which actually happened once, versus those that are more severe but haven't happened yet. I've heard this called "institutional scarring" in a blog post somewhere. The idea is a small wound can be replaced with tough inflexible tissue. The jist of the blog post was that just because something happened, doesn't mean you have…

I remember this blog post, it was also a chapter in their book Rework https://signalvnoise.com/archives2/dont_scar_on_the_first_cu...

Re: Nobody ever gets credit for fixing problems that never happened (2001) [pdf]

#190
post #27

I've been contemplating the issue in the headline, as pertains to my value. When I help somebody in 40 mins with something they've been stuck on for 3 months, my value is clear to everyone. When I work there the whole time, and nobody ever gets stuck for 3 months, my value is unclear. Don't know how to deal with this paradox.

Life and its rewards aren't perfect. Work with honest, intelligent people; genuinely do your best; your days will be much better and the odds will be with you.

> Work with honest, intelligent people

This is good advice that’s well intentioned, but (sorry), it can be interpreted as elitist, and in a way that’s detrimental to the reader.

I am no way suggesting that this is the intention or belief of the parent, but while I’ve got more miles on my odometer than I’d prefer, they’ve informed me that “reasonable” is better than “intelligent.”

My god how I’ve found that working with reasonable people is so much healthier, more productive and rewarding than working with the unreasonable* intelligent folks.

*I fully grant to my current and former colleagues, friends and associates that I have been irredeemably unreasonable any number of times. Consider this a small thanks :).

Post reply on HN