Hacker News new | ask | show | jobs
by ryandrake 1907 days ago
One of the reasons I left software development as a career was I couldn't bear to keep shitting out products that were just barely good enough that the customer wouldn't return it. That's the quality bar in commercial software and I hated having my name on it. I'm more into refactoring it 20 times in order to get the perfect architecture, fix every last bug, find every performance improvement, make it not just work but make the code itself beautiful. Like the Steve Jobs quote:

“When you’re a carpenter making a beautiful chest of drawers, you’re not going to use a piece of plywood on the back, even though it faces the wall and nobody will ever see it. You’ll know it’s there, so you’re going to use a beautiful piece of wood on the back. For you to sleep well at night, the aesthetic, the quality, has to be carried all the way through.”

Obviously, this is totally incompatible with how most software is made in the industry, so I just do it as a hobby instead.

1 comments

You will like this presentation by Jonathan Blow [1], I feel the same. I am in grad school, but since my bachelor, I felt more like a craftsman than a student, I always spend more time in order to make my code 'look' beautiful to me, and be performant. I would like to work somewhere that puts emphasis on writing good software instead of chasing feature after feature. Speaking of which, speed is an oft ignored feature [2]. It is really frustrating to have sluggish apps and I often end up avoiding them altogether.

[1] https://www.youtube.com/watch?v=ZSRHeXYDLko

[2] https://www.enchant.com/speed-is-a-feature

Watched the Jonathan Blow presentation and agree completely. There was just another thread[1] yesterday about developers always reaching for the most complicated tools they possibly can, to the detriment of our industry I'd argue.

1: https://news.ycombinator.com/item?id=26662972

I think the condition for having this sort of software is that people do it on purpose. The condition for having jobs where people are paid to make such software is that companies focus on areas without competition (otherwise the whole blitzscaling thing applies and they will go out of business). Competition is for losers, right?

What's missing from my extremely simplified model?