Hacker News new | ask | show | jobs
by ChrisMarshallNY 758 days ago
I was explaining this to a friend who's a top-shelf cabinetmaker.

He was telling me how he would sell high-quality cabinets to homeowners, basically by building a "dream kitchen," that far exceeds their budget, then backing down, by removing features, until they have something that exceeds their original budget, but would still be quite good, and that they want.

He was saying that I should use his methodology.

I explained that his sales are to the people that would actually use the cabinets, so they have a vested interest in high quality.

In my case, I would be working for a business that absolutely doesn't care about quality. They want the cheapest, shittiest garbage they can possibly get away with pushing. They don't use it, and many of them won't even be responsible for supporting it, afterwards, so there's no incentive for quality.

The same goes for corporations that don't try to retain talent. If someone is only going to be around for eighteen months, they are paid well, and they are pressured to produce a lot of "stuff," then you can expect them to produce a lot of ... stuff. They don't give a damn about supporting it, because they are already practicing LeetCode for their next gig.

I have found that giving people a vested interest in Quality is essential. That often comes from being responsible for taking care of it, after it is released, using it themselves, or having their reputation staked on it.

I don't feel the current tech industry meets any of these bars.

Most of the software I write, is stuff that I use, and I am intimately involved with the users of my work. I want it to be good, because I see them, several times a week. Also, I have a fairly high personal bar, that I won't compromise. I have to feel good about my work, and that doesn't seem to sell.

4 comments

When I started at Oracle yonks ago, there was a bizarre bug management system.

When a bug was found, it was assigned to the next available developer in the team. It didn't matter who wrote the code and created the bug - there was no feedback to them unless they happened to be the one who picked up the bug report.

The bug reports were printed out and stood in a tall pile on a manager's desk.

Quality was, as one might imagine, terrible. Junior developers had no idea what a bad job they were doing - senior developers spent their days fixing stupid bugs they would never have caused themselves.

The solution, blindingly obvious, was to start assigning bugs to the developer who caused them. The improvement was instant, because most people actually want to do a good job, and to be seen doing a good job. The pile of bug reports literally shrank before people's eyes.

The current industry seems to have moved back to these bad old days but on a longer timescale.

Resume-driven development abounds. Developers move on to the next gig before the impact of their decisions becomes obvious and quality plummets accordingly.

It doesn't help that most of the career advice out there now is to move to a new role every 2 years if you want to get underpaid. Developers don't have the opportunities (or don't give it to themselves) to see how well what they build stands against the test of time.
was just having a chat about this in a recent 1:1

I've been at my current role for almost 7 years. Many of the best lessons I've learned have come from the pain of maintaining and fixing my own mistakes.

Sometimes it can take 2 years just to tell if a decision you made was good or not.

"move to a new role every 2 years if you want to get underpaid"

missing "don't"

Devs leave in 18 months because their market value increases faster than their pay at their current company.

You can give devs a vested interest in their work by making sure compensation tracks/exceeds what they can get outside, because it would give them a vested interest in remaining employed with the company.

This is true, but it is also only one axis. Once we have been at it for a while, respect, work-life balance, and job satisfaction are also very important variables.

I will bet that the top companies are able to provide all of these, and keep people, but I suspect that many companies have terrible managers that can’t keep a decent work environment going, so compensation is the only variable that matters.

The company I worked for, didn’t pay especially well, and I worked very hard to treat my employees well. It seemed to work. It wasn’t a case of greedy managers, making money off the backs of peons. None of us made that much, but the work was deeply satisfying. We worked with the top engineers and scientists in the world (in our field). Our business cards opened a lot of doors.

Seems like building and selling your own software (aka solopreneur) would help you to build capital at the same time as it also forces you to write good code.
Yes. That’s pretty much what I do. There are a couple of issues with this, though:

1) It’s difficult to do this, unless you already have a lot of experience, writing good code.

2) There’s a ceiling to what we can do, as individuals. I have heard tales of Linus, The Miracle Coder, who can write an entire operating system, as well as an industry-changing VCS, on his own; but I only know of one cranky Finn that seems to fit that description. Otherwise, most of us mortals need to work in teams, to achieve ambitious goals, and that brings its own set of challenges.

How did he react? I imagine he was horrified.
Actually, he understood perfectly. He was a businessman, as well as a craftsman, and understood that this is par for the course, in many successful businesses.

I believe that it's vital to have a stake in Quality, or it won't happen.