how to git gud at writing software
Learning programming is not only learning how to code, but how to think like a coder. You're engineering a solution, not a program which is the end in itself.
Basics
- learn what types are.
- you can only learn this properly when you use a language which has strong typing.
- It's easier to write properly typed code in a strongly typed language.
- Learn how bits work
- logical AND, OR, XOR, NAND and NOR are basic operations you should know about
- use a version control system like git.
- it's basically "undo after you already hit save" in the beginning.
Intermediate
- Do a lot of coding.
- Look around. If you have a hammer (the programming basics), everything is a nail.
- Make your code readable
- Use a consistent coding style, naming scheme and language.
- Write proper comments. Only comment on complicated things.
- Write long commit messages explaining your changes in detail. Don't only tell the reader what has changed, but why you changed it and where you can learn more about the changes you've made.
- Let other people read your code.
- Leverage pair programming.
- Contribute to FOSS.
Professional
- Start a business which involves you solving software engineering problems.
- You don't really have to code yourself if you can pay programming monkeys like you once were and tell them what to do.