Buying into the hype, many of us went ahead and learned how to code. Whether through self-teaching, attending a coding boot-camp, a “traditional” four-year University education, or otherwise, millions of people have jumped at the exciting promise of building the future through making computers do stuff. Most programmers, however, do not do much thinking about just how their code is funded and towards what ends it may be utilized.
Consider the fact that code needs to runs somewhere. For code to do work at scale, you need to have computer networks of scale. Code written on a TI-89 graphing calculator stays on that small machine unless someone uploads it and runs it on bigger machine(s). These machines can’t “do” anything in the world unless they’re hooked up to (1) financial services, or (2) literal robot mechanical arm things.
Coders—often young people filled with energy and ambition—are the vehicle by which powerful people can further consolidate control by stretching the many arms of digitalization into more and more areas of life. Did you know that Bill Gates is now one of the largest holders of farmland in the United States?
Engineers rush to build driverless cars, automated production systems, and other tools that can be programmed. These things in turn will be used to replace jobs that would normally be held by people. Meanwhile, normal people (like you and I) slowly forget how to do many of the things previous generations knew how to do. Take navigation as one example—while Google maps affords many conveniences, many people have forgotten (or never learned) how to navigate the cities they live in.
For all the fear of “people getting replaced by machines” or some mysterious “algorithms”, it is often not mentioned that the power of these things only increases proportionally to how much we accept (or even invite) these things into our lives.
An organic farmer that does everything by hand or with some simple tools has no fear of cyber attacks (and thus does not have to spend thousands of dollars hiring cyber security professionals). On the other hand, an ambitious engineer or hobbyist who sets up a complex automated garden system with smart devices, meters to get all sorts of measurements, and automatic payments for the Most Optimal™ fertilizer will be in trouble if there is even a short power outage which may disrupt one of the interconnected parts of this elaborate hypothetical system.
“Coding” has been sold to the optimistic young people of this world as the tool to use to change the world for the better. What has been omitted from this advertising is a sober description of the conditions under which coding becomes so important—a world of increased centralization of power, consolidation of resources, and monitoring (for the sake of “data driven efficiency”).
So, what’s to be done?
Rather than just optimizing ourselves to be the best coders ever, it is important also to consider the projects and goals towards which we apply our efforts. Of course it would be cool to get paid millions to write or oversee some software—let’s say, the next killer iOS game. But before embarking on this project why not ask, “is what the world needs people spending more time looking at their phones?”
Likely, the conclusion you’ll reach thinking about what coding should be for will be similar to the one I’ve arrived at: we need to bring people back into business. Coding is just bossing around machines—and machines should remain where they belong—as tools for human beings to use, not as inferior replacements.