5 min read

v0.3 The Courage to Begin Again

v0.3 The Courage to Begin Again
Photo by Sebastien Gabriel / Unsplash

What if the key to a successful career pivot was embracing your biggest strength – being a beginner? In this week's patchNotes, we're exploring the beginner's mindset. I'll share my favorite tips for getting unstuck and a few productivity tools I use as a learner and a working software engineer. Let's get right to it.


🧠 Mindful Iterations

There may come a point – maybe you are there now, where you feel like a complete failure. For some of us, this happens early in our career switch. For others, it may be somewhere lurking down the road. The best description I have for what it feels like is an insidious feeling that everything we have done up to this point was all for nothing. Logically, we know it isn't true, but it can be hard to bear emotionally. 

From my recent conversations, this unsettling experience seems somewhat universal for those of us who make career changes. Maybe it's just part of the process. Although I sincerely hope that it never happens to you, my dear patchNotes reader, there is a particular mentality that may help. Over time, we can build a sort of muscle that can help us power past self-doubt; in Zen Buddhism, it's called beginner’s mind.

Four Pillars of Beginner's Mind

I'm no religious scholar, and I'm not religious. Still, I've observed aspects of a beginner’s mind in many of my friends and acquaintances who have successfully switched careers and thrived in technology, specifically software engineering. Beginner’s mind can be interpreted in many ways, but for career changers, let's define our version with these four core pillars. 

  1. Open
    Content that your path may look different than others or lead somewhere you never imagined. The possibilities are limitless and unknowable.
  2. Unbiased
    Leaving behind pre-conceptions. Placing no unnecessary expectations on your career change, the path to getting there, or the resulting career you build.
  3. Curious
    Not afraid to follow your interests wherever they may lead. A willingness to dive deep into topics and explore widely.
  4. Eager
    Hungry for every little morsel of knowledge. Enjoys the process of growth however it unfolds.
"Exhibit the unadorned and embrace the uncarved block,
Have little thought of self and as few desires as possible."
Lao Tzu, Tao Te Ching

Cultivating Beginner's Mind in Your Career

In previous patchNotes I've expressed my view that perfectionism is the enemy, which also applies to the beginner’s mind. You may have read these four pillars and thought that some resonated with you and others did not, and that’s okay. A mindset, like a garden, is something we cultivate, but it takes time.

For my part, I'm not particularly good at the unbiased pillar. We're constantly bombarded by expectations from family, friends, colleagues, bosses, and worst of all – ourselves. So, being unbiased about my progress in my career has been a challenge. So, I lean into what I'm good at, mainly being curious, and actively work to notice when I'm introducing bias that might work against me.

As a group of career changers, we've set out to do something challenging: to begin again. We can all make our career pivots a bit more effortless with self-compassion and a beginner's mind. With practice, we might enjoy the process for what it is and embrace the unavoidable challenges along the way.

💪 Beginner's Mind Exercise

This week, I'd like you to bring a beginner's mind to your career, wherever you may be in your journey. Start by reflecting on the four pillars: Open, Unbiased, Curious, and Eager. Take 5-10 minutes to write down what they mean to you and your career. For example, how can you embrace curiosity in your learning or let go of bias about your progress?

Next up: One challenge you might know well. Getting really, horribly - stuck. 🤬


🐛 Bug Fixes: How to Get Unstuck 

First, congratulations! If you have found yourself stuck, it’s probably a sign you are doing something right. Growth only occurs at the boundary of our current ability. Learning is just hitting that boundary and pushing past it over and over. My seven best methods for getting unstuck are as follows:

  1. Take a Walk
    When I get stuck, the first thing I do is get up and walk around. It’s best to get outside, but getting up and moving around is often enough to clear my head and get me unstuck.
  2. Get Physical
    After walking, I like to write down a detailed problem description. Putting a problem into physical space on paper in pseudocode or pictographs completely changes my orientation to the problem. Somehow problems are easier to solve when they are outside your head – half the time I can't even read my handwriting. 😂
  3. Narrow the Problem
    Eliminate potential problems iteratively. When debugging, use strategic console logs, error code hints, and your IDE's debugger to eliminate the most obvious culprits and isolate the problem.
  4. Rubber Duck Debugging
    Popularized in the book The Pragmatic Programmer this debugging method is simply explaining your code line by line to a rubber duck. Explaining your problem out loud will often make you slow down enough to find flaws in your logic or catch important things you have missed.
  5. LMGTFY
    Google it, check Stack Overflow, read Github issues and scour the internet for any mention of your problem. Search is often helpful for chasing down obscure error codes. Always search smart by including relevant context in your query.
  6. Ask an AI "Coach"
    LLMs like OpenAI’s ChatGPT are quickly replacing Google as the first place developers are heading for help diagnosing and fixing issues. I've been learning Go and using Anthropic's Claude, my favorite as of this writing, as a Go tutor for the fundamentals whenever I need a refresher.*
  7. Ask for Help
    Software engineering is a team sport.
    Pair programming sessions can be extremely productive when you are stuck. If your colleagues are unavailable to pair, post a well-structured, context-rich question in your team's preferred asynchronous communication channel. If you are not working in a team, forums and coding discords are a good alternative!**

*notes on using LLMs

  • Never put confidential information into an LLM. Examples include proprietary code, API keys, and Personal Identifying Information.
  • Never blindly execute code you don't understand; any code generated by an LLM should be carefully reviewed. If you can't understand it, don't use it.
  • Don't just copy and paste code. Use multiple sources and examples whenever possible. The goal is understanding, not blind copying.

**notes on asking for help

Some of the best learning opportunities are when you are stuck. Finding the right balance between asking for help and struggling is quite difficult. You might consider talking to your team or manager about it if you are new to a team. After you get to know your team, for many people, it becomes effortless.

💡
Don't let someone else ruin a good struggle.

⚡️ Quick Bytes: Powerful Productivity Tools 

  • Anki - Flashcards, super-charged. Anki uses a spaced repetition algorithm to help you learn efficiently and flatten the forgetting curve. If you are learning anything, try Anki.
  • ObsidianMD - More than a notes app. Obsidian is a markdown editor flexible enough to be an entire knowledge management system. It's like having a second brain that’s outside your head.
  • Physical Notebook - I take notes in small notebooks on whatever I'm reading or thinking about. I don't write notes to remember them; I write notes because writing requires me to think. Writing is thinking. Eventually, I process those notes and add the most interesting stuff to my Obsidian vault for permanent storage.

📝 Final Notes

You are my hero. Honestly, I commend anyone who has the audacity to start something new. It takes courage to begin imperfectly and drag your self-doubt along for the ride. I hope we can all bring beginner's mind to our endeavors this week. Now, get stuck in something terrifying and rewarding. Who knows where it might lead you?

Cheers,

Ian

P.S. Share your journey, email me at getpatchnotes@gmail.com