diff options
Diffstat (limited to 'src/blog/quality-quantity.kuht')
| -rw-r--r-- | src/blog/quality-quantity.kuht | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/blog/quality-quantity.kuht b/src/blog/quality-quantity.kuht new file mode 100644 index 0000000..e3ddf99 --- /dev/null +++ b/src/blog/quality-quantity.kuht @@ -0,0 +1,98 @@ +<import "base.kuht" as "base" /> + +<head> + <title>More Features Don't Make Software Better</title> + <meta name="description" content="Something I should get off my chest" /> +</head> + +<body> +<article> + +<h1>More Features Don't Make Software Better</h1> + +<p> + Forgive the clickbaity title. It's not entirely true, but it is accurate to + the spirit of what I'm describing. I have frustration when explaining this to + people, and I've struggled to articulate it well until now. +</p> + +<p> + If your software has 100 features, but all of them suck, then I have no reason + to use your product. But if your software has even one feature that feels very + well considered, thought-out, and cared for, I now have a reason to use your + product. +</p> + +<p> + A similar principle applies when applying for jobs. If you send out 100 job + applications that all suck, then every single one of them is going to be + rejected. You can't scam someone into giving you a job. I spent two weeks + refining my resume, and only sent it to two companies. Both companies also got + cover letters from me. I got an offer from the second job I applied + for<a id="af-1" href="#footnote-1"><sup>1</sup></a>. +</p> + +<p> + My code editor of choice is helix. It doesn't have a lot of features. In fact, + it doesn't even support extensions yet<a id="af-2" href="#footnote-2"><sup>2</sup></a>. + But I keep coming back to it because the mental model it asks me to adopt is + very simple compared to something like Vim, and much more efficient than VS + Code. I select text, and then perform an action. The other things I need out + of a code editor are just good enough to get by. There is a built-in file + explorer and ripgrep tool. I've tried LazyVim in the past, and even though it + had more features, I couldn't shake the feeling that none of them were + designed to work nicely with each other. So despite how much functionality + there was, I didn't feel good about using any of it. +</p> + +<p> + Sonic Frontiers, after releasing, had three updates to the game that were + released for free. There were a lot of interesting ideas in those updates. + They did try to address some of the issues players had with the game, such as + the lack of momentum when jumping. But there were other ideas that I found + questionable. Action chain challenges are cool, but would it really improve + how players perceive the game if it were there at launch? None of the updates + improved the art direction, or addressed the gratuitous pop-in, or made the + existing Cyberspace stages feel less like copies of older levels. The final + update came with a new campaign at the end of the game with multiple playable + characters. The lack of multiple playable characters is a long-standing + complaint in the Sonic community, but the gameplay for these characters was so + difficult to control (with the exception of Amy) that I would rather have not + played as them at all. +</p> + +<p> + I don't think it should be acceptable to excuse having lots of bugs because + you also have a lot of features. It would make sense that more features would + induce more bugs, but that's still worse for the end-user. I'd rather have + software that doesn't do much, but also doesn't annoy me with problems while + it does very little. Those annoyances will cause some users to find other + options, even if those other options may not do everything your software does. +</p> + +<p> + All of this is my opinion. I won't claim that everyone else feels the same + way, or that following this approach will make you more money in the long run. + But personally, I prefer a piece of software that has one feature I really + like, to a piece of software that has 100 features that I only tolerate. +</p> + +</article> +<hr /> + +<footer> + <ol> + <li id="footnote-1"> + I decided not to do the interview for the first job, because it asked me to + record an interview where all of the questions would be asked by AI. I also + already had been preparing for interviews with the second company, so I + decided to focus on that. So, in effect, I only really applied for one job. + <a class="return" href="#af-1">return</a> + </li> + <li id="footnote-2"> + Helix is supposed to get plugin support soon, but it's been a long time. + <a class="return" href="#af-2">return</a> + </li> + </ol> +</footer> +</body> |
