18
Why learning to code is hard?

Why learning to code is hard?

Embed Size (px)

DESCRIPTION

This aimed at anyone who is currently teaching themselves to learn how to code. We explore the challenges and stumbling blocks behind the learning experience and what we can all do to address those problems. Why can some people learn how to code with relative ease, yet others fail? Why do some people graduate with a computer science degree yet 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? These are a few of the questions I used as a starting point to explore how people learn to code. We've asked beginners and experts on their observations and used this information to try and improve upon the existing ways of learning how to code. We hope you can take something away from it. If you’d like to learn more about the research and programming academy that we’re building on top of it, check out www.MakersAcademy.com and/or email me at [email protected].

Citation preview

Page 1: Why learning to code is hard?

Why learning to code is hard?

Page 2: Why learning to code is hard?

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?

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?

Why? The Failing Points

• Help Sections.

• Sudden leap in difficulty.

• Inconsistent learning.

• Projects aren’t engaging.

Page 5: Why learning to code is hard?

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?

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?

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?

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?

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?

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?

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?

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?

Where to go from here?

• Commit.

• Use a Mentor.

• Build your own projects.

• Review others’ code.

Page 14: Why learning to code is hard?

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?

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?

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?

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?

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].