Web development is one of the simplest and therefore popular direction among beginner programmers. In order to start working you just need any text editor and browser. You do not have to learn algorithms at an advanced level; there are many benefits. The key skill in web development is the knowledge of JavaScript.

Now JavaScript is developing very fast, and therefore it’s easy to get confused when learning a language. We offer you a curriculum with a convenient structure that covers all the necessary aspects of JavaScript and related technologies.

Why JavaScript?

First of all, you need to assess your level of knowledge and determine whether JavaScript suits you. It is possible to find through Web and pass a special test that can assess your potential in web development.

It is worth noting the openness of the language — companies that usually compete with each other, cooperate with the goal of developing JavaScript. The language is very flexible and will suit supporters of both the object-oriented and functional approach. A huge number of libraries and frameworks allows you to easily solve any tasks, and the server platform Node.js allows you to use the language not only in the browser, but also in the console. You can even write desktop and mobile applications: former using the framework Electron; latter using NativeScript or React Native.


First, you need to learn the basic concepts of JavaScript, web development and programming in general:

  • object-oriented JS constructors and factories, inheritance;
  • functional JS functions of higher order, closures, recursion;
  • jasmine test specifications;
  • the basics of HTML, CSS and jQuery.


Git is a tool that developers need, so you should get to know it as early as possible. Here are the basic skills that you should have:

  • creating and moving files in directories;
  • initialization and commits in Git;
  • setting up repositories in GitHub.

Algorithms and data structures

Then it is worthwhile to study algorithms (in particular, the notion of complexity of algorithms), as well as basic data structures: linked lists, queues, stacks, binary search trees and hash tables.



10 years ago, developers used JavaScript for front-end development. Node.js expands the boundaries of JS. Node is just an environment for running JS code on the server side, so you do not have to learn the new syntax, but you’ll need to import and export files, break the code into modules, and use the npm package manager.

Servers, HTTP, Express.js

After studying Node it is worth continuing to get acquainted with back-end development and understand servers and routing. You can start with ports and protocols with an emphasis on HTTP, and then learn Express – Node library to handle requests.

Asynchronous JavaScript

Asynchrony is one of the distinctive features of JavaScript, although it creates a kind of split among developers: some like it, and some – hate it. You should understand the pros and cons of this technology. Start with the call stack, event loop and callbacks, and then go on to learn promises.

Databases, Schemas, Models and ORM

Database is one of the most important elements of web development. If your application needs to download or store any data that is not lost when updating the page, you will have to use the database. You need to learn to distinguish between relational and non-relational databases and understand the types of links. Then study SQL and get to know different database management systems. Moreover, ability to work with ORM will only benefit you as well.



HTML and CSS are the foundation for any web developer. You do not need to know them perfectly, but you have to understand them. You can also learn some popular library (for example, Bootstrap) and a CSS preprocessor like Sass – it will help make CSS look like regular code. To simplify the work with HTML, you can choose one of the popular templating tools, for example, pug.

jQuery and DOM manipulation

By creating the appearance of the page with HTML and CSS, you will use event translators and the jQuery library to manage the DOM. Many people think that jQuery is useless and will soon be replaced by Angular and React, but it’s insanely popular, and so it’s worth knowing.

Chrome Developer Tools

It would be unforgivable to disregard the tools of Chrome, which give a huge number of opportunities. With them, you can learn DOM elements, debug through the console, track routes and much more.


If you want the application not to reload the pages after each operation with the database, you will definitely need AJAX – it sends background asynchronous HTTP requests, the answers to which are updated only part of the display. You can work with AJAX through jQuery using the .ajax method.

ES6, Babel, Webpack

Now the main standard is ES6 (ES2015), but ES2016 is already adopted, and ES2017 is under development, so you should always be aware of updates and use them. Compatibility issues are solved with just a couple of tools:

  • Babel – compiles ES6-code (soon will support ES2016) in ES5, which is supported by all browsers. It even knows how to compile JSX / React-components, which makes it irreplaceable for any web developer;
  • Webpack – collects all your source files (images, fonts, style sheets, JS files, etc.) into a single dependency graph. It does not come in handy when creating small applications, but when working with React, its help is invaluable.

Authentication, sessions, cookies

You also need to understand how applications interact with users, process login and logout. To monitor the identity of the user during the session, cookies are used – small text files sent by the server to the browser in response to the HTTP request. And to provide communication database and authorization pages, you can use the library express-session.

Web Security

And, finally, it is worth paying attention to security. It is important to learn both attack methods and how to protect against them.