Programming for Non-Programmers
November 13, 2016
Since learning to code, I've encountered dozens of concepts and tools that make the job of coding easier and more effective. But many of these concepts and tools could also be used by non-programmers, or to achieve non-programming tasks, and the only reason they aren't is because an artifical wall has been built up around them, and they are falsely considered within the domain of only the "technical" few.
To address this, I will cover a few of those concepts in this blog. I want to provide how-to guides for applying programming concepts and using programming tools to achieve non-programming goals. I've noticed a divide in the working world between those who can code and those who cannot. The most prominent manifestation of this is in the job search in Silicon Valley, frequently divided between "technical" and "non-technical" jobs. This, however, is a false dichotomy. The reality is that many non-technical jobs require a signicant amount of technical know-how. You may not be asked to write code, but in my experience, even in a standard office job you are expected to know--on day one--exactly how to navigate a file system, download, upload, transfer files (FTP or otherwise), and communicate online (which requires a different skill set from communicating offline). In other words, there are a great deal of technical skills taken for granted in the average modern-day office worker, and there are skills lumped into the "technical" that are easy to learn and wildly useful, even for "non-technical" tasks.
Over the next few posts I will cover some of these concepts; the first will be how to use the command line. Before I learned how to code, I learned how to use Mac Terminal, and it's made not only the task of coding but also the more general task of using a computer much easier, faster, and more intuitive. I remember fearing the command line before I knew how to use it. And certainly there is a learning curve, but it's not as steep as one might think, and using the command line will become second nature sooner than you may think, as it has for me.
For this series, I will cover the minimum effective dose of each concept: enough to cover at least 80% of what it can do for the average user, and enough that will maximize your ability to, for example, navigate your computer and file system. If you are interested in going deeper, there are plenty of tutorials online that can take take you there, but my goal is to cover enough to maximize utility and minimize time spent learning for the average user. Stay tuned!