SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
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?
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.
Why?
The Failing Points
• Help Sections.
• Sudden leap in difficulty.
• Inconsistent learning.
• Projects aren’t engaging.
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.
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.
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.
Projects aren’t engaging	
• Difficulty managing motivation.
• Because who really wants to code another to-do list?
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.
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.
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.
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.)
Where to go from here?
• Commit.
• Use a Mentor.
• Build your own projects.
• Review others’ code.
Commit
• Few minutes here and there isn’t going to work.
• If you want to learn to code, you have to commit to it.
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.
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.
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.
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
rob@makersacademy.com.

Contenu connexe

En vedette

Eu africa summit
Eu africa summitEu africa summit
Eu africa summitrusnavy
 
Adobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital TransformationAdobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital TransformationAEM HUB
 
Action weekly'15 edition 1
Action weekly'15 edition 1Action weekly'15 edition 1
Action weekly'15 edition 1inactionagency
 
Hospitality PP Sheraton Presentation
Hospitality PP Sheraton PresentationHospitality PP Sheraton Presentation
Hospitality PP Sheraton PresentationTony Tamayo
 

En vedette (9)

Your appearance
Your appearanceYour appearance
Your appearance
 
Intro to junit
Intro to junitIntro to junit
Intro to junit
 
Eu africa summit
Eu africa summitEu africa summit
Eu africa summit
 
Action Weekly ver.9
Action Weekly ver.9Action Weekly ver.9
Action Weekly ver.9
 
Adobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital TransformationAdobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
 
AravindResume
AravindResumeAravindResume
AravindResume
 
Action weekly'15 edition 1
Action weekly'15 edition 1Action weekly'15 edition 1
Action weekly'15 edition 1
 
Fishing Industry
Fishing IndustryFishing Industry
Fishing Industry
 
Hospitality PP Sheraton Presentation
Hospitality PP Sheraton PresentationHospitality PP Sheraton Presentation
Hospitality PP Sheraton Presentation
 

Dernier

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Dernier (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Why learning to code is hard?

  • 1. Why learning to code is hard?
  • 2. 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?
  • 3. 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.
  • 4. Why? The Failing Points • Help Sections. • Sudden leap in difficulty. • Inconsistent learning. • Projects aren’t engaging.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. Projects aren’t engaging • Difficulty managing motivation. • Because who really wants to code another to-do list?
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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.)
  • 13. Where to go from here? • Commit. • Use a Mentor. • Build your own projects. • Review others’ code.
  • 14. Commit • Few minutes here and there isn’t going to work. • If you want to learn to code, you have to commit to it.
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. 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 rob@makersacademy.com.