Besides general goal-setting and productivity skills, good coders require a variety of other “soft skills” to do well.
Understanding
Good coders don’t just sit down and type out code without knowing what they’re doing. They’re trying to accomplish something with a variety of computer-based tools at their disposal.
So, they will need to write out “pseudocode”. Instead of fussing with syntax and variables, they instead get the “big picture” by making an outline of the code.
Pseudocode has hundreds of forms. Like any creative/productivity system, you must make one that conforms to how your brain works and how you understand things. However, there are a few good ones that most programmers use:
Flowcharts
- A graphical representation of a function and how it might flow.
- Each block represents a conditional statement or loop, with the resulting conditions represented as lines.
Chronological Order
- Write out each element, step by step in excruciating detail, of what the program will do.
Functionality Planning
- Write out each of the features the program should have, then examine all the functions necessary to make the program work.
- This is a bit like the flowchart, but scaled out across the entire program.
Acceptance
Persevering in programming is extremely hard because the perfect logic of computers breaks down in computer code. Computers and their code are so deeply complex and challenging, and a developer is constantly learning better techniques, that it’s impossible to get anything absolutely perfect.
For that reason, programmers have to accept they’ll only get things that work well, but are never perfect. Later, they can always optimize, but getting an alpha out is the hardest challenge, and version 1.0 is typically a much more grandiose vision.