Systems Software

Systems software is the low-level infrastructure that applications run on. As an applications programmer, first try to find existing systems software rather than writing it from scratch. Once you start writing systems software, use the most efficient algorithms and data structures that gracefully accommodate the workload. Have your code check for all error returns, block when it has nothing to do, and avoid repeatedly processing data in memory. You can accelerate stress testing your software by configuring your testing environment to exercise its edge cases. To debug your software, instrument it with copious amounts of configurable logging. The Web extra at http://youtu.be/b8wWr36CiE8 is an audio podcast of author Diomidis Spinellis discussing how with mean and lean code, paranoid testing, and comprehensive logging, programmers can write the systems software that their applications deserve.