Live data from Hacker News

I don’t belong in tech

medium.com

51–60 of 205 posts

Re: I don’t belong in tech

#51

Earlier quoted context omitted.

Today's "quick MVP we can incrementally improve" is tomorrow's "unmaintainable legacy codebase." But sure, it'll be different this time.

Legacy codebases make money. The engineer anxiety about them is myopic and ignorant of business realities. If you can code something quickly and well enough that it doesn't immediately collapse under its own weight, you have succeeded. The fact that a codebase has existed long enough to become "legacy" means it did a good enough job to stay alive.

The engineer anxiety about them is myopic and ignorant of business realities.

I don't think that's fair to a large number of engineers. We know that code gets loaded with technical debt and we know that we can't spend time fixing it because of "business realities". That doesn't mean it isn't a problem for us though. Anyone whose had to maintain a codebase that's years old and riddled with undocumented and untested "features" suffers for it. Old code is a source of stress and anxiety. It might make money, but that isn't a reason to think it's not an issue.

Re: I don’t belong in tech

#52
This was way too long for me to read. I wish she would just get to the damn point instead of going into pointless details about her feelings, etc.

Re: I don’t belong in tech

#53
post #42

Earlier quoted context omitted.

If I build a quick MVP, I can easily incrementally improve it. But you won't. Even if you want to, the client won't pay you to because all the client sees a working solution, so you never get the chance to. That's the problem the author is highlighting.

Sure I will. Most products have continual work done on them. Code "quality" (whatever bullshit metric you use for that) is not the only metric of improvement. In fact, it's probably the least important metric to optimize over time.

Most products have continual work done on them.

Usually that's new features and bug fixes. It's very rare to find a client who'll happily pay for refactoring. If you're in a job where you get time for that you should consider yourself very lucky indeed.

EDIT: For what it's worth, I agree with your point about code quality. What's 'beautiful' now is only 'perfect' in the frame of the current feature set. It might be horrible if the next feature that comes along changes things dramatically. I'm very much of the opinion that "good is better than perfect", just with the addendum that the code at least has to be good. Bad code is just bad.

Re: I don’t belong in tech

#54
post #23

The author makes some great points that I initially wanted to dismiss, but I think are actually really interesting. Unlike many other types of engineering/craft, most experienced software developers have settled on an aversion to perfectionism. A good carpenter wants to build a solid house even if no one will ever see its frame. Ditto to an auto engineer at BMW, or a hardware engineer at Apple, or a mechanical engine…

" A good carpenter wants to build a solid house even if no one will ever see its frame. Ditto to an auto engineer at BMW, or a hardware engineer at Apple, or a mechanical engineer at Boeing. Why do software engineers break this mold? "

They don't, but a good carpenter is not going to try to figure out how to make every single wall perfectly 90 degrees, etc. He's going to take a level, see if the thing is in a center for a given stud, make that work, and then move on.

They never perfect the end result. None of the walls in your house are likely perfectly square and plumb They also use imperfect building materials, and so they know that a year from now, even if it was square, it wouldn't be anymore.

Carpenters, more than anyone, are true believers in "good enough". I'd argue most of your other examples are the same.

That said, the problem she complains about is real. She is, in essence, a programmer from 30-40 years ago.

When you had to share time on computers, and your software broke, you didn't just poke it repeatedly until it worked, because you couldn't. Instead, you sat on a mountain and meditated upon your code, until you understood it well enough to fix the problem and try again.

In that sense, the thing that has really changed is not the cost, it's the speed at which you can throw shit at the wall.

Development is so fast nowadays that programmers don't stop to think about the real underlying problem, they just want to make the compiler shut up or the program keep going.

They just want to solve whatever their immediate problem is.

The cost incentive was always there. People always wanted good software as fast as it could be built. It was the speed of being able to build it that made people concerned with quality.

Now that they can essentially build it at light speed, nobody cares, because it's only how it seems to work that matters.

IE doing things the wrong way to achieve the result people want is fine, even if it causes longer term problems.

You can see this in pretty much any long-running (IE 15+ year) open source project.

Re: I don’t belong in tech

#55
Most of the things mentioned annoy me too and I've been doing this for going on 20 years now. Perhaps move into a different industry that uses tech but is not tech. Some companies appreciate 10+ year code. (Code you write that you expect to last 10+ years).

Churn and burn code fits SV right now. VC's invest in hundreds of companies expecting only a few to make good money. It makes sense to only build enough product that proves the business model / concept. If the business model is bad, it's better to have paid less to build it than spend more for solid code. Solid code costs time and money.

Traditional companies that use tech want a product build well that has low maintenance costs and will last them 10+ years. They are more willing to build a tight application rather than a loose one because their business model is already proven.

Re: I don’t belong in tech

#58

Maybe she should quit doing user-facing stuff and try getting into systems programming for a change. Or some other area where sloppy solutions lead to tangible reduction of business value and thus are not tolerated. Tech is big, no need to quit all of it.

This was my thought as well. And don't work at a small company or startup; go work in a mission critical industry such as aerospace where perfection is the rule of law.

Re: I don’t belong in tech

#59
post #38
post #23

The author makes some great points that I initially wanted to dismiss, but I think are actually really interesting. Unlike many other types of engineering/craft, most experienced software developers have settled on an aversion to perfectionism. A good carpenter wants to build a solid house even if no one will ever see its frame. Ditto to an auto engineer at BMW, or a hardware engineer at Apple, or a mechanical engine…

I'll have to disagree. I used to be a carpenter and the objective is definitely not to be perfect. Building anything, houses or apps, the objective is to work within tolerances. The modern system of 2x4 framing and drywall allows those tolerances to be very loose without affecting the end product, but I digress. Would you prefer a half-finished house with perfectly cut studs (that you can't see inside the drywall), o…

Thank you for sharing your thoughts here, this is so well put and I completely second this.

I find the beauty of code is not in adhering to someones concept of elegantly written code, that only the coders see, but in the fact that it's living, and that over time your solution can evolve to become better than its intended purpose. Something observed to be perfect usually has a past that is often overlooked.

Re: I don’t belong in tech

#60
Perfectionists rarely finish, but when they do, it's usually everything they wanted and more than you expected.

I can't be a perfectionist in anything.

More than perfectionists, though, I like those who focus on building that one product, writing that one book, solving that one math problem over years. That is people who are dedicated to a problem and have removed Time from the equation.

Post reply on HN