Guide to Becoming a Full Stack Developer – Part 1
So, you want to be a full stack developer. Maybe you’re encouraged by the number of job opportunities for full stack developers. Maybe you want to diversify your skills, or perhaps you simply enjoy variety. Whatever the reason, you’re asking the question, “how do I become a full stack developer?”
Becoming a full stack developer is not simply making a list of technologies, and then signing up for online courses. That may be a part of it, but there is much more to it than that. The phrase “full stack” does not refer to a pile of training certificates, but to knowledge and experience working throughout the tech stack. To gain this knowledge and experience, you need to have the drive to constantly grow and improve as a professional software developer.
This is not a technical guide on how to become a full stack developer (you can find that here), but rather it is general advice on how to approach your work, with the goal of becoming a full stack developer.
BE AWARE OF WHAT’S OUT THERE
The first thing you need to do is be aware of what’s out there in the realm of software development. This doesn’t mean that you need to be an expert at everything, but you want to have a “stash” of knowledge, such that for any relevant technology you can answer basic questions, such as:
- What is it? Is it data management, devops, an MVC framework, other?
- In what scenario(s) would it be helpful?
- How does it compare to other similar technologies?
There are a variety ways to stay up to date on this knowledge, such as reading software/technology news sites, following industry leaders on social media, attending conferences, and the like.
Keeping current with what’s out there will help you fill talent needs and volunteer new ideas in your organization. It will also help you communicate well with other developers and show your versatility.
USE YOUR KNOWLEDGE
As you build your stash of technology knowledge, look for opportunities to use it as you work. For example, you may find that your team/organization has varying needs on different layers of the stack at different times. If there are a lot of UI changes needing to be done, there may not be enough UI talent to keep up. If you are a back end developer looking to expand, this is a good opportunity to speak up and say “I know something about UI tech X, maybe I can help.”
Another way to use your tech stash is to suggest new technologies to solve the problems that face your organization. This doesn’t mean that you need to be able to implement a new technology on the spot, but rather you can identify opportunities for improvement. For example, if your team is struggling with a particular pain point, you can pull knowledge out of your stash and say something like, “I’ve heard good things about framework Y, and I think it could help us here. Maybe we should look into it.”
Many times, the answer to your suggestion may simply be no. Even if that is the case, offering new ideas will help build your reputation as someone who knows the tech industry, and that can help open up future opportunities for you to expand your craft.
Hopefully your team is open to new ideas, especially if it can help solve the problem at hand. In that case, I have found that the one who offers a new idea is more likely to get the opportunity to research and implement it. If you have the drive to become a full stack developer, this is exactly the type of opportunity you are looking for.
LEARN TO LEARN
When you get the opportunity to work with a new technology, seize it. Learn everything you can. Read as many quickstart guides and tutorials as you can, to get different ideas on how it is used. Online courses can be helpful. Often, you can find a quick course that will help increase your understanding, without consuming a lot of your time.
This may require spending some of your own time on learning. This is one of the things I mean when I say that you need to have the “drive” to become a full stack developer.
If you are researching a technology that is new to your organization, take time to determine if this technology is really helpful for your situation. The temptation can be to always recommend a new tech, so that you can gain experience with it. However, don’t be afraid to say “no” if you think it will not solve the problem. If nothing else, you have gained more knowledge which you can use for recommendations in the future. Additionally, you don’t want to recklessly give recommendations. If they turn out poorly, others will stop taking your advice.
LOVE TO LEARN
This assumes that you are willing and able to learn quickly. Not only that, you need to love it. Modern applications can have stacks that are very deep, and there can be a lot to learn in order to be able to work throughout the stack. Learning, and learning quickly, is something that you will need to do continually.
In order to persist in growing into a full stack developer, you not only need to be a quick learner, you need to love it. You will constantly be in the process of learning, and if you want to grow into a full stack developer, and maintain your knowledge when you get there, you must never tire of learning.
TAKE IT ONE STEP AT A TIME
This process will take time. Don’t expect to become a competent full stack developer overnight. Be patient, and focus on what you are currently working on. Whatever that is, take the time to learn it well. Don’t be content to simply cut and paste a snippet of code from the internet, and then move on the first time it runs. Learn how it works, and make an effort to understand how it fits into the stack. Look for several ideas on how to solve a problem before determining which is best. This circumspect approach will help cultivate your knowledge and sharpen your learning skills.
Becoming a full stack developer is not for everyone. But if you are driven to continually learn and grow and are persistent at it, you can become a full stack developer.
If you are wondering what is a full stack developer, or why you would want to be one, see this post.
To learn about some of the technologies that make up a typical stack, see this post.