Author: Rafael Knuth
The short answer is: “No.”
I started teaching myself programming in my 40s, and I am a strong advocate that everyone should learn to code. Even if you have no intent to become a developer or a full-stack data scientist, coding teaches you a couple valuable lessons:
- It disciplines you to solve tasks in small, incremental steps, to fail fast and to learn from your mistakes
- Coding strengthens your logical, analytical and reasoning capabilities
- “Software is eating the world” as tech-entrepreneur Marc Andreessen said, and coding enables you to better understand the world we live in
- Programming allows you to participate in meaningful ways, and thus move beyond just consuming technology others built
If you have children born in this century (aka Millenials), coding is likely part of their education, whether you live in Finnland or South Korea. Few adults have objections against teaching children to code. But how about teaching grown-ups? Whenever I raise that question (which I do a lot as a data literacy expert catering to large enterprises), I face a lot of resistance. Let me summarize the most common concerns and my replies to those:
Not everyone has a brain wired to “get” code
My response: Not everyone has a brain wired to “get” reading and writing in natural language either. Yet, literacy rates amongst adults are just as high as 85% globally. Literacy in a natural language allows everyone to participate in a knowledge-driven world. Since technology is shaping our society in fundamental ways, programming language literacy could be just as beneficial for society as natural language literacy.
Not everyone needs to become a developer
My response: Nobody needs to become a biologist either, just because he took biology lessons at school. Coding is a foundational skill that gives us a deep understanding of how the world we live in “ticks.” So does math, biology, history, music, and arts.
Not everyone has time to learn to code
My response: It’s a matter of priorities. A growing number of businesses start teaching their staff to code, and some even begin firing employees who lack technology skills by the thousands. The job market is rapidly changing, and this should be alarming news to everyone in his 30s, 40s or 50s who considers himself a “coding illiterate”. You still have a couple decades of work ahead, and soon enough you will be competing against tech-savvy Millenials.
How to get started?
1) Microsoft Excel (prep for coding)
If you are a professional working in a corporate environment, consider Microsoft Excel for starters before you pick up a programming language. Even avid Excel users are surprised to see how radically their beloved spreadsheet tool has changed under the hood:
- Power Query and M-Language for data discovery, mashup, and refining
- Power Pivot and DAX (Data Analysis Expression) for analyzing data in conjunction with Pivot Tables
- Relational database-like data modeling capabilities
- Data ingestion options from Azure Blob Storage, Oracle or SAP HANA into Excel
- Tight integration with Microsoft Power BI for visualizing data
- Machine learning capabilities consumable in Excel and Power BI via various cloud services
I am strongly opinionated as far as Excel and Power BI goes: It’s an excellent choice for learning to work with data, and then using them for rapid prototyping. However, it’s a poor choice for utility-grade, mission-critical data scenarios. Consider Excel and Power BI a helpful set of training wheels before you jump into deeper waters.
2) Python (finally start coding)
I am a huge Python fan, and in fact, it’s the fastest spreading programming language globally. It’s a general-purpose, high-level language which is relatively easy to learn. In case your brain is not wired for coding, it’s going to be tough. That was the case with me. As a former advertising copywriter turned corporate marketing manager, my brain was wired for right-brain type creative thinking and problem-solving. However, from my experience, an adult’s brain can rewire itself. It takes time, but if I made it, so can you.
You might find your learning efforts with Python redundant, once you become proficient with Excel’s DAX and M-Language: “Why should I learn to do things in Python which I can conveniently perform in Excel?” That’s an excellent question. Python prepares you for a work environment, which is currently emerging in the corporate world and can be briefly characterized by:
- Utility-grade cloud platforms processing petabytes of data
- Collaborative data-centric projects with various stakeholders
- High level of automation and standardization
- Versioning and separation of data and logic
- Transparency required by regulatory bodies
Below resources, I found valuable on my learning journey.
Learning resources for Excel and beyond:
- Mike Girvin’s Excelisfun YouTube Channel
- “M is for (DATA) Monkey” by Ken Puls and Miguel Escobar
- “Learn to write DAX” by Matt Allington
- “Spreadsheet Modeling & Decision Analysis” by Cliff T. Ragsdale
Learning resources for Python and beyond:
- Kevin Markham’s YouTube Channel
- A vast number of MOOCs (massive open online courses) – just too many to list
- “Data Mining Techniques” by Gordon S. Linoff & Michael J. A. Berry
- “Introduction to Algorithmic Marketing” by Ilya Katsov
- “Data Science for Business” by Foster Provost & Tom Fawcett
- Khan Academy YouTube Channel (for math, statistics, and probability)
So, when are you going to start your learning journey?
I work as a data literacy expert, and I cater to large companies in Europe and the US. You have questions I didn’t answer in my write-up, or you want to share your experiences? Please leave a comment or reach out to me via email firstname.lastname@example.org or LinkedIn. Thank you!