dhruv's wiki

The Mediocre Programmer

Resources

Snippets

6.5 Mapping out longer-term goals

As you progress through the learning process you'll start to see that a lot of what we call programming is interconnected. Languages borrow heavily from each other and ideas that seem new and innovative have their roots in concepts dating back to the genesis of computing. Rather than dissuading us it should encourage us to open the doors of programming by learning simple, transferable concepts. The question is, which ones?

The simplest answer is "all of them", but that's hardly satisfactory or possible. A less cheeky answer would be "enough of them to start seeing the patterns emerge" but that sounds more like a truism than something we can use to start making our longer term goals for learning.

Chapters

Chapters in bold are really insightful.

  • Introduction
    • 0.1 The Mediocre Programmer?
    • 0.2 Why this book?
    • 0.3 Disclaimer
  • 1 Journey of The Mediocre Programmer
    • 1.1 How we got here
    • 1.2 The Gap
    • 1.3 Closing The Gap
    • 1.4 The Journey is the Reward
  • 2 Traveling Companions
    • 2.1 Famous programmers
    • 2.2 Backstage vs. performance
    • 2.3 The lure of the post-mortem
    • 2.4 Ranking programmers
    • 2.5 Measuring programmer output
    • 2.6 Traveling Companions
  • 3 The mistakes along the way
    • 3.1 Whoops!
    • 3.2 Avoiding mistakes
    • 3.3 Making a model
    • 3.4 Time machines
    • 3.5 Learning from failure
    • 3.6 Journaling our mistakes
  • 4 The inns we stayed at
    • 4.1 Fellow travelers
    • 4.2 Finding a good community
    • 4.3 The difficulty in finding a good community
    • 4.4 Things to look for in a good community
  • 5 A day's journey
    • 5.1 Riding until dawn
    • 5.2 Lights out
    • 5.3 Taking a break
    • 5.4 Productive thinking
    • 5.5 Containers
    • 5.6 Distractions
  • 6 The map is not the territory
    • 6.1 The changing landscape of programming
    • 6.2 Learning to learn
    • 6.3 How to choose what to learn
    • 6.4 Resistance and The Container
    • 6.5 Mapping out longer-term goals
    • 6.6 Failure and learning
    • 6.7 Dead ends and changing topography
    • 6.8 Approach with curiosity
  • 7 The struggle within
    • 7.1 The emotions of programming
    • 7.2 Emotional drains
    • 7.3 Awareness of our Emotional State
    • 7.4 Our story
    • 7.5 Awareness in action
    • 7.6 Finding our feelings
    • 7.7 Emotional Triage
    • 7.8 Burnout
    • 7.9 Reaching out for help
    • 7.10 Giving up
  • 8 Epilogue
  • 9 Gratitude
  • 10 My journey