Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Not great after 10 years; what to do? #4
Hey! Sorry this took a bit -- I've been noodling over it for a while.
It's never too late, if you want it.
If your skills aren't where you want them to be, and you want to invest in your skillset and are able to make the time / training investment, then it's never too late to make a change, especially if you're already recognizing that things could be better.
The amount of time you've been doing it doesn't matter -- there's no cutoff period period for growth. I'm really advanced in several areas, but in some areas I've got a ton of growth to accomplish.
What do you mean by "not great"?
Some people don't give themselves enough credit, I think. So as part of this exercise, I'd encourage you to understand what you mean by "not great". Compared to what? Compared to your colleagues around you, or compared to some rockstar-ninja-whatever-bs-term engineer you look up to?
Remember that you've been doing it for 10 years -- assuming you're not getting fired all the time, you're probably not doing it too terrible.
Experience & Mistakes are the best tools in your toolbox
You'll hear a lot of senior or high-profile people talking about how it's not that they're great, it's just that they've made all the mistakes.
There is some serious truth to this.
What mistakes have you made, and what are the lessons you've learned? Catalog those and you'll realize you probably already have a bit of learning under your belt.
The Honest Assessment
It sounds like you've detected some areas you'd like to improve.
List them. What are the things that are out of your grasp? Things that seem murky? Things that you feel like you stumble around? Places where it seems like it's easier for other people?
Now, rank them in order of pain or embarrassment or the amount they've been holding you back.
This is your checklist. Break it down & start, one thing at a time. Find training resources & start putting in the time.
Find a way to apply things
It's by no means required, but a side project -- even some rinky-dink thing that you never intend to see the light of day -- can be a huge confidence booster.
A personal example: I'd never used ElasticSearch. But it was the right tool for the job on a project. I felt way in over my head, but dove in, made a bunch of mistakes, and learned a lot. Now I have confidence to use that tool (knowing I survived) and I've turned those mistakes into lessons that I provide to others in the form of talks.
Not everyone has time for a legit side project, and I'm definitely not in the camp of "everyone should have a side hustle". But, even if it's just to tinker, having some tiny demo codebase you can mess with can help you apply things and level up.
Software Development First Principles
There are some topics that will increase confidence in your development skillset & take you pretty far -- I've deemed this "Software Development First Principles". Topics include:
Get out in the community
It's not always easy to do, but I've found that when possible, attending meetups & get-togethers with other folks in your industry can be a great way to relieve this pressure & learn. We're all learning, and we're all trying to improve, and none of us have a handle on everything. Seeing other human beings dealing with similar issues could be helpful.
It's not just you, I promise.
You may want to consider following blogs. I use Feedly and regularly skim through hundreds of articles, though I of course never read 100 of them. If I want to read something later, I send it to Pocket, and then I catch up on them when I have time.
Following people you admire or who are senior software developers & then following them in places like Twitter & GitHub can be helpful too. They often retweet relevant articles & lead to other great people to follow I also love it because Twitter is an equalizer; it allows you to ask questions.
Which brings me to my next point...
If you have a question, chances are 100 other people do too. Asking a question of someone who may know the answer, especially if you do so publicly, could benefit not just you but others as well.
A lot of times, they'll have additional resources and I think you'll be surprised at how often people are willing to help.
A few resources that could Get you started
Wanting to improve is a valuable motivation. With that motivation, a little bit of self-credit for where you are already, a plan, and the willingness to say it's OK to improve over time, I think you'll go a long way.
And if you have any more questions, that's what this AMA is for!