Reading The Moment of Eclipse by Brian Aldiss.
Archive: February 1st, 2021
How to Build Good Software
The right coding language, system architecture, or interface design will vary wildly from project to project. But there are characteristics particular to software that consistently cause traditional management practices to fail, while allowing small startups to succeed with a shoestring budget:
- Reusing good software is easy; it is what allows you to build good things quickly;
- Software is limited not by the amount of resources put into building it, but by how complex it can get before it breaks down; and
- The main value in software is not the code produced, but the knowledge accumulated by the people who produced it.
Understanding these characteristics may not guarantee good outcomes, but it does help clarify why so many projects produce bad outcomes. Furthermore, these lead to some core operating principles that can dramatically improve the chances of success:
- Start as simple as possible;
- Seek out problems and iterate; and
- Hire the best engineers you can.
This annoying bug in the latest version of @Firefox is making me realise how much I use bookmarklets every day—linking, huffduffing…
Hearing about TYC 7037-89-1 in Eridanus, a system with six stars (three pairs of binaries), and trying to imagine what it would be like from the surface of a planet to see the sun eclipsed by another sun.