Climbing Rocks and Coding Blocks
Have you ever been stuck between a rock and a code place? Learning to code can feel as daunting as climbing Mount Everest! In this talk, I’ll share seven software development best practices I learned through rock climbing.
This talk will…
- answer how do I start?
- address the mindset for coding
- discuss the value of practice versus profession
- introduce the benefits of doing what you love
- ideate on how to find help and support
What do climbing rocks and writing code blocks have to do with one another? Come learn some techniques and strategies for becoming a better software developer (and incidentally maybe a better rock climber too)! No harness and rope required!
Outline/Structure of the Talk
Challenge: How to get started?
Whether it be climbing a route or coding a kata, there's way to approach a problem.
- Rules of Thumb - Sandy Metz
- Cookbook Recipes - Martin Fowler
- Prioritisation for highest value
- MVP --> MLP (?)
Problems are hard! New failures and continual failures can be demoralizing. Here's how I keep my mind on the task at hand.
- Fail Fast - the benefits of knowing what doesn't work
- make it work make it right make it fast/get to green
- Keep Calm and Climb/Code On
Challenge: How to get better?
Fitness and skills help with climbing and coding practices. Here's how I learned to build up my experience.
- Gemba - the real place
- Fitness - broken windows theory/refactoring
- Shu Ha Ri - learning from others
It can be frustrating to fall or to fail. But appropriately measuring improvement can help!
Challenge: How to hone my craft?
- Purpose and Passion
If I like to do something, I'll naturally do more of it and in theory improve. The journey of finding what I like about climbing/coding and getting good at it.
- Follow your bliss - Joseph Campbell
- Exposure and Experimentation
Advancing can be fast tracked by trying new things and learning from those adventures!
- When & how much/long?
- People and Community
Climbing and Coding can be solo or quite community oriented. Here's what I learned from others that helped myself and gave back.
- Diversity - the differences between the genders
- Pairing - Roles
- Priming - Thinking Fast and Slow
- "Matz is nice so we are nice"
- Project Aristotle - Google
Learning anything new can be challenging! Sometimes helpful hints to better coding practices can be found in the world around us! Becoming a better rock climber helped me understand software development best practices. For those learning to code, my talk is intended to provide some rules of thumb to fall back on and lessons learned from my experiences. For mentors and more experienced coders, my talk can provide some ideas on how to empathize with new coders and provide some learning structures to use in their own coaching opportunities.
Ideal for new coders and mentors