You ever feel like you have no idea what you're doing?
Like, how the heck does your team rely on you when you barely understand a fraction of the codebase, google for answers all the time, spend hours chasing bugs that are typos, and constantly look up basic syntax like for ... of
vs. for ... in
??
Everyone feels that way Friend. Sometimes more, sometimes less.
My sister is a personal trainer and group class instructor. She called me this weekend.
"Swiz, they're closing gyms again for corona. 2 weeks at least. This is ridiculous, I made more in 4 months last year than all of 2020 combined âšī¸"
"Okay so what you gonna do about it?"
"I don't know everything sucks, I suck, this is stupid"
"Sure that's fine but what you gonna do about it?
"I was thinking of recording a Barre class and selling it online"
"Fantastic! Sounds like a plan đ"
"Ugh but what if I'm not good enough? I don't know how to do this, I hate making videos, I don't have good gear, I can't edit, everything I do is shit, how would I even sell it, why would someone buy from me I'm just a nobody ... ugh"
"You're not a nobody to your clients. Email them, ask how you can help now that gyms are closed"
"Yeah but they're the gym's clients I can't contact them"
"Cmon I know you have your own clients. Don't any of them follow you on instagram? Send a message"
"Yeah but those came by accident. They showed up organically or they know somebody who worked with me in the past"
"Fantastic! Your clients refer other clients AND they stay"
"They're just staying because they don't know any better. I suck at this, why would they buy my course"
"At worst, you're good enough that clients are too lazy to find someone else. If you don't wanna make a course, offer private Zoom classes. That's a great way to experiment"
"Ugh but I hate Zoom it's hard to make a good class that way"
"Okay then make a course. You said Barre is a fantastic home workout and nobody offers recorded Barre classes yet. What's the problem?"
"I don't know I'm not good enough"
Sound familiar?
The not good enough trap
You can't be good enough until you try. Start.
Zen Pencils has a fantastic comic, Ira Glass: Advice to Beginners. It's about the delta between your taste and your skill.
You get into a field because you have good taste. You appreciate a good app, you love a great website, you see good design, you understand good code.
But you can't do that yet. You try and it's crap.
And that's okay. That's how you start. Sucking at something is the first step to being good at something.
You need a volume of work. Write code, build apps, create websites, draw. If you want to be good at something, you have to practice.
Sit your ass down and do the work.
5 months from now you won't see the difference between code that flowed and code you struggled with. Keep going
â Swizec Teller (@Swizec) October 2, 2020
Don't be afraid to start
Wanna laugh your ass off?
Here's my first ever ride on my brand new motorcycle. A 900cc beast of pure retro beautifulness. Watch with sound.
First attempt went great! đđđ pic.twitter.com/ukIlBBq9S0
â Swizec Teller (@Swizec) October 17, 2018
Made it a whole 30cm before I fell over đ
What happens next is important đ picked the bike up, did a few laps in the garage. Ventured to the outdoors parking lot, soon the street.
This summer I went on a 1000mi road trip to Death Valley and back. 2 days of riding, 500mi each. Loved it to bits.
Yeah I fell on my first try and yeah the bike's got many scratches since then. Some dumb, some sketchy, some kinda dangerous.
But that's life. That's how you learn. How you get good.
Accept that your first few tries are going to suck. Your first code will be terrible, your first feature will fail, your first app will die in obscurity, your first anything always sucks.
And that's okay. It's part of the process.
Mistakes matter
Every good engineer has caused a production bug, deleted data by accident, screwed up an important demo, and lost their company thousands of dollars through one bug or another.
And every good engineer got up afterwards, dusted themselves off, and fixed the issue. You gotta.
You make the mess, you fix the mess.
But if you never make a mess, you never get better. You're stuck in the junior dungeon killing level 1 rats. Grinding away with no progress.
All because you're afraid of looking dumb or making mistakes?? đ¤
The fastest way to train a junior engineer is to watch them make a mistake, know it's coming, and say nothing. They have to experience it. You have to let them.
Experience is what we call it when things don't go the way you planned. You want experienced engineers on the team don't you?
Don't get cozy
Challenge yourself my friend.
Want to avoid the "1 year of experience 10 times" trap? Find or create a job that makes you feel like an impostor.
Then figure it out on the go. I know you can â¤ī¸
Cheers,
~Swizec
PS: don't forget to be a beginner every few months or years, it's refreshing
Continue reading about Sucking is the first step
Semantically similar articles hand-picked by GPT-4
- Can you code faster?
- Most professional engineers can't build an app from scratch
- Why senior engineers get nothing done
- Flow good for programming, not engineering
- Stuck at home? Advance your career
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below đ
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails đ on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. đ"
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help đ swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers đ ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are â¤ī¸