Finding the Right Mindset as a Junior Developer
Rasmus Langvad / January 31, 2022
As a new developer it can be confusing navigating all the available programming languages, frameworks, do's and don'ts, buzzwords etc. In addition to this you have as many opinions as there are developers. Depending on who you follow, what blogs you read or what teacher you had - your path as a developer is determined by the opinions of those people.
When learning programming you should not narrow down your thinking to a specific language. Instead think of it as you are solving problems. Programming languages are there for you, to help you solve problems. So what problems are we talking about? In this context you have some kind of goal with what you are building. Say you want to build a website to learn concepts about web development. To achieve that goal you need to solve problems along the way. When setting up your first website you need to start somewhere. It might be confusing by all the available alternatives out there. The important thing here is to start. Whether it's by building a simple indexl.html file or a Vue application for example. Whatever makes you interested in the process and that makes you accomplish something.
Another example of something you might need to solve is triggering an action when a user clicks a button. How will you do that? If you are building the website with Vue for example, you would search for how to add a click event to a button in Vue. Get your answer from Stack Overflow or the Vue documentation and add it to your application. At this point you don't need to understand what the actual click event in Vue are doing. You managed to get something to happen when you clicked the button - problem solved.
When you are comfortable with handling events in Vue you could look them up in detail. But only when you find that interesting enough to investigate. Then you could try and implement the same event without a framework. Both ways of going at this are completely fine. Find your way of solving problems. Have fun along the way.
Must I choose one specific framework?
No, you don't. It could be dangerous to identify yourself as a React developer or a Vue developer. You should identify yourself as a web developer that solve problems.
Although you have to start somewhere. In that sense I think it's preferable to learn one framework to a decent level before learning the next. It's better to be great at React than have basic knowledge of many frameworks. You still need to understand the differences between the frameworks and what problems they are solving. When seeing the languages and frameworks as tools to help you solve problems you can choose the best tool for the problem you are facing.
Learn by doing
You can read multiple books or watch hours of tutorials but the absolute best way to learn is by doing. I can't say this enough. Get started and build something. The more you build the more situations and problems you will encounter. It's by solving those problems that will make you grow as a developer.
When building projects you will also build a portfolio. A platform to both show off your skills and to try new out new things. You will gain a lot from having your own website as a base for this. You will start to have an online presence and have something to show in upcoming interviews. Although I do not think that having an online presence is required at all. If reading Twitter there are many people talking about the importance of online presence. I don’t think that is for everyone. You will probably get some opportunities and meet people that you otherwise wouldn’t. But it can also be very stressful. Focus on building and learning first. And if you are comfortable and willing it could be fun to show other what you are learning.
Another underrated aspect is to take inspiration from others. GitHub is a huge opportunity to learn from the industry. There are so many projects that are open sourced that you can watch and learn from. Find a project that uses the same stack or framework that you're interested in and clone that repo.
I would like to summarise my rambling above in to 5 bullet points:
- Learn by doing
- Find your path
- Build, build, build
- Don't get stuck in other peoples opinions
- Have fun