Code

What you need to know about the web developer profession

Who is a web developer and what do they really do?

What Does a Web Developer Do?

A web developer, also known as a web developer, creates websites and web applications. He or she provides their support, optimization, searches for them, and fixes errors in the code. A web developer works closely with designers, but is responsible not so much for the resource's appearance as for its correct display in the browser, as for the operation of buttons and functions.

A modern website is no longer a static page, as it was in the 90s. Even a small online application consists of dozens of modules that are coded using different technologies and tools. A team of programmers works on a single website, even a relatively simple one. Therefore, web developer is a general title that combines several specializations: Frontend, Backend, and Full Stack.

Web developer:

  • Writes code for the client-side portion of the website, which visitors interact with;
  • Does layout — creates the website framework and customizes its style;
  • Adds animation and interactive features to the website: from order forms to complex editors for editing audio and video;
  • Configures the server, connects libraries and databases;
  • Tests the website, optimizes the code, fixes errors;
  • searches for vulnerabilities, ensures protection of databases and executable code from hacking, DDoS attacks and viruses.

Some job postings for web developers specify knowledge of WordPress, Joomla, Drupal and other CMS (edit: content management systems). But usually, such systems are used by website designers in small web studios, who, using the built-in visual designer, assemble relatively simple business card websites with basic information about the company, Landing Pages (edit: one-page advertising website), blogs and online stores with 20-30 products and a simplified order form.

In the generally accepted understanding, a web developer does not use ready-made templates in a visual designer, but writes code from scratch. This is a programmer who works with complex multi-level websites and can implement unconventional ideas.

Learn how to layout websites in HTML and CSS on the course Web Developer from scratch to PRO

Learn more

About web development directions

Now we will take a closer look at each area of ​​web development and tell you what frontend, backend, and fullstack developers do.

Frontend Developer

Develops and customizes the interface. The visible part of the site with buttons, animation, images, text, a search or order form - this is the frontend.

A frontend developer transforms a mockup into a working website, ensures that all controls function correctly, customizes the layout, and ensures that the web page displays beautifully in browsers on different devices. They typically use a limited set of technologies: HTML, CSS, and JavaScript.

Backend Developer

At first glance, it may seem that the work of a backend developer is less visible, but this is not the case. A backend developer configures a server that processes user requests and provides information through the interface of a web application or website. If a problem occurs on the backend, the entire service crashes, becoming unresponsive or returning a 502 error.

While a front-end developer's main task is to customize the site's visual appearance, a back-end developer is responsible for the site's proper functioning, including security, data exchange between different servers, database connections, and fast loading.

When coding, this developer is not tied to a programming language. The back-end can be written in PHP, Python, Java, C#, JavaScrypy, Ruby, C++, Go, and other languages.

Fullstack-developer

This is a universal developer who can single-handedly assemble and configure a turnkey website. He is proficient in the full stack of technologies needed for frontend and backend development.

Full-stack programmers are in demand in the labor market due to their versatility. But given that they have to learn everything at once, it is difficult to gain a deeper understanding of individual technologies. Therefore, programmers with a narrow specialization are attracted to the development of complex projects. A team working on a project may include a frontend developer who writes code only in JS, a layout designer responsible for HTML and CSS, several backend developers using PHP and Java, and a tester.

Soft and hard skills

Employers may have different requirements for developers. Some are looking for frontend or backend programmers — narrow specialists who have mastered a specific set of tools. Others are looking for full-stack developers — unique professionals who can correct server code, independently find out the client's opinion, and take on some of the designer's tasks.

General requirements include soft skills and knowledge of English. It is assumed that each developer should understand the language well enough to read documentation and instructions. They should be able to freely work in an application with an English interface without having to consult a translator for every question. In some teams, the developer collaborates with foreign colleagues or communicates with clients in English on a regular basis.

The Skillbox.by editorial team has identified soft skills that are suitable for different areas of web development, and hard skills for each developer individually.

Web Developer. Soft Skills

  • Time Management. Considering the irregular schedule, you cannot do without the ability to plan work. This skill is especially important when working in a team, where even a small delay significantly slows down the work on the project.
  • Communication skills.This skill will be useful for communicating with the client and team members. You need to be able to ask the right questions, exchange thoughts, and give feedback.
  • Proactivity and desire to learn. Even mid- and senior-level specialists benefit from communicating with colleagues, exchanging ideas, and filling in gaps in their technology knowledge. And for a junior, this is a prerequisite for career development.
  • The ability to concentrate and be attentive.This skill is essential for all programmers. One extra or missing comma, an unclosed parenthesis, and hundreds of lines of code will not work.
  • Algorithmic thinking. You need to be able to break a task down into separate parts. This helps when working on large projects, especially at the planning stage.

Frontend Developer. Hard Skills

A frontend developer's basic toolkit consists of HTML (hypertext markup language), CSS (style sheets), and JavaScript (JS). A developer uses HTML and CSS to lay out a page. This allows them to create a website framework, install fonts and styles, and adapt the website for mobile and desktop screens. JS is the only programming language supported by browsers. Visual effects, controls, and embedded web applications, from calculators to video players, are written in it.

