To be a great senior
Foundational plan on how to become a senior developer.
About
If you want to be, a really good, senior developer there’s only one way to go about it: Commit mistake, correct mistake, learn from mistake, share mistake—repeat. A collection of mistakes becomes your experience and learning from experience is the key to becoming a successful senior developer.
It is more than a job title. It’s a work ethic. It’s not what you do, but how you do it which will make you a true senior developer.
Being a senior developer doesn’t mean you have to know everything. It means you can help find out anything.
Senior developers are more cautious, thoughtful, pragmatic, practical and simple in their approaches to solving problems.
Personal qualities
Curiosity. You increase your ability to learn and retain information when your curiosity is stoked. The limbic reward system of the brain comes into play. Go deep in information before going wide and use the information accumulated.
They Learn Their Chosen Platform Inside Out. Good developers never accept matters as they are. Whether their code works or doesn’t, they are always trying to find the answers to every “why” they have to ask.
They’re Great Mentors. Mentoring is a brain to pick, an ear to listen, and a push in the right direction. Successful managers know how to mentor their teams to success.
They interact masterfully with internal and external customers and stakeholders. Tech jargon will not get you anywhere when you interact with people from non-technical backgrounds. That’s why the best senior developers are the ones who don’t get wowed by technology. Explain complex technical concepts in simple language, using real-life examples. Share knowledge, share experiences, forge ahead.
They Don’t Have “Shiny-Toy” Syndrome. You shouldn’t get addicted to being shiny, because shiny doesn’t last. They know that rewriting a library from scratch just to make it more readable, or switching to the newest framework from the older one are not always good decisions. The code should do exactly what it’s supposed to do—and nothing else. The purpose of the code should be clear enough to grasp within minutes or even seconds. Navigating through the code should be easy, even without sophisticated wizardry. Simplicity is the ultimate sophistication.
They Admit What They Don’t Know. It’s a lot better than covering up your lack of knowledge or skills. The key thing here is to know how you’re going to address the issue — either by asking someone else or digging deeper. It’s all about how you answer the question that makes you senior. Can you lean into why they’re asking in order to get more context and be more broadly helpful? Can you offer to help find the answer together? Will you do some research afterward and follow up with them?
They Can Detect the Smell of Bad Code. The developers that came before may have made a mistake, and you will too. It’s how coding works. So when you ask the question “Who the heck wrote this?” it should inevitably be followed by “What can I do to make it better?”. Usually smelly code is an indication of some deeper problem that will cause issues in the future.
Soft skills
T shaped knowledge;
Mentorship;
Thinking about The Big Picture:
The Business Stuff- how to meet KPIs or the current big deadline or whatever;
The User Stuff- how to actually provide value to the people who use what you make;
The Technology Stuff- how to build something that will last a long time.
Make your goals known;
Hard skills
Typing Speed;
Learn This Technology;
Work on side projects (https://weeklyproject.club/articles/):
Learning- picking up a specific skill you didn't have before;
Experience- doing more programming in total (making you more experienced);
Fun- sometimes programming is a fun thing to do.
"Learn the Classics" - Knuth, or Pragmatic Programming, or Clean Code, or some other popular book.
Tips
Figure out what tech stack you really want to be skilled with and learn it in-depth Read every day! (This will help you become a better reader and just help you learn every day);
Try to take on those really hard yet valuable projects that are offered to you;
Remember that experience comes with time - there's no other way;
Remember the concept of the "T" shaped skills set;
Map out your skills and figure out which ones you want to really dig into and which ones you want to learn the fundamentals about;
For skills where you want to know the fundamentals, the most important thing to understand is what problem(s) does it solve?;
For skills that you want to dig into, consider mentoring or high-quality training material (think Pluralsight) ;
Most fields will benefit from knowing design patterns (again, the most important thing is to know what problems each pattern solves);
If your current job isn't challenging, consider moving on to something more challenging.
More about it:
Last updated
Was this helpful?