Introduction
Being a top developer is a desire most developers have, The problem is most developers do not know how to get there, or rather they do but it seems boring and tiresome and they get discouraged along the way.
I decided to write this article for so many reasons,
To document these steps I found out through a combination of my experience in the tech field, and the numerous developers I have come across.
To always remind myself of these steps so I stick to them, and frankly, I will advise you to also stick to them.
Just like a quote from Kent Beck, which says:
I'm not a great Programmer; I'm just a good programmer with great habits.
Start from the basics: Build a Roadmap: Understand Fundamentals
Starting from the basics is the best thing you can do for yourself as a developer, Blocking the noise and pushing forward in the fundamentals of your learning is critical, never ever ignore the basics.
Having a roadmap is essential to having an insight into what fundamentals you need to start from/with.
These fundamentals are the building block to what will eventually carry a large percentage of what you know in your tech space.
Here is a screenshot of a roadmap gotten from roadmap.sh to be a full-stack developer:
Create a Schedule
To be at the top level of your career and skillset as a developer, you have to build a system and structure(Habits) that will guide your journey, a career in programming is a journey, Make your journey fun, don't burden yourself with complex and serious concepts, languages, tools and projects but rather see how you can gamify your experiences.
From your roadmap build a very simple schedule, so that whatever happens you are sure you can stick to it, and move between levels.
Now when I say gamify your schedule, let's use this illustration:
I am a total beginner who has a roadmap for full-stack development and I want to create a fun schedule that will most likely help my growth, to do this I would start with a table structure highlighting level 1, the things I need to learn are stages in level 1, and the projects I need to do for that level is the boss fight, in case the boss is too strong I can go down to the previous stages and clear them again this time gaining bonus points and becoming stronger to finish that level boss.
Fun Right....?
This is a screenshot from chat-gpt to give a visual meaning to what is being illustrated
Build Simple Projects
In your schedule create sections for simple projects you can create that would help solidify your understanding of those levels, for example: create a full website with multiple pages in React JS, or build a simple calculator.
They could be extra levels you can call them portfolio levels(projects you can put in your portfolio).
Build Usable Projects
What this means is, take a look around you, What projects can you build that you can pitch to a friend, or community family to use free of charge that would make their lives better and happier?
These kinds of projects don't really need to be built by one person, you can get a group and build it, put it up in your portfolio, and share it for more people to use, This gives you some kind of good pr, boosts your career and at the same time you create your own network and circle.
Conclusion
Programming should be a fun concept, It is not easy, but you can make it enjoyable as you learn and grow.
Creating a concept around your journey to the top makes it enjoyable.