Introduction

A couple of weeks ago, I was a part of a discussion where a fellow learner asked a question: "What should I learn in order to become a Junior Web Developer?". I answered, and the answer got well accepted, therefore I decided to write an article around it.

What Should You Learn?

We are lucky to be a part of an industry with an overwhelmingly large number of tools, languages, and technologies available to learn. But if you think about it, this can be frustrating, especially for beginners wanting to become a part of it.

If you are given too many options and various choices, you will likely spend more time thinking about what is the most appropriate way to go. Even when you start learning, there is a high chance you will be questioning yourself whether the choices you made are the right ones, especially if you meet someone else doing the same thing, learning, but totally different stack of tools and technologies.

In the paragraphs below, I will write my opinion on what should you learn to become a Junior Web Developer, and you shouldn't mix this role with the Front End Developer.

The first step would be, which is not that much related to development itself, to be aware of how the web actually works, meaning that you should learn the Client-Server architecture and the way how the client and the server communicate. It's extremely important for you to differentiate the client from the server, request from the response and things like that.

c-s

On the other hand, for a web developer these days, it's essential to know JavaScript, HTML, and CSS. So, my advice would be to continue your journey there, from the good old trio.

Start with the HTML, then learn CSS selectors and how to style the document, and afterward go for JavaScript and dynamic DOM manipulation. Check out this post after you're done reading here. A great source with a lot of documentation is the official MDN website.

For the server-side, I would recommend .NET and C# since the syntax is similar to JavaScript (TypeScript especially, but don't worry about this now), therefore, you will not write your server-side code in a totally different way. If you choose PHP, for example, it will look and feel totally different. Also, Node.js plays a significant role in web development these days, so the knowledge about it and the ecosystem around it is a big, if not the biggest, plus. It all depends on the app you are developing. Complex applications, like enterprise-level, would have a really hard time operating only based on JavaScript.

Of course, some basic programming knowledge is required. You need to be familiar with concepts like iterations, sequences, conditionals...No one will care if you know who invented the programming and who created React, and yet you don't know to write a for loop. So focus on practical knowledge. If you learn something the practical way, the theory will be easier to understand later on.

webdev

Differentiating the primitive data types like string, int, boolean...is also required. After mastering those, array and list manipulation would be the next step and after, you can start thinking the OOP (Object Oriented Programming) way.

OOP changes your way of thinking, and you are shifting on the question What instead of How, you stop writing conditionals and start using polymorphism and inheritance, but you shouldn't worry about this right now. It's the next level of you as a developer.

After completing all the above you can start thinking about the frameworks and libraries. I would recommend Vue since, in my opinion, it's the easiest one to learn by someone who is a beginner. But don't be mistaken, if it's easy to learn, it doesn't mean that it's less powerful and featureless comparing with React or Angular.

I would not recommend Angular since it's based on TypeScript and you shouldn't learn it before you learn JavaScript. TypeScript is a programming language, a superset of JavaScript which enforces the static typing. You can leave it for the very end of your learning journey.

Regarding IDEs (software to use to develop your app), I would recommend Visual Studio CODE.

So, your milestones would be something like:

  • HTML
  • CSS
  • Basic programming course (variables, methods, classes, arguments, parameters...)
  • JavaScript
  • Node.js, C#
  • Vue
  • TypeScript
  • Practice all above (a lot) in Visual Studio CODE

After your for loop of the above stuff ends, you can start learning some advanced concepts like OOP, SOLID principles and functional programming.

Conclusion

Web development is growing in popularity at a high rate, and I think we can thank the ecosystem built around JavaScript for that. So, if you stick to it, your career as a web developer will flourish, no doubt.

If you liked this post, support me with a cup of coffee, and to stay tuned, subscribe here or follow me on twitter.

Thank you for reading and see you in the next post.