Live data from Hacker News

Professional Corner-Cutting (2016)

blog.ometer.com

131–140 of 142 posts

Re: Professional Corner-Cutting (2016)

#132
post #117

Earlier quoted context omitted.

IME, even the word “perfectionism” is weaponized against us who actually mind risks, results and sustainability of work, beyond of just doing it for the sake of completion and compensation, like the other group. Why is it safe to “denounce” perfectionism in the workplace while the opposite, of calling out a shitty job, is seen as offensive and of bad taste? “Perfectionism” has become shield and shelter for the lazy a…

Either label needn't be used: if someone thinks the effort isn't worth it, you can have a discussion on what risks will or won't actually play out in practice without having to label anyone anything.

Exactly. But for the managers who don’t have skin in the game and only care about cost and deadlines, once someone denounce your diligence efforts as perfectionism they will be biased against your steering proposals. That’s the real problem, specially in tech, where explaining trade offs to outsiders is not always trivial to do without much oversimplification. I’ve been in meetings where even attempting to have a high-level discussion over an unrealistic scope was taken as unnecessary problematization. Let alone the fact that cutting corners and costs is generally mindlessly rewarded due to lack of vision and an absolutism towards short term gains.

Re: Professional Corner-Cutting (2016)

#133
post #118
post #83

Earlier quoted context omitted.

The given examples of utf-8 support and reading headers from CSVs are things that (depending on stack etc.) can be nearly or actually free if you build that way from the start. I read the original post as saying something like "good engineers don't shoot themselves in the foot as much".

One challenge is when eg you're doing a code review and see that someone set it up with a non-utf8 column. In that specific case it's probably easy to fix, but it's still strictly extra work even if it hadn't been if it had been set up as such in the first place. I struggle with making that trade-off in terms of what's worth pointing out. Often what I'll do is point it out, but with an explicit disclaimer that I'm mo…

Yeah, that's the kind of tradeoff I have a hard time with as well. It's like .. well, you don't strictly need to.. but why not?

Re: Professional Corner-Cutting (2016)

#135
post #77

> If the technical debt is a problem, 1) we shouldn’t have put it in there, and 2) we should include it in our estimates and address it. Yes. Don't tell your boss that you'll need to take time to address technical debt. The boss will always say "No don't do that, just add the feature". Sometimes they add "We'll fix that later." Later never happens and eliminating related technical debt is part of implementing the fea…

The name "tech debt" has always been a bit of a misnomer. Financial debt does come with interest, but it's structured, proportionate, and you can just go pay it off with sufficient money. Tech debt is unpredictable, needs a lot of context to comprehend, needs even more to fix, is subject to the mythical man month, and taints everything else it touches in your product. It can be worth accepting such a structural flaw…

I don’t think I’d agree that financial debt is by definition structured given the concept known as “unstructured debt.”

Re: Professional Corner-Cutting (2016)

#136
post #98

Earlier quoted context omitted.

That's all well and good until you have to explain that the reason building something they think should take a week will take 6 months because you have to fix tech debt, or avoid adding new tech debt.

A professional balances the need for quality with the urgency of the task. Your example shows a clear imbalance that indicates the person is not a professional; that person is someone who can't be trusted with that balance.

Sure, you need to balance urgency and quality, but that doesn't mean you shouldn't ever communicate about that tradeoff to stakeholders.

Let me give a somewhat concrete example. Someone from business came to me to ask how hard it would be to fix a bug. It wasn't super urgent. The user experience of the bug wasn't too bad, a minor annoyance. But it seemed like such a small thing that they thought the fix couldn't take more than a few days. When I informed them it would take weeks at a minimum and more likely months, they were very confused, until I explained that a design made in the early days of the company (before I worked there) made this particular bug extremely difficult to fix. We would either have to redesign an entire system in a more robust way, or work around the limitations of the current system which would be faster, but still much more difficult than ot should be. And doing so wouldn't help at all with fixing the myriad other problems caused by this design choice.

