I've been writing software for quite a while, and for most of that time I've been absolutely convinced that I know how to write good software. And of course that means that people who disagree with me don't. (😉)
Why aren't my clearly superior approaches obvious to everyone? How do I articulate the benefits of my way? Maybe if I appeal to seniority it'll convince them. Or perhaps I'll appeal to some kind of authority like a well-known blogger who has expounded upon the virtues of an approach that I like. Given that I know I'm right, maybe I can get ChatGPT to justify it.
But there's an elephant in the room: personal preference. How much of the things I'm 100% sure of are just what I'm used to? How much is due to the way my brain is wired? How much is baggage from older languages or frameworks and thus is no longer relevant?
Here's a smattering of things I have been, or currently am, absolutely convinced are the "right" way:
develop branch that gets merged to main when it's time to deployEverything I know about software engineering is a hodge podge of whatever worked well at the various places I've worked. So some of it is hard-won best practices after being burned, some of it is industry best practices learned from various colleagues. And of course some is just personal preference.
So it's time to put some effort into learning about best practices and common software engineering principles. And in the spirit of the principle of Single Responsibility 1, that's it for this post 😃.