The Non-Engineer’s Ultimate Guide to Software Technology