For some time now, the call has gone out: “Learn to code! You need to learn to code!”, often with wild-eyed speculation about how soon every job will require some level of programming expertise. Many point out - rightly - that programming and software development aren’t for everyone: not everyone has the desire to work in the tech field, and not everyone has the natural inclination to work on coding problems day in and day out.
The funny thing is, both perspectives are perhaps true. Sure, not everyone who picks up coding will make that their livelihood or even a long-term hobby, but that doesn’t mean that there is no value in learning at least a little bit of coding. Indeed, coding (in my opinion) offers these benefits to those who spend much time on it at all:
1. An understanding of how computers work
Granted, the sort of languages that most people are learning don’t necessarily give incredibly deep insight into the workings of memory allocation, how CPUs work or low level details like that. However, knowing the basic flow of a program, becoming familiar with the “garbage in, garbage out” principle, understanding I/O streams and knowing how objects communicate with each other make it easier to grasp what a computer is actually doing at any point in time. At the very least, it might create a little more sympathy for the people who wrote the softeare that just errored out on you.
2. Sequential thinking/planning
There might be a more precise term for what I’m talking about, but coding is a wonderful way to grasp the sort of “if-then” thinking and planning that is useful in working with procedures of all types. If you can follow the flow of a program, you can follow the flow of a recipe. If you can write a program, you can write a flowchart for your work tasks. If you can understand what makes one algorithm faster than another, you can make those same work tasks faster and better.
3. Attention to detail
Working with code requires a certain degree of precision, as any mistake can potentially bring your code crashing down. Any typo in your code can create problems, either immediately or down the line. Using the wrong word will make your code unreadable to the compiler or interpreter, even if you know exactly what you meant to say. Failing to plan your code for readability now will make working on it later a nightmare at best. Coding gets you into the mindset of adhering to good practices now to save you headaches down the line.