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