How developer experience can escape the spreadsheet