Software Development Career Advice (3 Part Series)
What does a classic business book have to say about developers and impostor syndrome?
My wife and I listened to the first half of Malcolm Gladwell's Outlier's on Audible today on a road trip. The book studies successful individuals and the factors that make them successful.
One of the factors Gladwell identifies is the act of getting to 10,000 hours in a craft is what people tend to agree makes you an expert.
As a beginner, you're not likely to have 10,000 hours in on a craft, even if you're coding for fun before you look for a job inside the industry.
That means that your exposure is limited to what you've learned and remember in school, what you've played with on your own, and other forms of learning you've engaged in (I recommend technical books and learning videos on services such as Pluralsight, LinkedIn Learning, or even YouTube - particularly YouTube videos of conference talks).
As a result, going into that first job, you've not done this for a living, nobody has paid you to program before, you don't have a very broad or deep level of knowledge, and you likely don't have a lot of confidence in yourself. This is about a perfect storm for something typically referred to as Impostor Syndrome.
And you know what? That's okay.
With Impostor Syndrome, you feel that you don't belong, that you're not really going to make it, that you ultimately shouldn't make it or shouldn't be taken seriously.
Here's a secret: It's still okay. Really!
As a new developer, expectations are somewhat low and you're going to feel this way. It's almost guaranteed. Until you get comfortable in your new environment and get some successes, you're going to keep feeling that way - especially if you measure yourself against acting like a specific person or set of persons - particularly measuring yourself against senior devs who have already hit that 10k hour marker.
You are your own person with a unique background and personality and what you as a competent developer looks like is different than what another developer looks like. You're going to gravitate towards different things, have different skills, interests, and even different design / coding / style philosophies. That's okay. Be the best developer you can, and eventually, you're not going to feel like an impostor.
And you know what? When you get promoted from Junior Developer to a Mid-Tier or even a Senior Developer role or beyond, you're likely going to fight Impostor Syndrome again. That's okay too!
You know why this is okay? Because it goes away. And because it's not entirely an unhelpful thing. Impostor Syndrome tells us that we're not good enough or we need help. You know what? We do need help. We need to reach out to our peers, mentors, and friends to support us in seasons of life. When we don't feel skillful enough or capable enough, we can take that prompt and learn. Ask the questions that confuse us enough, keep practicing, in and outside of work, get all the help we need, and find ways to keep growing.
And the next thing you know, you'll look up and you won't feel like an impostor anymore. The trigger can vary, but often it's when newer people come onto a team and look for you for help and you shockingly discover that you have plenty of help to offer.
The other good news? You're going to feel like you belong well before you hit the 10k hours marker, because you're going to be confident in your job well before you're an expert.
Keep working, keep trying, ask questions whenever some piece of knowledge eludes you, and keep practicing.
I'm nearly 39 now, and I've been programming for fun since 1987. I didn't really start programming a lot until a decade later in high school, however, but by the time I graduated college I actually was likely pretty close to the 10k hours marker.
Back in that day, the economy was awful and nobody wanted to hire a kid right out of college and take a risk on him, regardless of GPA or comfort level programming. I actually looked for my first developer job for 4 months, despite having a 4.0 GPA and coding genetic algorithms in my free time.
I didn't feel like an impostor as far as skills went, but when I finally got a job in the business world, I had this sense that I didn't belong in the corporate culture and I just looked like some little kid in a button-down dress shirt.
I did good work. I made a few stupid mistakes (confirmation bias is real - fear it when validating your code's behavior), and I kept showing up. After a month or so, I didn't feel out of place in my button-down shirt or sitting at a desk in a fancy building. I kept coding. Eventually I felt like I belonged and I learned the systems, people, and culture.
Years later, I made a job move and I got my first senior developer position. I still felt out of place and not like a senior level guy, though by that time I was racking up the hours both at home on hobby stuff and at work. I kept coding and the feeling went away. I learned that there's more to coding than just code - there's a lot of learning how to set expectations, say no when appropriate, surfacing issues to management, and generally share what's in your head with the people who need to understand it.
I kept coding and you know what, pretty soon I was a very solid senior dev. Technologies changed and I got into a new aspect of web development where I hadn't done much training or put any time into. I felt like an impostor again. I was honest about it and put in the reps and eventually got good at it, but for awhile I was that new guy again not knowing what he was doing.
Another half decade goes by and I leave my job to find my first team leadership job. At this point I have 13 years in the industry, have been coding in some form for over 30 years, and have a lot of broad and deep knowledge. By my estimation, I have at least 50k hours of development in over the course of my life thus far. That's 5.5 years of nothing but coding. I should be fine, right?
Impostor syndrome hit me hard as soon as I gave notice. So I bought all the used books on leadership I could muster as well as the largest book (> 700 pages) on the frameworks I'd already been using for the past decade, and I read them all cover to cover over the course of the next 3 weeks before I started.
And you know what? I showed up to that job on the first day and I still felt like an impostor (as ridiculous as that was) until the moments my new direct reports looked at me and I could see the same look in their eyes. And then I helped them, and their respect and trust helped me and we all got through it together.
And now, a year later, as I look to get more into speaking, teaching, and writing, I feel like an impostor once more, and that's okay too because it's going to push me to get over it and one day I'll wake up and realize that I'm relatively comfortable speaking at conferences and I'll be able to help more people and we're all going to be better off as a result.
It doesn't take 10,000 hours to feel like you belong. It involves getting up each morning and trying your best, and it takes helping one or two people who are feeling that same feeling.
You're going to get through it. You're going to help others with it. And you're going to feel like an impostor again down the road, no matter how qualified you actually are. What matters is the courage you take to work through it, and using that insecurity to get the help you need to get past it.
Throughout the last year, I have worked part-time as a working student and also studied at the university. I was not the first and not the last one who has combined that during their studies, but the problem for me was, that at the end of the day I have felt absolutely exhausted mentally and physically. That caused problems with my health and motivation to continue working on my goals or anything. (yeah, “goals,” I wish I had something more specific at that time).