AKA Tech Literacy 101 / Computational Thinking / Other Unfriendly Terms


Living in a world overrun with technology can be hard. Companies like Apple and Google fight to make technology easy, to make every interaction simple and user-friendly. While convenient, this comes at a great cost: there's less incentive for a person to become exceptionally technology literate. I believe there's less chance to even accidentally accumulate the experience to become tech literate.

The people who have the ability to build complex, now-ubiquitous systems like Facebook, Google, Twitter, iOS, Windows, etc, are the ones who control the present world and will forge the algorithms that define the future. There's a strong dichotomy between the exponentially increasing population of users and the smaller subset of those users who are also hackers. We need to reexamine this dynamic and educate as many people as possible to reshape their relationship with technology so that they're not mere users, but have the capacity to be hackers.

Tech literacy seems mystical because it's so new. There's been a near-constant discourse over the last twenty years about the divide between digital natives and digital immigrants. This becomes less relevant as more children take technology for granted — they may know how to use an iPhone, but they most likely have no idea how or why it works. They may give up just as easily as their parents when faced with a technological problem they don't know how to solve. This is what we need to change if we are to help grow a new generation of creative problem solvers and innovative thinkers.


One of the biggest problems with tech literacy is the jargon. Many words are interchangeable, and in a lot of areas there is no agreed upon vocabulary. The term "hacker" itself means many things to many people and can signify very different, controversial things. However, to make tech literacy something achievable, we must establish a useful set of terms anyway.


Becoming technologically literate is just like learning to read and write. It can be defined as a set of skills that are improved and refined with practice over time and exposure to challenging problems. Just as one learned how to read by starting with simple words and then learning to use a dictionary to look up new ones, one can learn technology by starting with simple tools and learning how to search for or write new ones. There's a relationship between the skill itself (reading, hacking) and the ability to abstract the skill so you can reach into the unknown and advance in it (dictionaries, searching, coding).

Here are the skills and knowledge areas that are a part of tech literacy:

These are just a handful of the broad skills necessary to achieve a high level of tech literacy. They're the starting points to building an aptitude and proficiency with technology at a wide scope which can afford deeper dives into specific topics, depending on the interest of the person.

Here are some examples of more specific technology skills one can learn:

There's many more fields and areas of study within those, and many more I have not included here.

How to Demonstrate Tech Literacy

It's very easy to demonstrate and observe basic technological literacy. One of the easiest metrics is how long it takes a person to give up on a problem they're having with technology. Do they simply give up immediately because they "don't get this [tech] stuff"? Do they give up when the answer isn't a visible part of the application they're using? Do they give up after a single Google search of the problem? Do they give up after trying to build their own program to fix or go around the problem?

Another metric is observing what a person's immediate reaction is to a technological problem. What do they turn to? Is the immediate reaction to use the program differently to solve the problem? Do they switch to or download a different program? Do they immediately open up a browser and type something into Google? Do they call their son-in-law who's young and "knows this stuff"? Do they simply believe that the system is unreliable or finnicky and choose to do nothing at all about it?

Furthermore, what lateral steps will a person take to solve a problem? When one track of problem-solving fails, what other entirely different methods will they employ? When using the application differently doesn't fix it, will they go to Google? When going through an application's preferences/settings doesn't hold the answer, will they turn to a different application they already are familiar with that can perform a similar function? When one programming language does not have the syntax to fix the problem, will they try a different one they may have never used before? When parsing through data, trying to find correlations, what different types of visualization do they try?

One of the most difficult aspects of technology literacy is how quickly the landscape changes. Every day, new devices are added to the market, new algorithms are being developed, new programming languages are released, new database software is engineered, new computation platforms are demonstrated, new paradigms of problem solving are proposed. How does one deal with this constant churn of technological progress? One of the key tenants of tech literacy is the desire and curiousity to experience new technology, and seeing it as one's hobby (and sometimes one's job) to be abreast of technological change as it's happening.


The key to establishing technological literacy is to gather educators who are themselves hackers, and more importantly, are able to properly articulate and abstract the knowledge they possess so it can be taught. A significant portion of the successful hacker/technologically elite community are self-taught individuals, most often because their educators lacked the ability to teach them in a manner that was adequate, engaging, or both. Many computer science departments are seen as opaque, rigid, math-only institutions that have little to offer the turbulent world of practical technological literacy. This needs to change.

We can start changing the current educational landscape by making the act of teaching technological literacy more friendly, more practical, and more demonstrable to those who want to learn. The future will bring more automation, more online distributed systems that underpin our lives, and faster technological progress built upon previous quickly-iterated-upon foundations. Without the ability to adapt to and confidently understand technology at a basic level, young people will be poorly equipped to deal with the demands of an increasingly technology-driven job pool. We will continue to have a vast sea of mere users, when we could have a burgeoning tidal wave of hackers who are equipped with the tools to shape tomorrow for themselves.