(The photo above was taken at the Microsoft NYC office of three amazing young developers working on their apps.)
I saw this tweet after the Apple WWDC keynote and had thought the same thing. Hang on, programming is hard. Rewarding, sure. Interesting, totally. But "easy" sets folks up for failure and a lifetime of self-doubt.
Hearing the WWDC keynote say coding isn't hard frustrates me. It's extremely hard. You're setting beginners up for huge disappointments.
— Tyler McGinnis (@tylermcginnis33) June 13, 2016
When we tell folks - kids or otherwise - that programming is easy, what will they think when it gets difficult? And it will get difficult. That's where people find themselves saying "well, I guess I'm not wired for coding. It's just not for me."
Now, to be clear, that may be the case. I'm arguing that if we as an industry go around telling everyone that "coding is easy" we are just prepping folks for self-exclusion, rather than enabling a growing and inclusive community. That's the goal right? Let's get more folks into computers, but let's set their expectations.
Here, I'll try to level set. Hey you! People learning to code!
- Programming is hard.
- It's complicated.
- It's exhausting.
- It's exasperating.
- Some things will totally make sense to you and some won't. I'm looking at you, RegEx.
- The documentation usually sucks.
- Sometimes computers are stupid and crash.
But.
- You'll meet amazing people who will mentor you.
- You'll feel powerful and create things you never thought possible.
- You'll better understand the tech world around you.
- You'll try new tools and build your own personal toolkit.
- Sometimes you'll just wake up with the answer.
- You'll start to "see" how systems fit together.
- Over the years you'll learn about the history of computers and how we are all standing on the shoulders of giants.
It's rewarding. It's empowering. It's worthwhile.
And you can do it. Stick with it. Join positive communities. Read code. Watch videos about code.
Try new languages! Maybe the language you learned first isn't the "programming language of your soul."
Learning to programming is NOT easy but it's totally possible. You can do it.
More Reading
- Programming's not for you? How about thinking? Be empowered.
- Please Learn to Think about Abstractions
- Systems Thinking: Less Coding, More Thinking with Kishau Rogers
- CodeNewbies - A supportive community for learning to code!
- Stock photo from WoCinTech Chat used under CC
Sponsor: Big thanks to Redgate for sponsoring the feed this week. How do you find & fix your slowest .NET code? Boost the performance of your .NET application with ANTS Performance Profiler. Find your bottleneck fast with performance data for code & queries. Try it free!
© 2016 Scott Hanselman. All rights reserved.