This post was turned into a talk.
1. Realize there are no silver bullets or unicorns.
Similar to imposter syndrome, it is important to know that your unique talents are to be valued. We all have different skills from various backgrounds. This is something to be celebrated and embraced by all developers. It’s important to realize that your background allows you to have a perspective that others cannot. Whether you’ve just written your first Hello World, or you are a seasoned dev, you have a unique take and that is worth celebrating.
2. Track your successes (and your failures)
There is a quote that I love: “You cannot manage what you cannot track.” Some might think that they have to be a manager to heed this advice but can this not start with yourself? Managing yourself is just as important as a team. In fact, I believe managing yourself well is a prerequisite to managing a team. So track what you do, what you learn and where you fail. Do this on at least a weekly cycle so that you can see progress, are able to reflect on your mistakes and feel encouraged by your successes.
I’ve been doing this on GitHub lately, where I track my “outside of the paid gig” tasks. It’s been something I’ve done in Asana before but since I’m in the code editor all day this has slowly become where everything got stored so I embraced it. If you’re struggling with staying organized I highly recommend this.
3. Engage Purposefully
There are thousands of things to learn and they are all worth learning. But at what cost? Be purposeful about what you read, what you try, and how much input you take in. There is so much out there that you’ll quickly become overwhelmed. Decide that you’re going to learn one thing, write it down so you can track that progress, and move beyond “just getting it” and purposefully engage deeply in that subject.
It’s so easy to jump around from blog post to blog post trying all the “latest and greatest” things but you’ll never really get far and your depth of understanding will be limited. What I have found in good developers that I’ve worked with is their ability to dive deeply into a subject and fully understand it. It’s vital to our success to be able to focus in and dive deep. So instead of trying both Gulp and Grunt focus instead on just one and dive so deeply that you know it really well. Even if your next team uses another tool you’ll be a more valuable asset than if you only “sort of knew” a few. Your depth of learning will allow you to be able to conceptualize the other tools better, faster and with a deeper understanding that if you just skimmed them all.
4. Share the wealth
One reason why I am purposing to write more, create notes on the things that I read and reach out beyond my circle is to not only help others grow in their skills (which I truly hope I can help people just like I’ve been helped by others) but to understand things well enough to teach them. To have a grasp on this topic of becoming a better developer to the extent that I can write about it has forced me to grow as a developer myself. So when you share your knowledge on things it forces you to understand it better yourself. With that, you will have a greater depth of knowledge and with that, you’ll become a better developer.
5. Most Importantly: Stay Humble
Never feel like you know enough. Treat everyone you meet as someone who has something valuable to share and then learn it from them. Also, don’t fall into the trap of feeling like your code is a personal extension of yourself. It’s just code and it’s going to be ripped up, torn out, critiqued, completely tossed when the project changes…it’s just code. Learn constantly. Period.