It takes over a decade of building back-end systems, configuring server environments, altering front-end layers for different browsers and operating systems, applying design patterns, and dabbling with the latest trends in software engineering (big data, machine learning, embedded development, whatever comes in).
It’s a poor action plan to start with.
Full-stack developers are programmers who mastered a skill and gradually moved to other areas in software engineering. By “moved” I mean a long transition phase of handling small bits and pieces first, owning small components, taking on larger ones over time.
Pick one area of expertise in software development. Study it.
Apply your knowledge at work — as best as you can.
Talk to your colleagues. Let them know what you’ve found and what your assumptions are.
Slowly get to the point where you can effectively debug and stipulate what are the best practices.
You’ll be wrong more often than not. But that’s fine — you can monitor commits and reverse-engineers the reason for taking a certain approach instead of what you read.
Over time, you’ll get more confident and nail more of the problems right away. If your organization is comfortable with assigning you small fixes and change requests, take on the opportunity and keep learning.
Otherwise, you may consider another job. Before you quit, make sure you’ve built a portfolio of at least a couple of practical applications that showcase your skills.
The market for junior developers has stagnated. It’s not easy to land a job without the right tech skills in place. If you can comfortably build a moderately complex project, give it a shot. Otherwise, get back to the drawing board, keep learning, keep practicing, and you’ll get there.
But becoming a full-stack developer? This will take a decade. At least.