Download - Why learning to code is hard?
![Page 2: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/2.jpg)
Why is learning to code hard?• Some people teach themselves with ease yet others fail.
• Why do some people with a computer science degree struggle when they get on the job?
• Are software developers somehow genetically superior?
• Or can it be learned?
• If we tried to revolutionise how people learn to code, could we do it?
![Page 3: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/3.jpg)
The problem
• Demand for software developers is high and starting salaries are high. The future is bright.
• We have more learning resources than ever before with world-class content for free on the internet.
• Despite the resources and incentives to learn, many people who try to teach themselves how to program fail.
![Page 4: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/4.jpg)
Why? The Failing Points
• Help Sections.
• Sudden leap in difficulty.
• Inconsistent learning.
• Projects aren’t engaging.
![Page 5: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/5.jpg)
Help sections
• Novice developer using a help section is similar to someone learning German using a native German dictionary.
• It can work but it’s far from optimal. Terminology can be confusing.
![Page 6: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/6.jpg)
Sudden leap in difficulty
• Nearly everyone noted at some point of their learning, that they stumbled upon a sudden leap of difficulty.
• This crippled their ability to grasp follow-on concepts.
• Interestingly, it was different for every student.
![Page 7: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/7.jpg)
Inconsistent learning
• Trying to learn how to program in 20 minutes every other evening doesn’t cut it.
• Software development highly builds on previous concepts.
• If you spend too much time between reinforcement, learning gets more difficult.
![Page 8: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/8.jpg)
Projects aren’t engaging
• Difficulty managing motivation.
• Because who really wants to code another to-do list?
![Page 9: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/9.jpg)
The experts
We asked 5 developers a variety of questions ranging from where they saw beginners wasting time to what
they personally did to maintain coding prowess.
![Page 10: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/10.jpg)
The experts Their opinions
• Too many developers stay in their comfort zone.
• Bend whatever language/framework they know best to problem at hand.
• Makes sense because people want to feel good about themselves.
![Page 11: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/11.jpg)
The experts Observations
• I noticed that every developer I asked questions to would ponder the questions much longer than the average person would have.
• They would sit and think thoroughly for 1-2 minutes.
• Hypothesis that this reluctance to jump at the first thing is directly correlated to their success in programming.
• Many novices take the trial-and-error approach and while it can be useful, not always the best tool.
• In addition, thorough exploration of a problem also correlates to their stick-with-it-ness, a primary indicator of great hackers.
![Page 12: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/12.jpg)
The experts How they spent time on the job
Most of their time fell into one of the following four slots:
• Fixing bugs and making minor changes to existing code base.
• Adding new features to an existing code base.
• Writing new software from scratch.
• Refactoring (making a material architectural change to a code base without changing functionality - difficult.)
![Page 13: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/13.jpg)
Where to go from here?
• Commit.
• Use a Mentor.
• Build your own projects.
• Review others’ code.
![Page 14: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/14.jpg)
Commit
• Few minutes here and there isn’t going to work.
• If you want to learn to code, you have to commit to it.
![Page 15: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/15.jpg)
Use a mentor
• Find someone experienced to sit with you, even for 30 minutes.
• 30 minutes pair programming with an expert every week can provide significant improvements in the learning process.
![Page 16: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/16.jpg)
Build your own projects
• Constantly bouncing from tutorial to tutorial is good to grasp the concepts but the quicker you build your own stuff, the better.
• Using tutorials to learn is like a chef using recipes.
• It may show you how to make the dish but the knowledge of the underlying concepts is where the true learning will come.
![Page 17: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/17.jpg)
Review others’ code
• If you use a tutorial to learn a concept, go to GitHub and find some places where people have used that concept in an actual project.
![Page 18: Why learning to code is hard?](https://reader033.vdocuments.net/reader033/viewer/2022052522/5463ffc8b4af9f623f8b47c2/html5/thumbnails/18.jpg)
If you’d like to learn more about the research and programming academy that we’re building on top of it, check out MakersAcademy.com and/or email me at [email protected].