I am the worst web developer on our team. It doesn’t mean I’m bad, it just means the others are great.
“Never be the smartest person in the room.” — Michael Dell, CEO of Dell Inc.
Everybody uses that quote to talk about sustaining personal growth. But they don’t mention how hard it is to be the most inexperienced person in the room.
In 2015, I had been working under our lead developer for about a year. Our team dynamic was great. He had experience that I lacked, but we were in the same boat — learning a lot. I gained confidence watching him struggle through problems, knowing that someday I’d be able to tackle those exact same problems. He taught me skills and patterns that I’ll always be grateful for, but his knowledge never felt out of reach. I was sad when a career change took him away from Resound in the spring of 2016.
Resound needed a new developer.
Interviewing seasoned developers, I got a wake up call. I could feel my self-confidence lowering by the minute as I realized just how little I knew. Before our team expanded, I was at ease. I didn’t know everything but neither did anybody else!
I was oblivious to being oblivious, and what a beautiful, ignorant time it was!
Unfortunately (and fortunately, as I found later), it didn’t last long.
We found a brilliant new developer and, sure enough, impostor syndrome silently crept in. It didn’t get better when we hired another equally talented developer.
The feeling of inadequacy haunted me Monday through Friday. I was struggling to keep up as my new teammates were throwing around terms, languages, processes, and tools I’ve never heard of.
I wanted to quit. Hell, I wanted to cry sometimes.
So many times, I felt incapable of doing my job correctly. I felt like I wasn’t contributing to the team but rather sandbagging our company. My mistakes were amateur. I never felt that I was making progress. For every inch I stepped, my team leaped miles.
Caught up in my own self doubt, I couldn’t see that I was learning at a rapid pace. About this time I was ready to cut my losses, quit, and find a new career path.
That didn’t change until, one day, I solved a problem with ease that I had struggled with in the past. I realized that, through all this discomfort and insecurity, I had become a better developer.
I was not an impostor, I was simply a beginner in a room of experts.
Establishing this mindset in myself didn’t happen overnight, but luckily I stuck with the team (even if it was mainly because I didn’t feel competent enough to look for another job in web development). Eventually, I recognized how quickly my situation became the single best learning source I had available.
How can we benefit from having experts at our side?
Learn from people who have gone through the struggles, defeats and frustrations you’re facing. You need mentors who go beyond a motivational quote and support you through the torture of finding the solution to a problem you can’t even define.
I’ve sat beside a highly competent developer for a little more than a year, and it’s incredibly valuable. She understands my strengths and weaknesses, and can answer my questions in manageable chunks according to my experience level.
- Ego Check
With a greater skill level comes the ability to tackle larger tasks. So naturally, for a moment, I grow an ego because I am capable of solving complex issues with no errors. Having my code reviewed by teammates reminds me why that ego is misplaced.
There is always a better way to do what you’re doing, and nothing is better than having teammates willing to show you.
I learn so much simply by being around good code. If I spend ten minutes looking at Nikki or Ben’s code, I learn a more efficient technique discovered through hard-earned experience. And, hey, I’ll learn it faster than I ever could watching a tutorial.
It’s not a one-sided relationship — they benefit from us too.
- Teaching Practice
I’ve found that spending time with experienced developers actually benefits them as well.
As professionals, we should have the ability to teach and explain concepts — establishing expertise. Answering lots of questions builds confidence and helps ingrain knowledge. If your teammates can explain a concept to you, they can explain the same concept to a client.
I’m not proud of my mistakes, but some good has come from them. As a team, we’ve developed processes in order to keep these mistakes from causing damage. You never know when one happy little accident brings down an entire website because the right process wasn’t in place.
Less experienced staff members can complete smaller tasks, so that the experts can focus on bigger projects. This workload sharing helps individuals develop their skill sets and propels the whole team forward.
- Fresh Take on the Industry
As someone new to the industry, I’m generally discovering the latest technologies first (whether or not that is a good thing is for another discussion).
I bring in new perspective on old problems and sometimes offer more elegant solutions that our seasoned developers haven’t heard of yet.
Surround yourself with experts.
It may be a ‘controversial’ thought, but somebody is the worst developer on your team. If you’re lucky, that somebody is you. Being the the worst means you’re surrounded by people who are smarter than you, and there is a great deal to learn from them. If you find yourself at the top of the developer food chain, maybe it’s time for you to branch out and join local communities.
If you identify with being the worst, send me a message below or email me. We can work through our experience together.