And although I wasn't involved in the original design, I think at the time it wasn't a terrible decision. It allowed the company to get something out that worked pretty well, and helped the company grow quickly. But now that technical debt was slowing down other development.

Re: Professional Corner-Cutting (2016)

#137
post #110

Earlier quoted context omitted.

I'm not an expert in ethics but to me this stance goes too far. The Internet in general is also used to spread medical conspiracy theories. If I work on network switches is that also unethical? Compilers? The job of regulating this sort of stuff is the government and the courts. There are laws concerning privacy, and speech, and companies need to operate within those laws. I would say an ethical engineer should not b…

One reason to have an ethics code is that the law can’t possibly cover everything. Law is read in a fairly hostile manner (in the sense that people are looking for technicalities and loopholes), and also has to concern itself with enforceability, jurisdictions, etc. Ethics are self-enforced mostly, and they are to be followed in good faith. An ethical engineer should not break the law, but nobody should break the law…

Most unethical things are also illegal. I think the ethical code is reinforcing the idea of personal responsibility. If you're an engineer and you're asked to build a bridge and cut corners that's unethical behavior, and it's illegal and you will actually be punished in the event the bridge collapses. Being an ethical engineer in this context is pointing out the bridge is not designed properly and might collapse, refusing to sign that plan, and making a complaint with the right authorities. Bribery or other similar conducts are also illegal and unethical. I guess there may be some gray areas that are not illegal but are unethical by some morals. I guess an example might be a gambling company or a tobacco company. Tricky.

Re: Professional Corner-Cutting (2016)

#138
post #51

Earlier quoted context omitted.

This is not the right answer for a real business. Sometimes we'll fix that later is perfectly acceptable. If that was good enough for Facebook it can certainly be good enough for others.

"We'll fix that later" is at best a hopeful fantasy, and at worst a lie intended to manipulate. It doesn't happen. We need to be clear here. If what needs to be fixed is something that will inevitably cause serious problems down the road, then it should be fixed immediately. If it may cause minor problems then maybe you should never fix it. And there's a lot in between. The biggest problem is that bosses aren't in a…

I'm sorry but no.

Something that will inevitably cause serious trouble down the road doesn't have to be fixed immediately. It can be fixed later. The proper decision for the business is whether the "interest" on waiting is worth it. There are many examples of this in the real world. It's simply not true that "fix later" is always a lie. What's more likely to be the case is that as new requirements are discovered there will be churn and it'll turn out it wasn't actually worth fixing this thing that you thought would cause serious trouble "down the road".

I'm a "boss" and I'm a software engineer. My bosses are also software people. My CEO is a software engineer. What I expect my team to do is to give me the tradeoffs. What I don't want them to do is make business calls. If we lose a huge business opportunity because we can't make a milestone with a customer because an engineer made a decision on his own to spend weeks dealing with some corner case and the whole company goes down the drain that engineer is not professional.

Again we're not talking about situations where this would be unethical, we're talking about a tradeoff a business makes to go forward with certain limitations of some software in order to meet some business goal.

Re: Professional Corner-Cutting (2016)

#140

Earlier quoted context omitted.

The back of Apple cabinets are are actually pretty good even in the Tim Cook era. [1]: https://www.cultofmac.com/320883/why-samsungs-design-sucks-i... [2]: https://ioshacker.com/iphone/image-compares-ugly-samsung-bea...

On the first, having the off-center hole helped with thicker plugs. The iPhone had less of these issues as cables were thinner (and more expensive) in general, while micro USB had a flurry of cheap cables in the while that could be much thicker. Apple never really cared for ports practicality, we've had the same discussion with the finewoven cases that wouldn't allow for regular thickness usb-c cables. Other makers m…

There is no excuse for the top of the phone having things like misaligned microphone holes with the sim card tray etc.

That is shown in the first link but only if you scroll down to the second photo.

Post reply on HN