ANALOG REFLECTIONS IN HEX

The Myth of "Being Bad" at Math


For years, I thought I was just bad at math. I mean, I did well in college, good grades and all, earning a bachelor's in computer science. But something about math just felt... off. It was like I hit a wall whenever I tried to delve deeper into advanced topics. So, I steered clear of paths like quantitative trading/research or anything that required intensive math skills.

But recently, I stumbled across an insightful blog post by Lelouch titled You Are NOT Dumb, You Just Lack the Prerequisites1. Something clicked. It wasn't that I was incapable; I was missing some foundational pieces needed to truly grasp advanced math. As Lelouch puts it, "It's like trying to defeat an Elden Ring boss… at level 1"1. That analogy hit home. No wonder I was struggling; who wouldn't have a hard time facing a boss when you're under-leveled?

Starting Over, the Right Way

So, I've decided to revisit the basics—not because I didn't do well before, but to strengthen my foundation and fill in any gaps. I'm starting with Math Academy because their approach aligns perfectly with my goals. They offer an adaptive diagnostic test that figures out exactly where you need to begin. For me, that's revisiting earlier concepts and working my way up to advanced topics like abstract algebra and linear algebra (because why not aim high, right?).

You might be thinking: why go back if I already have degrees in cybersecurity and computer science? Here's the thing: true mastery doesn't happen unless you solidify the basics. I realized this when I was helping my friend with her linear algebra homework. She asked me to explain eigenvalues and eigenvectors. I knew how to solve them, but it took me over five minutes to work through the problem on paper. It made me realize that while I could reach the answer, my grasp on the underlying concepts wasn't as quick or intuitive as I'd like.

As Lelouch said, "The gap in comprehension wasn't due to a lack of ability but rather a gap in prerequisite knowledge"1. I want to really understand the material this time, not just enough to get by.

The Power of Prerequisites

Let's take a concept like eigenvalues and eigenvectors in linear algebra. They're crucial in various fields, including quantum mechanics, computer graphics, and machine learning. To fully grasp them, you need to understand:

  • Matrices and determinants
  • Systems of linear equations
  • Vector spaces

But to master these, you should be comfortable with:

  • Basic algebra and arithmetic
  • Functions and mappings
  • Concepts of dimensionality

Even with degrees under my belt, I realized I had gaps in these foundational areas. By starting from the basics with Math Academy, I'm ensuring that I have a robust understanding of these concepts, setting myself up for success as I explore more advanced topics.

Performance vs. Mastery

Since I'm already in the workforce, my goals have evolved. I'm not just trying to maintain my career; I aspire to reach the top 1% in my field. This shift requires a different mindset. Psychologists call this goal orientation, and there are two types:

  • Performance goals focus on achieving specific outcomes, like acing an exam or landing a job offer.
  • Mastery goals emphasize understanding and developing deep expertise, regardless of the time it takes.

Back in college, I saw classmates juggling full-time jobs and studies. It was tough for them to achieve true mastery due to time constraints. They focused on meeting deadlines and passing exams, classic performance goals. As I found in my research on mastery-based learning, and as organizations like Launch School highlight, "Most goal-setting advice, such as SMART or personal improvement plans, also focuses on performance goals"2. But where's the space to really learn?

Rediscovering Mastery-Based Learning

I've been interested in mastery-based learning for a long time and have done extensive research on it. The idea of fully understanding a subject before moving on resonates deeply with me. In an era where bootcamps and accelerated programs are prevalent, it's easy to gloss over fundamentals. That's why I found Launch School's emphasis on mastery-based learning particularly insightful. They advocate for depth over speed, ensuring learners truly grasp each concept.

While I'm not currently enrolled in Launch School, their pedagogical approach aligns with my philosophy. It's encouraging to see educational platforms pushing for mastery in a time when many focus on quick outcomes rather than deep understanding.

It's Not Just Math

This renewed focus on mastery is also transforming how I approach other areas, like software engineering. I'm exploring Rust, a programming language known for its performance and safety, which is increasingly popular in systems programming and high-frequency trading, areas relevant to quantitative development.

Here's the thing: Rust isn't the easiest language to learn. It has concepts like ownership and borrowing that can be tricky. To effectively write Rust code, you need a solid understanding of:

  • Systems programming concepts
  • Memory management
  • Concurrency

I initially tried diving straight into building complex applications and quickly realized I was in over my head. Recognizing the importance of mastery-based learning, I stepped back to reinforce these foundational concepts.

Mastery in Action

Let's consider a common Rust challenge: implementing a function to reverse a string.

Here's a simple implementation:

fn reverse_string(s: &str) -> String {
    s.chars().rev().collect()
}

At first glance, it's concise and elegant. But to truly understand it, you need to master several prerequisites:

  1. References and Borrowing: Understanding &str and how borrowing works in Rust.
  2. Iterators: Using chars() to iterate over characters.
  3. The rev() Method: Reversing an iterator.
  4. Collections: Using collect() to transform an iterator into a collection.

When I first tackled this problem, I could make the code work, but it took time to fully comprehend each component. Revisiting the basics allowed me to grasp how ownership, borrowing, and lifetimes interact in Rust, a critical aspect of writing efficient and safe code.

By applying mastery-based learning principles, I'm building my Rust skills more effectively. This approach ensures that when I face more complex challenges, I'm not just getting by but confidently applying my knowledge.

Wrapping It Up

If you've ever felt like you're "bad" at something—math, coding, or anything else—remember that it's often not about your ability; it's about the foundation you're building upon. As Lelouch says, "You're not dumb; you just might not have all the prerequisites yet"1. That resonated with me deeply.

Mastery-based learning allows you to fill those gaps, empowering you to reach levels you might have thought were unattainable. In a world that often prioritizes speed over depth, embracing mastery can set you apart.

So, don't hesitate to revisit the basics or spend extra time on foundational concepts. Whether you're solving complex equations or writing efficient Rust code, a solid foundation is key.

Here's to building that foundation and unlocking our full potential.


Footnotes


  1. Lelouch. You Are NOT Dumb, You Just Lack the Prerequisites. August 19, 2024. Lelouch's blog post 

  2. Launch School. Mastery-based Learning and Software Engineering. Launch School's blog post 

Thoughts? Leave a comment