Morristown commentary: Everyone should learn to code

Tim Heaton volunteers at a Morristown High School football game in 2012. Photo by Kevin Coughlin
Tim Heaton volunteers at a Morristown High School football game in 2012. Photo by Kevin Coughlin

“Everyone in this country should learn to program a computer.” —Bill Gates

“The-Everyone-In-This-Country-Should-Learn-to-Program-a-Computer movement isn’t just wrong because it falsely equates coding with essential life skills like reading, writing, and math. In my 30- year career as a programmer…”  —Career programmer

By Tim Heaton

Thirty years?

Thirty years ago there was one phone company. Michael Jordan was a freshman at NC. President Ronald Reagan made GPS available for civilian use. The McNugget was born. And the Apple IIe was introduced — one of its amazing features was that it can display lower- and upper-case letters.

Tim Heaton volunteers at a Morristown High School football game in 2012. Photo by Kevin Coughlin
Tim Heaton volunteers at a Morristown High School football game in 2012. Photo by Kevin Coughlin

Thirty years ago it was really difficult to learn a computer language. Running a program often meant getting up in the middle of the night for your allotted run time. Programs were boxes of punch cards. Machines talking to machines was sci-fi. A phone was something shared with neighbors. To this day a computer to my parents is a room-sized monster, nothing else qualifies. A PC is just a typewriter, a mobile phone, just a phone.

Career programmers don’t think just anyone can do it. They will tell you that you need 10 years of coding experience to know enough to be “worthy.” And this was certainly true 30 years ago. Today the open source community and free online learning sites have broken down the barrier.

As in medieval times, there is another movement, to restrict knowledge. This notation that a job with even minimal skill requires certification: Bar-Tending, Physical Trainer or Database Administrator, for example. The Guilds during the Middle Ages protected knowledge for the same reason: Job security.

Developing your ideas into a product doesn’t mean being chained in a cubicle for 10 years or lugging around a stack of cards in the middle of the night. Coding is no longer difficult. The open source movement has seen to that.

To the modern programming Guilds, I agree that it takes years to understand what others have written in the millions of lines of enterprise code. I’m not suggesting that everyone should be a programmer anymore than I would suggest that anyone could be a concert pianist. The difference is that developing useful applications with code is much, much easier than learning to play the piano.

So, even if anyone can code, why is learning to code important? Because being creative is not enough in today’s workplace. To be successful you must be able execute your ideas. And you have a far better idea of what is useful than the tradition-bound, 30-year career programmer.

A modern analogy may be found in music. Is the artist Pit-Bull a musician? Probably not, if we could ask Mozart’s opinion. Today however, this man is a multi-platinum artist.

Same thing with technology. One doesn’t need to be a prodigy to be a successful technologist, one needs to know how the technology works well enough to write a song or build an mobile application.

It’s more important to understand the market and communicate with people, in both music and technology. Most of the successful people in technology are not great coders, but they understand how to build their own ideas. To the career programmers, the cubicles are yours. To the executors of ideas (i.e. developers), the world.

The most amazing thing about computer languages is that, like music, they are universal.

Whatever I create in computer code is understood by everyone else in the world, immediately and simultaneously around the world. Multilingual education forgot to include the universal language: Computer languages.

Who should learn to code? Everyone who has a problem that needs solving.

To join the effort to teach kids in New Jersey computer coding, join: Code.Org

Tim Heaton, president of the MHS Football Boosters and founder of the Morristown Athletic Council, lives in Morristown with his wife and two sons. In more than 30 years on Wall Street, he has traded proprietary arbitrage for several major banks and hedge funds in New York, Chicago and London. Joining Cantor Fitzgerald in the World Trade Center in 2001, he luckily was late for work on the morning of 9/11. In the aftermath, he designed the automated market-making systems that enabled the firm to get back on-line. Technologies he pioneered have been awarded 19 US Patents to date.

Click here for reuse options!
Copyright 2014


  1. FAQ: Which Language to learn and how can you start?

    Frankly, which language doesn’t matter as much as just picking one and getting started. For lots of other opinions, Google: “what computer language to learn”.
    I like Python. The main advantage is that Python’s structure makes it easy to read – very much like paragraphs in a book. There are two basic versions: 2.7 and 3.3. Choose 2.7 for now because there are more modules for math, science , games and graphics. The modules are key because they are shortcuts (like Excel functions), and you don’t want to hassle with coding a mean, or mode or median from scratch if you don’t have to.
    Python also has the advantage of being open source – everything you need is free. It’s also the language of choice for mobile apps and it has a thriving community in Github, Google, Linkedin, Stackoverflow, Reddit and YouTube if you need help.
    YouTube is the perfect way to start. There are several collections of serial instructional videos. Search “Python Tutorials”. My favorites for beginners are by Sentdex and TheNewBoston. In each case, the first video begins with how to download the Python software! There are about 40 videos and they’re all about 15 minutes long.
    As you learn, think about problems that could be solved with this new skill. The best way to learn a computer language is to build a solution to a problem that interests YOU.
    Also there are free interactive sites like Codecademy and HackerRank for programming challenges.
    What if you get stuck? Take a break. Don’t give up. Google the question. And above all else, please ask me! Learning is easier with a partner.
    Here’s some other good advice:–net-26288
    Let me know how you’re doing.

  2. Multi-lingual education forgot about computer languages: they are universal. More importantly, what you create with a computer language is available to the entire world simultaneously.

  3. People should learn how to program, not code (here is what I mean ….)

    There are some tools that enable people to build apps without actually having to code. So this is auto-promotion, but Bubble ( is one of them (I’m a cofounder). You can build your product without code on Bubble. There is a learning curve, as it’s programming, but this is with a visual interface that gets rid of the coding aspect. Our users have build crowdfunding platforms, marketplaces, all starting from a white page (no template) and without code.