I'm actively working on it 👨💻.
If you consider yourself a professional, you're no longer coding just for fun. You're now coding to help your company succeed. And this completely changes the game.
You'll never become a true professional (or, in fact, anything more than a micromanaged code monkey) if you don't understand:
What sets a professional apart from a hobbyist, the difference between passive, active, and proactive mindsets, and the nature of modern software development.
What all companies need to succeed (even if they don't realize it), how they can achieve it, and why should you as a developer understand it.
Why you have more leverage than you think, how you can influence different facets of a company's success, and why it's crucial for you to do so.
Being a true professional is not enough for getting noticed and promoted. To fast-track your career progression you have to purposefully steer it.
In particular, it's essential for you to know:
Why the popular myth of the 10x developer is a misconception, what it means to make an impact, how it can turn you into a 100x developer, and why all tech companies consider it when promoting and hiring.
What are the similarities between levels across various companies, and what is the scope of impact and expectations associated with each level.
All the different ways in which you can make an impact, how to extend its reach, and why you don't have to be a manager or lead to make a company-wide splash.
Why first impressions matter, how to get yourself and your accomplishments noticed, how to enlist your manager's support, and how to negotiate a promotion or a raise.
To effectively make an impact and advance your career, you need the right (and well-rounded) set of skills and traits.
To develop such a comprehensive skillset, you must learn:
Which categories of skills do you need to master, which ones require a basic understanding, and what's the rationale behind these particular categories.
The pros and cons of both approaches, how to combine them, and which path is more likely to advance your career in today's dynamic job market.
Everything you need to design, develop, and maintain complex software systems, from coding and architecture to security and performance (and much more).
All the skills revolving around the process of developing complex systems, from soft skills and personal productivity to methodologies and business metrics (and much more).
Why you need a specific set of personal traits to excel as a developer, what these traits are, and how they can be developed and refined despite the common misconception that one's traits are fixed.
How to prioritize skills at each level from Junior to seasoned Senior, determine learning order, identify skill gaps, decide which gaps to close first, and tailor your learning plan to your needs.
Learning may seem like just another skill, but it's unique. To become a true professional developer and keep up with the fast-paced tech industry, you must master the art of effective and in-depth learning.
This will help you become an expert and efficient learner:
Why the way you learn makes a critical difference, how much modern learning techniques differ from what we're taught at school, and a few pointers to kickstart your journey with effective learning methods.
👨💻 Chapter 15. Programming-specific learning advice (or how to quickly master new languages or frameworks).
How to transfer knowledge from one language or framework to another, how to make the most of various learning resources, and how to optimally balance learning and experimentation.
Why superficial understanding won't cut it for a true senior dev, how to avoid blindly applying best practices, and how to dig into their true roots, edge cases, and limitations.
How to create the time you need without compromising your personal life by maximizing learning at your job, taking advantage of various learning opportunities, and creating an environment conducive to learning.
Technology is changing too fast to learn everything just once and rely on that knowledge forever. If you're aiming for a successful lifelong career, you'll need to continuously update your skills or even completely reinvent yourself.
To avoid becoming a relic of the past, you must not only know how to learn effectively but also:
How to choose which outlets to follow, whether to focus on mainstream or niche sources, how closely related they should be to your current specialization, and how often to check them for updates to ensure you won't miss the next big thing.
How to filter out the hype, which novelties to experiment with, should you try out several in parallel, how much time and effort to invest, and should you become an early adopter.
How to anticipate when your current specialization is at risk of becoming obsolete, identify what to transition to, and start preparing to reinvent yourself (while leveraging the benefits of existing expertise).
Most of the principles presented in this guide are universal. However, what you should prioritize, which projects or companies to seek, and which activities will help you the most differ based on your current level of experience.
Here's some fine-tuned advice tailored to your specific stage in your career:
If you're about to start or are a year or two into your first job. What to focus on to kickstart your career the right way, build a solid foundation for further progression, and "level up" for the first time.
If you already know your stuff but still have some gaps in your skillset and don't yet feel like a true expert. How to fill those gaps, gain more experience rapidly, build a well-rounded and robust skillset, and become a top-tier senior professional.
If you're an experienced pro with multiple complex projects and years of experience under your belt, ready to advance your career to the next level. How to extend the scope of your impact beyond your direct team, take full control of your further progression, and successfully transition to staff or management roles.
If you are a grey-haired, battle-scarred mentor who knows your specialization inside and out. How to keep your skills fresh, stay relevant, avoid a plateau, and continue to improve even when you're at the top of your game.