Professional Corner-Cutting (2016)
131–140 of 142 posts
Re: Professional Corner-Cutting (2016)
#132Earlier 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.
Re: Professional Corner-Cutting (2016)
#133Earlier 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…
Re: Professional Corner-Cutting (2016)
#134Exactly what I think of when I read this.
Re: Professional Corner-Cutting (2016)
#135> 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…
Re: Professional Corner-Cutting (2016)
#136Earlier 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.
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)
#137Earlier 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…
Re: Professional Corner-Cutting (2016)
#138Earlier 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…
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)
#139I think the most pertinent question here is: whose time?
Re: Professional Corner-Cutting (2016)
#140Earlier 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…
That is shown in the first link but only if you scroll down to the second photo.