The responsibility of a software developer is to “deliver stakeholder value”.
Stakeholders are people and business.
We are tasked with creating things that provide positive value to those who commission it (the business) and use it (the customer).
Our responsibility and priorities are the following 3 tenents of software development:
Security: Ensuring the software we develop does not harm the business or customer, either directly or indirectly.
Usability: The customer can effectively discover, learn and usability the software in the easiest, most satisfying way possible. It should bring calm and cause a smile.
Sustainability: Ensuring once the software has been created it can be easily and effectively maintained into a long and unforseeable future. That includes ensuring it is cost effective, upgradable, extensible, buildable and deployable.
Software development is not about playing with technology.
It has nothing to do with language features, tools or frameworks.
Learning and change are not the reason for doing the work.
Cool should only apply when we find a way to improve on one of the tenents or delight a stakeholder.
Methodology, patterns, practices and paradigms are irrelevant if they don’t fit the tenents.