I was reading Perdurabo about Aleister Crowley.
In his youth he was accomplished mountain climber and the book touches on a suite of his climbing achievements in the early chapters.
This got me thinking.
Mountain climbing is a challenging hobby where the climbers “collect” peaks. That is, they pick hard maintains to climb, that may or may not have been climbed by others, and climb them for fun.
It is about personal accomplishment.
As an aside, Crowley was probably a genius, maybe a psychopath, and a cultist huckster.
Here’s gpt4o on “Mountain Climbers Collect Peaks”:
Yes, that’s correct! Mountain climbing enthusiasts often “collect peaks” as part of their hobby.
This means they keep track of the mountains they’ve summited, and sometimes aim to complete specific challenges or lists of peaks, such as:
- The Seven Summits: Climbing the highest mountain on each continent (e.g., Mount Everest in Asia, Kilimanjaro in Africa).
- Fourteeners: Summiting peaks over 14,000 feet (popular in places like Colorado, USA).
- The Eight-Thousanders: Climbing all 14 peaks over 8,000 meters, found in the Himalayas and Karakoram ranges.
- State or Country High Points: Reaching the highest point in each U.S. state or country.
- Personal Lists: Some climbers create their own lists, focusing on mountains within specific regions or of a certain difficulty level.
For many climbers, logging their accomplishments is a way of celebrating their achievements, tracking their progress, and setting new goals.
It’s a hobby that blends physical challenge, adventure, and personal fulfillment.
This got me thinking.
Why isn’t this more common for programming and data science / machine learning / AI?
There could be standard projects that are implemented.
The hard part is “standard”.
Many have tried I suspect, e.g. the various competition and ranking platforms.
I don’t want to define another series of projects that one could implement on the path from novice to journeyman that would ultimately be ignored.
Here’s what our LLM friend has to say:
The idea of “collecting achievements” like summiting peaks could definitely be applied to programming and machine learning (ML), but it hasn’t become as widely formalized for several reasons.
Here’s a breakdown of why this might be the case and how it could work:
Why This Idea Isn’t Common Yet
Lack of Concrete “Peaks”
- Mountain climbing has clear, physical goals (specific peaks to summit) that are universally recognized and don’t change much. In contrast, programming and ML often involve more abstract achievements that vary widely (e.g., mastering a framework, building an application, publishing a paper, solving a Kaggle competition).
Rapid Evolution of Technology
- The programming and ML landscape evolves very quickly. By the time you “summit” a certain skill (e.g., mastering TensorFlow 1.x), the “peak” may no longer be relevant because a new tool or technique (like PyTorch or TensorFlow 2.x) has replaced it.
Subjectivity of Accomplishments
- The definition of a “programming or ML peak” can vary widely depending on individual interests, career goals, and expertise levels. For example, creating a simple web scraper might be a peak for a beginner, while implementing a cutting-edge neural network could be a peak for an advanced practitioner.
No Unified Recognition
- Unlike mountain climbing, which has recognized lists (e.g., Seven Summits), programming and ML don’t have universally accepted lists of challenges or goals that practitioners strive to complete.
How the Idea Could Work in Programming and ML
Creating “Challenge Lists”
- A community could create “achievement lists” for specific programming or ML domains:
- Algorithms and Data Structures: Complete problems from platforms like LeetCode, HackerRank, or Advent of Code.
- Projects: Build specific types of projects, such as a web app, a REST API, or an ML pipeline.
- Open Source Contributions: Make contributions to a certain number of repositories or earn recognition from specific projects.
- Competitions: Compete and rank in Kaggle competitions or similar platforms.
- A community could create “achievement lists” for specific programming or ML domains:
Gamification
- Platforms like Kaggle, GitHub, or LeetCode already offer badges and rankings, but these could be expanded into more curated “summit-style” challenges, akin to collecting peaks.
Personalized Learning Paths
- Developers could set goals based on “domains” of programming or ML, such as:
- Summiting all major ML algorithms (e.g., linear regression, decision trees, transformers).
- Exploring key fields (e.g., computer vision, natural language processing, reinforcement learning).
- Mastering frameworks (e.g., TensorFlow, PyTorch, FastAPI).
- Developers could set goals based on “domains” of programming or ML, such as:
Community Recognition
- Platforms like LinkedIn or GitHub could implement structured “achievement boards” where individuals display their “peaks” (e.g., projects completed, libraries created, competitions won).
Why It Could Be Valuable
- Motivation: Goal-setting can encourage practitioners to stay motivated and progress systematically.
- Community Building: Sharing achievements could foster camaraderie and shared challenges, much like climbing communities.
- Skill Visibility: It could create clearer markers of expertise in an industry where resumes are sometimes insufficient.
Final Thought
The idea of “collecting peaks” in programming and ML could be transformative if implemented well. Platforms like GitHub, Kaggle, or even new specialized sites could adopt this metaphor to encourage achievement tracking in a way that’s visible and rewarding. It just needs a bit more structure, and it might catch on!
Obviously, an enthusiastic learner, could be encouraged to develop their own program with an LLM, then execute it.
Not just for programming and machine learning, but any ad hoc subject.
I guess, this is what I did with my series of 20+ MachineLearningMastery books, each on a specific subtopic of machine learning that I designed, researched and wrote to go from novice to journeyman.
I should do that kind of thing more/again.