Coding Blocks - Patterns, Architecture, Best Practices, Tips and Tricks for Software, Database, and Web Developers / Engineers   /   91. How to Learn Programming Skills

http://www.codingblocks.net/wp-content/uploads/powerpress/codingblocks-itunes.jpg

Description

We continue our dive into how to learn things while Michael's voice sounds an awful lot like Joe's, Joe says it's a square, and Allen says it's as triangle ... oh, and Google Feud is back!

Subtitle
We continue our dive into how to learn things while Michael's voice sounds an awful lot like Joe's, Joe says it's a square, and Allen says it's as triangle ... oh, and Google Feud is back!
Duration
1:12:19
Publishing date
2018-10-08 01:35
Link
https://www.codingblocks.net/podcast/how-to-learn-programming-skills/
Contributors
Allen Underwood, Michael Outlaw, Joe Zack author  
Enclosures
coding-blocks-episode-91.mp3

Shownotes

We continue our dive into how to learn things while Michael’s voice sounds an awful lot like Joe’s, Joe says it’s a square, and Allen says it’s as triangle … oh, and Google Feud is back!

Using your podcast player to read these show notes? You can view this episode’s full show notes and participate in the discussion over at https://www.codingblocks.net/episode91.

Sponsors

  • Datadog.com/codingblocks – Sign up today for a free 14 day trial and get a free Datadog t-shirt after creating your first dashboard.

News

  • To everyone that left us a review, thank you. We truly appreciate it.
    • iTunes: lawfej, Arezx27, Zta192
    • Stitcher: Inquizarus, garyalex, SarahA

How to Get Better at Getting Better

The 5 models

  • Deliberate Practice
  • Dreyfus Model of Skill Acquisition
  • Four Stages of Competence
  • The Learning Pyramid
  • 7 Learning Styles

Setting goals

  • Uber or Graph Database?
  • Picking what is important to you…
    • Play to strengths?
    • Strengthen your weaknesses?
    • Focus on highest ROI?

Deliberate practice

  • Understand your goals, your aptitude, and execute custom exercises
  • Tailored towards advancing skill, ignores knowledge
  • Listen to episode 78 for a deep dive on deliberate practice.

Dreyfus Model of Skill Acquisition

  • Controversial
  • The optimum way to learn changes as your knowledge and skill grow

Novice

  • Understand the tools / philosophy
  • Explore ecosystem
  • Define learning goals
  • Getting started

Beginner

  • Training course
  • Buy a book
  • Playground project

Intermediary

  • Experiments
  • Documentation
  • Reading

Advanced

  • Teach others

Four Stages of Competence

The square, er, triangle, wait square? Diagrams are hard.

  1. Unconscious incompetence
    • Don’t recognize the deficit
    • Often undervalues the skill
  2. Conscious Incompetence
    • You know you’re bad
    • Making mistakes and learning from them is important
  3. Conscious Competence
    • Using the skill requires attention and effort’
  4. Unconscious Competence
    • Skill becomes second nature
    • Teaching can be tough, depending on how you learn

The Learning Pyramid (aka cone of learning, or cone of experience)

The Learning Square, no wait, this one’s a triangle.

  • Passive Teaching Methods
    • Lecture 5%
    • Reading 10%
    • Audio Visual 20%
    • Demonstration 30%
  • Participatory Teaching Methods 50%
  • Practicing by doing 75%
  • Teaching others 90%
  • Well, it’s controversial.

7 Learning Styles

  • Visual (spatial):You prefer using pictures, images, and spatial understanding.
  • Aural (auditory-musical): You prefer using sound and music.
  • Verbal (linguistic): You prefer using words, both in speech and writing.
  • Physical (kinesthetic): You prefer using your body, hands and sense of touch.
  • Logical (mathematical): You prefer using logic, reasoning and systems.
  • Social (interpersonal): You prefer to learn in groups or with other people.
  • Solitary (intrapersonal): You prefer to work alone and use self-study.
  • Also controversial.

Resources We Like

Tip of the Week

  • DevTube – Find curated programming videos by topic, speaker, and popularity.
  • Code Sharing with Serverless Functions using NPM or Node packages.