3 ms·
I would add 2 things: 1) use libraries that are stable and well documented, 2) use things that work well out-of-the-box. For 2 I'd like to give you the example
by RedShift1 5y ago
I would add 2 things: 1) use libraries that are stable and well documented, 2) use things that work well out-of-the-box.
For 2 I'd like to give you the example of Grafana. To get it up and running all you have to do is install an RPM and start the service. That's it, you can immediately start playing around with the software. The out-of-the-box configuration is fine for 90% of the use cases. Upgrades are equally smooth as well, everything is done for you. Just install the newer version and restart the service. Database is upgraded automatically. By default an SQLite database is used to store everything, but if for some reason that becomes a bottleneck you can upgrade to MySQL, at which point also some more advanced skills are needed. But that's kind of the point I'm trying to make, it works well OOTB but can be tailored to fit outside of its default configuration.
I've grown to loathe software where much manual setup is needed. Creating databases, importing the schema and bootstrap data, going over a myriad of configuration options because the defaults don't work OOTB, having to configure things that could easily be auto detected by code, requiring dependencies that are not available on your distro, moving files around and setting permissions yourself... All feels needlessly complex, isn't the computer supposed to work _for me_?
Over time I've started to feel that the OOTB experience is directly proportional to the quality of the software. Using tools that just straight up work and drop those that require intensive tinkering to get going has definitely improved my work experience.
- skohan 5y agoYeah I am also a big fan of using things as close to the default as possible. Highly customizable tools are great, but often I feel it’s a better time investment to learn how to use the standard configuration well. Then any thine you sit down in an unfamiliar dev environment you will generally be able to get up and running quickly without having to remember all the things you had to do to set up your tools.