The strongest programmers I know all visualize the code that they are about to write, before sitting down and writing it. They see it first.
I doubt that their visualizations are similar, but they can see in their imaginations the various parts of the machinery that they are about to create, and they can walk through it in their heads as it runs.
There are lots of different ways to visualize code. You can see it as data flowing everywhere, or mechanic contraptions all interacting with each other. You might see it from the user’s point of view, or imagine the CPU instructions flying by underneath.
Programmers that can see the code they are writing are able to clean up those visualizations in their heads first, before committing them to their editors. It’s sort of like working out the plot of a novel before sitting down to write it.
This usually means that the code is a lot cleaner and better organized. You can see it in their output.
On the other side, you can definitely see when a coder is flailing at their work or going at it blindly. So, you can tell from the work someone has done, how well they understand the work they were doing. The confusion or lack of it comes through strongly.
Visualizing is a form of implicit planning. If you see it, you know how big it is, what the pieces are, and roughly how long it will take you to get done.
It’s a critical skill necessary to mastering programming. It seems to come more naturally to some people, but for everyone, it improves with a lot of practice. So, rather obviously, if you want to get better at it, you need to do more of it.
No comments:
Post a Comment
Thanks for the Feedback!