Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I appreciate this analogy, but Jobs made this work by creating a leadership culture that was obsessed with quality and craftsmanship. By all accounts he would regularly refuse to ship hardware and software that wasn't up to his standards and fired people for not building things to the right specifications. In contrast, most of us work in organizations with the exact opposite leadership mentality, namely "get your work done as quickly as possible so we can sell more product, and fudge whatever you have to to make it through quality testing unscathed".


> In contrast, most of us work in organizations with the exact opposite leadership mentality, namely "get your work done as quickly as possible so we can sell more product, and fudge whatever you have to to make it through quality testing unscathed".

When I was in leadership and advocated for getting things done as quickly as possible, the principle reason is that it didn't matter: the company already failed by the time I had subordinates. My reward was that I got 4 extra years of my life back by leaving 1 year in rather than at the bitter end, compared to my colleagues.

It's my opinion that most companies are 90% operating failures / doing stuff that doesn't make sense, while there is 10% that does make sense and subsidizes all the failure. Some people call this taking risks, and indeed the worst places to work take the fewest risks, but I don't think the two are related.

Also the Lisa was a disaster. I don't think there is generalized advice here, even if you have all the conditions where craftsmanship and aesthetics are literally the #1 values your product has.


>It's my opinion that most companies are 90% operating failures / doing stuff that doesn't make sense, while there is 10% that does make sense and subsidizes all the failure. Some people call this taking risks, and indeed the worst places to work take the fewest risks, but I don't think the two are related.

so, is the metaphor of drawer useless in software? Is there no point taking pride in the craft because it's all going to fail anyway?

I don't mean this rhetorically. I just genuinely wonder what and how different people's mindsets are with respect to work in the field. I work in games so success is rarely guaranteed, and shorcuts often taken. There's very few times I can say that better code would have saved a game financially.


I said it on here before. I used to be the king of macaroni code. Tiny pieces of spaghetti code - fast running that barely made sense. The technical debt stacked up really quickly but it ran damn fast and got the job done. Kind of stuff that would make people say "How the heck does that work? That is fast though!".

It is a problem of being self taught on projects that only I would use, you would learn some very bad habits. Would also mean making code that you would look back on a few months later and have no idea what you were doing.

If it was for anything other than video games pre-online era, I fear the kind of damage it could have done. It was putting pixels on screen, not running online data bases or via monetary systems.

To that I say, I like the Ps2's/Gamecube memory systems that kind of didn't give a damn how many pointers you threw at it. I would also like to say I learned not to do this, I did not. I just don't code any more.


The culture hasn't persisted. Take a look at the output of the console app on your Mac: They are using the software equivalent of plywood in Mac OS nowadays.


How could it persist? Companies optimize for profit, quality be damned. In contrast, craftsmen take pride in their work, and pride is what creates quality.


Fun fact, there's a word in Greek for "pride in your work": Meraki.


Meraki also means "done with love", which gives it a slightly different spin than just pride. You're proud of it because it comes from the heart!


Yes, but also "done with love" isn't exactly it either. It's very hard to translate precisely.


Thanks! If anyone else has a word for this in their native tongue, I'd love to know them.


Let me ChatGPT that for you ;)

* Sisu (Finnish): Though not a direct equivalent, "sisu" refers to a blend of determination, resilience, and courage in the face of adversity. It's doing something against the odds, putting extra effort, and not giving up.

* Gaman (Japanese): A term that loosely relates to enduring the seemingly unbearable with patience and dignity. It can apply to doing meticulous, quality work even when situations are challenging.

* Jugaad (Hindi): Jugaad speaks to a creative or innovative fix; essentially finding a low-cost solution to a problem in an intelligent way. It reflects a spirit of resourceful improvisation and can indicate a pride or savvy in being able to solve problems with limited resources.

* Arbejdsglæde (Danish): This word directly translates to "work happiness" and denotes finding joy and satisfaction in the work you do.

* Mānawa (Maori): This is used to describe patience and perseverance, particularly in working toward a goal or mastering a skill.


I can't speak for all of them, but "jugaad" maybe isn't a good translation of "meraki".

For me, meraki has kind of a "craftsmanship" meaning - you're building something carefully, like a sculptor. The result reflects your soul.

Jugaad is more of an ingenuity/re-purpose/get-it-working-fast kind of thing, kind of like a "hack" but with a more positive meaning.


I really should get to know chatgpt a little better, thanks for the reminder.


The best reason to do great work as much as you can is intrinsic satisfaction you get from that.

Also, think longer-term: if you can program well enough, then you can write great software quickly which is a huge asset when making your own thing and selling it.

It is quite rational to optimize for your own wellbeing in these ways even in orgs that are not fully conducive to long term careers.


>if you can program well enough, then you can write great software quickly

No? Doing things the right, robust way regularly takes more time and effort than doing it the quick and dirty way, which means your lazy coworker gets the management attention and raise instead of you.

For the vast majority of software developers, the correct career choice is just to always be making your manager's life easier, and they rarely care about "doing things the right way", especially when whatever you write will be replaced in five years because someone somewhere is too lazy to understand the current codebase.


The correct career choice is to seek organizations whose values align with yours as much as possible.

Life is too short to spend most of your waking hours surrounded by people whose beliefs go against yours.


> Doing things the right, robust way regularly takes more time and effort than doing it the quick and dirty way, which means your lazy coworker gets the management attention and raise instead of you.

Not if you make a habit of it. If you do, the right way feels like the only way and comes quite fluidly. Meanwhile, the lack of PR bickering and regressions that point back to you does actually become apparent to your colleagues. Your work is not only quick, but good, and people notice both.

This is something that’s not apparent early in one’s career and the temptation to take shortcuts does have short-term payoffs during that phase. But if you stick to doing good work, you come out way ahead later on.


Unfortunately we live in a stack ranked world and with incentives like not being deported - people will choose whatever pleases management over any idea of craftsmanship or quality.


A bitter pill, indeed.


> The best reason to do great work as much as you can is intrinsic satisfaction you get from that.

Be careful: it can be dangerous to tie your inner satisfaction with your work, which is not under your full control and also what you need to get paid. You can get burnt out.

Sometimes you have to take a step back and say "It is what it is, we all need money, fuck it and let's move ahead."


I think you’ve made a good point but I’d also note that one can have satisfaction and happiness from small(er) bits of work done well in the context of a larger undesirable/burnout/failure situation. And maybe even such outlook can help stave off burnout during difficulty stretches when paired with a somewhat stoic perspective that one is not entirely responsible for the fate of the larger company/team


Yup.

For so many reasons, from a mentor of mine:

Quality Is It's Own Excuse.

If you can do it better, do it better.


Jobs sounds like an asshole to work for and I wouldn't want to be held to his standard. That being said, I want to work with people that at least regularly attempt to employ true craftsmanship. Your product can have its warts but it needs to fundamentally be built with love.


Jobs uniquely understood that promoting exclusively sales people is the primary cause of legendary product degradation.

It’s a little absurd to state “uniquely” there, because obviously, “everyone” understands this except the people that need to understand it.


I'll bet Jobs' company sells more than the companies most of us work for.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: