A Software Developer’s Guide to Writing