In July, Cassidy Williams and I got on a call and talked about her career experiences.
Generally, my podcast guests share a lot about the things they've been successful at, but they also share a lot about the things they've struggled with.
During our conversation, Cassidy opened up about some of the issues she has had with imposter syndrome and work-related anxiety.
Some of those things had to with specific workplaces or experiences, but we also talked about how difficult technical problems can trigger those feelings of discordance and anxiety.
Many engineers are familiar with the sensation; the inability to solve a bug, or the feeling of hopelessness when faced with an unfamiliar feature.
I asked Cassidy for advice on dealing with this category of problem. These are the tactics she uses:
1. Walk away from the problem; Unwind
Cassidy mentioned her anxiety warning signs, the symptoms that indicate to her that it's time to separate herself from the problem.
It's important to acknowledge these warning signs in yourself. While everyone won't start with the same introspective qualities that Cassidy has, being mindful of your relationship with anxiety is the first step in staving it off.
When Cassidy notices that she is slipping towards imposter syndrome-like feelings over a technical problem, she takes a nap, plays video games, or music.
We talked about some advice that I was given by a co-worker: Building hobbies that don't define you.
In software development, we identify closely with our code; it is a product of our minds and our experiences. It makes sense that we would feel ownership over our code. In many ways, your code is a reflection of your thought process, and it's easy to tie your self-worth up in the ideas you express in code.
Therefore, finding a hobby you enjoy, but don't see as a piece of your self-worth can be incredibly valuable for separating your feelings of anxiety from your identity.
For Cassidy that might be playing music or Fortnite, for me, it's bouldering or other forms of exercise.
Find something that you can enjoy without entangling your identity and lean on that enjoyment when you start to feel doubts about your profession creeping into your identity.
2. Practice perspective
When you're trying to deconstruct a problematic project, it can be imperative that you isolate your emotional concerns from the problem itself.
Because so many software engineers obsess over the problems they solve, our minds might tell us that a difficult problem is the most important challenge in our life.
If you start to feel a crushing, impending doom hovering over some deadline or technical roadblock, you'll need to take a step back (see the previous suggestion) and put things into perspective.
Cassidy recalled something that sounded like a mantra, "I won't be the death of this project, and this project won't be the death of me." Reciting this to yourself might be a way to reset your perspective.
When you're in this kind of mood, consider your relationship with your work. It's not a life-or-death situation; frequently, it is only your ego that is being challenged. Acknowledging that our lack of perspective oftentimes inflates our perception of the stakes is often all it takes to let go of the anxiety caused by a particularly nasty technical problem.
It's not easy, but the solution to this sort of anxiety might be much less complicated than it would seem.
3. Evaluate the problem objectively
After you've created some space, Cassidy recommended reflecting objectively on the problem. Frequently, when you let anxiety into your perception of a problem, you build up demons around the problem. The task takes on the form of a seemingly insurmountable obstacle.
She broke this tactic down into a couple of steps:
First, reflect on what needs to be accomplished to consider this problem solved or completed. Nearly always we overcomplicate things in software engineering, and often that is the root cause of our anxiety.
Secondly, break down the problem. If you can articulate the necessary tasks from the previous step, you can break those tasks into achievable pieces and chip away at the problem.
This approach allows you to make tangible progress towards your overarching objective, which may solve the problem more effectively than you expected.
Needless to say, these suggestions aren't going to cure your imposter syndrome or feeling of anxiety overnight. However, building these patterns into habits might have a powerful positive effect on your relationship with difficult technical problems.
Creating some breathing room between your identity and your code takes time and discipline, but it can result in a much healthier relationship with this profession. That isn't to say that there is some valuable correlation between your code and you as a technical problem-solver, but your ability to overcome a challenging problem doesn't define your worth as a human. When your anxiety conflates your self-worth and your job performance, this field gets pretty tricky.
With the useful advice that Cassidy shared on tackling the problems that induce anxiety and stress, hopefully finding joy in problem-solving will be achievable.
Later in the interview, Cassidy shared her equally valuable experience in finding the right workplace to help facilitate this kind of approach to solving hard problems. If you're interested in hearing more of Cassidy's thoughts on building a healthy career that you enjoy, you can check out the interview on my podcast! ππ€
If you're interested in learning from veteran engineers like Cassidy, subscribe to my newsletter and follow along with the podcast. I have upcoming interviews with engineers all around the world who have built amazing careers for themselves.
Top comments (7)
This is amazing! Everyone has some level of imposter syndromes and self-doubts and there's so many support around us, we just have to be brave and ask for them. Be open and talk about it, you'd be amazed how many people feel the same way as you do.
I'm glad you liked it! Sharing your struggles is one of the best ways to overcome them.
Great interview Jacob and such fantastic insights from both you and @cassidoo !
The part I found most fascinating was talking about how we internalize the code we write as part of our identity, and there's a real balancing act going on between taking pride in your work and not getting over emotional from the criticism.
Rarely is there a career which requires so much engineering of fresh stuff that is completely yours, where there's also so much crossover with your peers, so it's something we're all getting used to at some level.
Thanks for sharing @jacobherrington
It's definitely an interesting question; how much should this work we produce purely from our minds be considered an extention of us?
I recently had my opinion challenged on this by Avdi Grimm at Southeast Ruby. There is definitely a significant part of the author embedded in code.
That being said, your code should never be weaponized (by you or anyone else) to determine your self-worth. That's really unhealthy!
π π π
I also wanna add one thing that I said before:
Great post!
Here is my favorite tip above all:
Be a Rockstar Developer
There is nothing worse than developers deceiving themselves that it's just a syndrome when they're actually not good.
If they ain't be able to create apps, they should start learning.
If they can't build simple products, they should be getting used to starting their own products.
There is nothing wrong with admitting weak points and working on them.
Haha, I noticed a typo in that, which I wouldn't have seen if you didn't quote me. Thanks!
Just realized that too π
Been fixed.