Programming Isn't Hard
Programming isn’t hard, it’s as easy as baking cookies.
Almost everyone I meet tells me coding is hard. Answers to programming questions on Quora discourage the original poster: first you have to skydive without parachute, then you must swim through shark-infested waters, conquer Scylla and Charybdis, before you can face that Programming Challenge, and make it safe back home. You may as well not start at all.
A lot of professional programmers I know are self-taught. They’ve learned computer science, but learned how to code in their own time. It’s awesome to see that they’re so fluent in it, they think and breathe in computer code. Some of them have an air of arrogance around them: they treat their ability to code as elites, something only they are capable of.
I think a lot of programmers mistake the difficulty of programming with the effort it takes them to solve programming problems. In my work as a developer, I’ve faced many bugs I couldn’t solve. This led me to believe that programming is hard, but then I realized it isn’t: the problems I try to solve are hard.
Many aspiring coders try to build projects that are too big. Unfortunately, no one ever tells them! Instead, when the aspiring coder asks for help, they say: You shouldn’t code, it’s too hard. The aspiring coder agrees, mistakes the tool for the problem, and gives up.
It’s as if you’re trying to create fresly-baked cookies out of thin air, and you don’t know how the oven works. Instead of acknowledging that you suck at handling an oven, you blame your lack of effort, and throw out the plans to bake cookies. You could have had nice cookies, if you would have broken up the project in smaller steps and learned how to execute those individual steps.
How do you make a difficult problem easier to solve?
- You ignore the problem
- You divide it up in smaller pieces and tackle them one by one
- You get someone else to solve it
I once heard a story from Anansi The Spider, about an army. He said that an army is strong because a soldier on it’s own is weak. Anansi showed me a twig and broke it. Easy, he said, twigs are weak and rigid. Then he grabbed a whole bunch of twigs and tried to break them. Harder, he said, because a bunch of twigs are strong and flexible.
People mistake programming for the bunch of twigs. Instead, programming is the hand you use to break the twigs. Try to break a problem that’s too hard to solve: you get stuck and give up. It won’t work. Take the twigs one by one, use programming to break them, and you’ll find that the problem breaks too.
Everbody is an app founder these days. We want to make clones of Facebook, Instagram and Twitter. We expect to be equally successful, we tell ourselves: “They can do it, so I can too. As long as I work hard enough!” It’s what the inspirational quote said, right? We feel entitled to success, because we work hard. We glorify failure, because we think that if you fail enough you eventually succeed.
You start to work on your app’s landing page, try to get a team together, read up on how to pitch to investors, all while listening on the newest growth hacker podcast at 2x speed. You move in with your parents, get a year worth of savings, forget to see your friends, and now only hang out with cool soon-to-be-billionare entrepreneurs like yourself.
If you just would have sat down and wrote one line of code. You’d be closer to becoming a billionaire than after any of the steps above. You’d have a smaller chance at failing, because you wouldn’t have tried so many things at once. Instead of letting your imagination blow up, you’d have gained self-respect and self-confidence by doing the smart work.
Listen to Anansi The Spider:
- Take a bunch of twigs
- Throw them on the ground
- Break the twigs one by one
You’re not going to get there by working hard at it. You have to work smart, too. Don’t believe anyone who tells you programming is hard. They simply mean: the problems I solved with programming were hard.
Don’t discourage yourself by thinking programming is hard, because the problems you solve are hard. Instead, make the problems easier to solve by breaking them up in smaller pieces.
Photo credit: Sean MacEntee, CC BY 2.0
Join 11.000+ app developers and marketers
- Get a weekly curated list of app development tools, articles and resources in your inbox
- 10x your app installs with relevant App Store Optimization and app marketing strategies
- BONUS: Grab a free copy of the App Toolbox 2017 to supercharge your next app project
Most Popular Content
Got a killer app idea?
Grab the App Toolbox 2017 to learn how to save time building your app,
and how to 10x your app installs in the App Store. With the toolbox, you'll immediately know how to move forward to build better, more profitable apps.
Get The App Toolbox
and how to 10x your app installs in the App Store. With the toolbox, you'll immediately know how to move forward to build better, more profitable apps. Get The App Toolbox
Comments & Thoughts
On The Blog
Ultimate Guide To Building & Publishing Your First iPhone App
Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and effort involved. Let’s not tell you what you should know, but rather explain how you can actually get started today to get an app published in the App Store.
Chris Thomas on Data-Based Idea Validation and Building A Virtual Business On The Side
In this episode of The Reinder Show I'm joined by Chris Thomas from Hibermate.com, who explains how exactly he built his e-commerce store selling earmuffs for sleeping. Enjoy!
App Analytics: What Is It And How Does It Change The Playing Field?
Recently, Apple launched its beta campaign for iTunes Connect App Store Analytics. It’s Apple’s new proprietary tool for measuring conversions on an apps page in the App Store and tracking user behaviour and engagement within the app. How does this influence the app analytics playing field?