Use lower level languages more.
Using higher level concepts often makes writing code easier and faster, but often come at the expense of making debugging problems harder.
Debugging is the hard part, not the writing.
Capitalism knows time is money and knows getting software written faster is better than getting software written well.
Be wary of tools that claim to let you write code faster and easier; they aren’t helping you write code better.
Can you describe what your software does without using the word “and”?
If you can’t then you should probably be writing 2 different bits of separate software.
Stop using custom binary save files.
Your user should be able to move their work to a competitors software if they wish, they own their work not you.
Write the software you want to use, not the software you think others will want to use.
One will give you focus on the task at hand, the other will not.
These are, of course, just ideas. Do not be scared to throw them out the window if you need to.
Join others in a free (libre!) and user supported social network for board gamers and the games they love.