I asked the superlearners on the programming group to send their advice to the beginning programmers.
Below I summarize some of their suggestions with my own commentary.
- Always comment your code. Commented code is not only visually pleasing. We need to pass our code to other people to read. And if we have done something tricky there is a good chance even we will forget what it was eventually.
- Don’t worry about syntax. This is a pure beginner problem which disappears after a week or two. Problem solving is much more important.
- Just because it’s hard doesn’t mean you’re bad at programming. Programming is about problem solving. Once you become an experienced programmer you will face very different problems than the beginner. You may be bad in beginner stuff and great with more advanced problem solving.
- Master keyboard shortcuts to optimize your IDE experience.
- Break the problem into smaller parts. Solve one block and then solve the next one, or skip and go back later. Usually, you do not need to program in a linear fashion. Solving easier part of the problem may give you enough clues to solve more complex one.
- Make a todo list instead of keeping everything in your head. Your working memory is limited, and you want to use it for problem solving and not for task keeping.
- Use variables and constants; don’t hardcode stuff. This is easier said than done, just minimize hardcoding to keep code readable and manageable. If you change a number, you want your code to change automatically.
- Errors are your friend, they tell you when things go wrong. If you wrote a function and have 20 errors, it is not a big deal. If something went wrong and you do not see an error message, then start to worry.
- Do not reinvent the wheel. If you have a challenge to face, someone probably faced the same challenge before you.
- People are more important than code. Know when to ask for help and when to help others.
- 90% of the time we work on things nobody will ever see. Do not look for elegant solutions. Keep it simple and invest in reliable infrastructure.
- Plan, reason about and visualise your software, then write it down, then implement it Spend more time on design to have less errors and better code. This will make your more productive.
- Prototypes are built to be discarded. We learn from building code. What we learnt is much more important than the code we wrote. It may be easier to write from scratch than to fix mistakes in something poorly written.
- Read code of your betters. Do not just intergrate code, read and review the code you want to integrate. You will learn a lot.
- Don’t ever stop reading. Programming develops rapidly. If you do not develop as fast, you will loose your qualification.