However, developing complex services using basic tools is time-consuming and difficult. It's like assembling a car not on an automated production line from prefabricated parts, but instead making each part by hand with a lathe, screwdriver, and hammer. Therefore, to speed up the process, developers use additional tools:

  • Frameworks and function libraries: Angular, Vue, React, JQuery. This is a working environment with ready-made function templates that can be added to the project in a few clicks.
  • CSS preprocessors, postprocessors, and frameworks: SCSS/SASS, PostCSS, Less, Bootstrap. They simplify working with cascading tables and provide flexibility in customizing styles.
  • NPM package manager.Allows you to quickly load JS libraries and applications.
  • Git version control system.
  • Project collector (bundler). Assembles a project from separate parts: compresses and combines files, optimizes image resolution, automates the connection of external modules and libraries. Popular builders: gulp.js, Parsel, Webpack.
  • Features of cross-browser and cross-platform website layout.You need to understand how HTTP protocols work.
  • As a bonus: ability to work with graphic editors.For example, Figma, Photoshop. Although creating a visual layout is the designer's job, a programmer sometimes has to export and import images, resize them, and cut out individual elements.

Backend Developer. Hard Skills

A backend developer is not strictly tied to any specific technology. To write the server side, specialists can use different programming languages: PHP, Python, Ruby, Perl, Java, JavaScript, C#, Go, Cotlin, Rust. Such a developer should be able to use tools that automate code writing:

  • Frameworks and libraries:Django for Python, ASP.NET for C#, Symfony, Laravel, Yii2 for PHP, Ruby on Rails for Ruby, Node.js for JavaScript.
  • The Git version control system and package managers, which are necessary for quickly adding libraries and modules. For example, pip for Python, RubyGems for Ruby, Composer for PHP.

A back-end developer is responsible for configuring the server, properly handling requests, and securing the site. Therefore, they must understand:

  • how to troubleshoot common problems;
  • Features of server configuration: Apache, NGINX, IIS;
  • Principles of working with databases and the SQL query language;
  • Fundamentals of network security and data protection;

Fullstack Developer. Hard Skills

A full-stack developer must have skills in both backend and frontend development. Typically, companies indicate the following requirements in job postings:

  • Knowledge of JavaScript and Python (or C#, Ruby, PHP, Java);
  • Layout skills: HTML+CSS;
  • Knowledge of the main frameworks: Django, ASP.NET, Node.JS — for the backend, Angular, Vue, React — for the frontend;
  • Ability to work with databases and the SQL query language;
  • Ability to configure servers, understanding of security basics;
  • Understanding the principles of design.

How to Become a Web Developer

To become a web programmer, you can start by studying at a university, taking distance learning courses, or relying on yourself. Let's look at each of the paths in more detail.

When choosing a university, we recommend paying attention to the following IT specialties: "Applied Mathematics and Computer Science", "Mathematics and Information Technology", "Automation and Computer-Integrated Technologies", "Software Engineering", "Information Systems and Technology", "Computer Science and Programming Technologies", etc. But this is not the most important thing; when choosing a particular university, you need to pay attention to the relevance of the curricula - somewhere they may be outdated, vague and not systematized.

Distance learning will help you save time on learning. When choosing courses, we recommend paying attention to the relevance of the programs, the ability to build a portfolio, the availability of feedback, homework checks, and job placement assistance.

Mastering a full stack of technologies on your own is quite difficult. Without a personal mentor and hands-on experience on real projects, you can reach the level of small stores and business cards, which is possible even without coding skills using construction kits.

It is better to start getting acquainted with the profession by studying markup and JavaScript along with popular libraries and frameworks. JS is a versatile and relatively easy-to-learn language suitable for both backend and frontend developers.

Useful resources:

  • learn.javascript.ru - online textbook on JavaScript.
  • GoogleDevelopers is a YouTube channel that regularly features master classes and lectures from practicing developers.
  • FreeCodeCamp is a non-profit project with educational materials on JS, CSS, HTML, and website building in general.
  • Mozilla Developer Network — A library of documents and training materials from Mozilla.
  • metanit.com — Here you will find tutorials and documentation on various programming languages, including PHP, JS, SQL, Go, C#.

References:

  • David McFarland, "The New Big Book of CSS."
  • Steve McConnell, "Code Complete."
  • Robert Martin, "Clean Code."
  • Kuznetsov Maxim "PHP Self-Study Guide".
  • Jess Garrett "User-Centered Web Design".
  • Vladimir Dronov "JavaScript and Node.js for Web Developers".

On the Prospects of the Profession

Online banking, marketplaces AliExpress, Amazon, Wildberries, video hosting YouTube and TikTok, photo stocks Shootterstok and PixaBay, social networks, online photo editors, Google Maps, online services for ordering food or calling a taxi, Educational platforms like Skillbox.by… These are full-fledged web applications that can't be assembled from ready-made blocks in the Joomla builder. And it is web developers who create such projects. They are driving the digital economy, which is worth tens of trillions of dollars and accounts for a significant share of the GDP of the US, the EU, and China.

The web development segment is growing on average twice as fast as other IT sectors. And the beauty is that you can work remotely from any country for a foreign company. According to Plerdy, the average annual salary in the US varies by region from $44,000 to $75,000 (from $3,670 to $6,250 per month).

At the same time, the pandemic has accelerated the digitalization of the economy. Users have become accustomed to using online services; even after the quarantine has been lifted, they actively order not only clothes and gadgets online, but also regular groceries from the supermarket, buy movies on Netflix, and listen to music on Spotify. Therefore, it is safe to say that the profession remains relevant – in recent years, there has been an increased demand for web developers.