Start Here

Where to start? What to learn? What are the modern tools? When can you say you are a web developer?

Pillars of Web

To be a web developer you must know three things: HTML, CSS, and Javascript. If you do not know either of them, you better get your schedule ready to learn them as soon as possible. I will only discuss a little about them here. It will not help you to learn these three pillars of web development, but only let you know what is there to know about them and where to know them. To learn anything new, you must practice using them. The more you practice, better you get at using them.

Secret sauces

Although a website only has HTML, CSS and Javascript, the web development is not possible with just these three. You can imagine them like the bottom most layer of web development. They are just like machine codes.

Above the machine codes of modern webs, lies Frameworks. For example, Vue, React, Angular etc. Learning any of these frameworks will enable you to build and manage a much more complex and robust websites. These frameworks can generate optimized and minified HTML and Javascript files that will load faster and perform better than raw ones. Also they let you focus on your task instead of trying to reinvent the wheels on every step. It is smarter to use frameworks.

Two sides of a coin

Web development two sides: front-end and back-end. Usually we refer front-end as what the users will see in their browser. That mean HTML, CSS, Javascript, images, fonts and other assets. This also includes the framework used to generate them. The back-end is where the data comes from. Database access, API etc are part of the back-end.

There are a lot of frameworks for backend essentially in every well-known programming language. Here goes a list of them:

  • Spring Boot (Java/Kotlin)

  • Laravel (PHP)

  • Express (Javascript)

  • Django (Python)

  • Rails (Ruby)

  • Phoenix (Elixir)

  • ASP.NET (C#)

In fact there are so many backend frameworks, you might feel a headache to choose the best one for you. If you have prior experience, you may know that these frameworks can be used not only for accessing database and providing API, but also serving web-pages. Full-stack is the term that combines both front-end and back-end together.

Separate the concerns!

Although it is very possible to serve front-end and back-end from the same server and same codebase using a full-stack framework, it is not a good practice. If you are working on a team, the task of development becomes far easier and faster if you split the team into two sections for front-end and back-end.

Separating them also comes with more benefits, like-

  • You can use different frameworks and languages for different modules. It becomes possible to work together in same web-app even if you have different set of skills.

  • If something went wrong, it is easier to find which module to fix.

  • Changing one module will not affect the other one. It makes troubleshooting faster and increase maintainability.

  • You can host the modules separately, e.g. back-end in a powerful server, and the front-end in a less powerful one. Also you can host duplicates so that If one is down, you can redirect traffic to the other one.

The concept of separating the concern is formerly called Microservices.

Give it a poke

All developers in the world nowadays knows one thing for sure. That is even if it seems very unnecessary and cumbersome, writing tests is never wasted. You should always write tests for what you develop. And it is especially true for the back-end development.

Both front-end and back-end frameworks of today has variety of ways to write tests. Writing tests usually require double or triple the time of actual development. But they will save a lot of time in the future.

Scrum it

From wikipedia:

Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.

Web development is one type of software development. You must follow the process of software development to declare that what you are doing is web development. The process of developing a software is discussed in Software Engineering discipline.

As of today, the most popular and heavily used software development strategy is Scrum framework. It proposes a workflow to follow while developing an web-app. This method consists of small units called Sprint cycle. In short it says that you should split the features you want to put into a web app and assign separate sprint cycle for them. How to split features depends entirely up to your team.

Usually, for one or two man army, people tends to ignore specifics of a development framework. But even if it is a very minimized version, you should at least follow a strategy for your development.

Feeling well?

Now that you know what is ahead of you in the road to becoming a good web developer, are you feeling well? There are a lot more to learn than you had to in 10 years ago. But once you get started, it will not take much time to become a good web developer. All you need is to be patience and keep on holding.

I like to keep everything short and simple. I will explain everything I mentioned here briefly in the next chapters.

Last updated