What is a web developer? Does not use browser capability detection. Its design is not responsive

  • Translation
  • Tutorial

The road is long and difficult, but interesting and useful!

The article was intended as practical guide for those who want to become a professional web developer. I've been writing web code for over 20 years. I work with and help web developers every day. In this article, I'll describe what you need to learn, when you need to learn it, and where to get the information (most often, even for free). Then I will give advice on how to get real experience, and most importantly, getting money for writing code.

There are many links to free and important resources. For simplicity, I have collected them in PDF and divided them into categories. I am not paid for mentioning sites to which I have provided links - I just want to recommend you best resources to help you achieve your goal.

Things to remember:

1. You are allowed to scroll through the article

The guide can help you no matter where you are on the road to professional development. Scroll to the title that best describes your current situation and read from there. If you have just started this path, or are still thinking about it, follow the advice of the King from “Alice in Wonderland”:

Start at the beginning, and continue until you reach the end; and stop there already.

2. Try a little of everything, then choose a specialization.

Money is not the most important thing. You need to LOVE what you do! But you won't know what you like until you try it.


Find your passion, then monetize it

The guide will help you become familiar with as many big amount areas of web development as quickly as possible. And then he will help you choose a specialization in the area that you like. You won't achieve perfection in anything at first - you will learn the basics and then continue to study. Find your passion and I will show you how to move forward.

I decided to write code. I like the web. I don't know where to start


You will succeed!

Congratulations! This is a big first step and the start of something very exciting. But it can also be very difficult. Don't worry, I'll help.

First, you need to quickly become familiar with the basics of all areas of web development (“full cycle”). The training will be varied, but shallow. This is to find a field that you enjoy and also to acquire basic skills in different areas. Then you will be able to understand and work with large set tasks, regardless of what you choose.

Learn the basics of HTML

Hypertext Markup Language Markup Language(HTML), controls the content and layout of what you see in the browser. Once you start there, you have a user interface that you can interact with and see the results of your code. As you learn more complex languages, its importance will increase. You don't have to code blindly.

Here's what you need to learn about HTML:

I already know the basics of HTML

Cool! This is very important step. Now explore JavaScript basics.

Learn JavaScript Basics

JavaScript is the language of the web, and all major browsers (Chrome, Firefox, Safari, IE, many others) support it. Every site, every web application you've used, most likely contains great amount JS code. Not to mention the fact that the language is gaining popularity on other platforms - servers, desktop computers, Other devices.

For now, you need the basics, and the following resources are good for that:

I know the basics of JavaScript and HTML

Amazing! Now let's add CSS to your skills

Learn CSS

CSS, or Cascading Style Sheets (cascading style sheets). Used for setting appearance HTML elements On the page. Check out Mozilla's free tutorial, then check out CSS-Tricks to solve the most common problems. complex problems(there is a search at the top right).

Let's move on to the backend

So far, we have looked at what is called the “front end” of web development. You have become familiar with the main languages ​​running in the browser. It's time to move on to the backend - the code running on the server. Don't worry, you won't need a server - your computer will handle it.

There are a ton of backend languages, but since you're familiar with JavaScript, I'd recommend learning to use Node.js. It allows you to run JS code on the server rather than in the browser.

In addition to this, you need to learn Express and MongoDB.

Express
This is a library with which Node.JS can work as a web server (listen to requests from pages and send them responses).
MongoDB
It is a database that allows you to store and retrieve information.

You can study these three topics thanks to the following excellent and free educational material, and its continuation.

I need to choose between frontend, backend and full cycle development

Once you've tried both development options, it's time to make a choice. If you haven’t had time to try them, refer to the previous section of the article to fill in the gaps in your knowledge.

At this point, you've written two types of code. One is for user interaction, the other is for data. What do you prefer?

User interaction? Congratulations, you are a front-end developer!

Interaction with data? Congratulations, you are a backend developer!

Both? Congratulations, you are a full-stack developer!

Didn't like anything? Congratulations, web development is not for you. Be glad that you figured it out now and didn't waste a ton of time and money. Not ready to give up? Maybe you didn't come across a language that you liked? Try learning other languages ​​in the "I want to be a backend developer" section.

I want to be a full-stack developer

Cool. You need to read all the contents of the “I want to be a backend developer” and “I want to be a frontend developer” sections.

I want to be a front-end developer and I know the basics of JavaScript, HTML and CSS

For efficient work As a front-end developer, you need to be proficient in HTML, CSS, and client-side JavaScript. You will also need to have a good understanding of several important frameworks. You'll gain the skills that employers and clients expect to find in front-end developers.

By now you should already know HTML basics. Otherwise, go back to the Learn HTML Basics section.

Learn intermediate and advanced HTML
Check out the intermediate HTML tutorial and then the advanced HTML tutorial.
Learn advanced client-side JavaScript


An excellent series of books on JS, and it's free

To improve your JavaScript proficiency, I recommend the You Don't Know JS book series by Kyle Simpson. The author has posted the entire series online for free:

In addition, your best friend JavaScript should also become MDN.

[Also, an excellent translation of the excellent book “Expressive JavaScript” is available to you completely free of charge.]

Knowing the “front-end trinity”, HTML, CSS and JavaScript is, of course, great. But to make money, you will have to get acquainted with some frameworks.

Learn jQuery
It is the most popular JS library of all time. Although some new frameworks have made jQuery less important, if you're looking for a job, there's a good chance jQuery will be on job descriptions (and mentioned in interviews) for many years to come.

I recommend learning jQuery using FreeCodeCamp materials - it’s fast and effective method. After that, go to the official training site - there you will find additional instructions.

Learn a popular JS framework
Frameworks make working with a particular language or technology easier because they solve biggest problems existing for the selected technology. JavaScript has had a very beneficial effect on the development and popularization of frameworks.

Almost once a week a new framework appears, which is tipped to take the place of a new development standard. You'll need to scour job sites and do a fair bit of Googling to figure out which framework is popular in your market. I also recommend Hacker News' tool for assessing job market trends.

At the time of writing this article, the following frameworks were popular:

Having chosen the most suitable framework and thoroughly familiarized yourself with it, it is worth studying the CSS framework that comes with it. The two biggest players in this market today are Bootstrap and Material Design.

Bootstrap
Bootstrap was made by Twitter developers, and it is already quite mature and popular. Bootstrap versions exist for Angular, Angular 2 and React.
Material
Material is a set of design rules developed at Google. It is gaining popularity and there are versions for Angular and React. Since Angular is also a brainchild of Google, Material fits perfectly with it.

Here are some links for you:

Congratulations! You have key front-end developer skills!


Just look at him!

I want to be a backend developer

Wonderful! The first step is choosing a language. There are many languages ​​available for working with the backend, and each has its own advantages and disadvantages. Check out the table of programming languages ​​sorted by popularity. All of them have been in the top ten for ten years. Those marked in green are web languages ​​that have been gaining popularity over the years.


TIOBE Index of Programming Languages, www.tiobe.com/tiobe_index?page=index

Concentrate on the languages ​​whose names I have circled in green. If you don't know them, start at the top of the table and work your way down. Stop when you find something you like and dig deep!

If you are familiar with one of the marked green languages, and you like it - concentrate on it.

Improve your interview skills
You need to prepare for more than just writing code. A good article from Life Hacker describes a lot of useful and valuable information.
The main thing is to gain a foothold in the market
Don't worry too much about getting your dream job with your dream employer with your dream salary. First, just get a job where you write code for money. Once you gain more experience, you can plan your next step.
I want to be a freelancer
Being your own boss is a good thing, but it also comes with enormous pressure and great difficulties. Best source information on freelancing from all that I have seen - DoubleYourFreelancing.com. He has a series of articles that will help you become a better freelancer than I ever could. Read.

Another option, if you are confident in yourself, is the Toptal service. They only accept 3% of all applicants, and the process is very complicated, but if you get in, you'll have access to well-paying jobs that you can work on remotely.

I started work but feel like I'm at a dead end
Understand. It's not easy, and if anyone told you otherwise, they either didn't do it or are trying to scam you out of money. If you feel stuck, try these options:
Refresh Your Original Intent
Ask yourself, write down on paper why you decided to follow this path. Is your answer still valid? If yes, then why stop? Forward!

This profession is familiar to many people. It cannot be said that everyone knows and correctly understands the essence of this profession, but at least all computer users have heard about it. I would like to immediately note that this is a very complex and painstaking work that not everyone can master.

A web developer is a programmer who creates websites or web applications. In order to work in this specialty, it is not enough to obtain higher education, you need to regularly develop yourself and communicate with people of the same profile.

Despite the fact that this profession is involved exclusively in information technology, it is purely creative. A person who wants to work in this profession must have qualities such as perseverance, responsibility, creative thinking, etc.

On this moment, the employment portal Trud.com, has posted on its pages more than 1,000 current vacancies for web developers in Moscow. The salary of such a specialist always depends on the complexity of the work. On the graph we can see the change in average wages over the past 12 months.

This profession is the highest paid in Moscow. Salaries in other cities are not much different.

Finding a job as a web developer in Moscow - only with Trud.com

Even having your own permanent job, people are thinking about changing it. Some are not satisfied with the work schedule or working conditions, others dream of changing their field of activity, etc. It doesn't matter what goal you are pursuing or what prompted you to do it. Trud.com will help you in any situation.

Trud.com is a job site that provides job seekers with the latest job openings. In addition, on the site you will find interesting articles, instructive tips and recommendations.

The website Trud.com operates search system, which includes side speakers, additional filters and rubricators. Using these functions, you will quickly select and get acquainted with the vacancies that best suit your criteria.

Trud.com regularly works to improve the functioning of the portal, new sections are opened, interesting and helpful information. We are trying for you!

  • Translation
  • Tutorial

The road is long and difficult, but interesting and useful!

The article was intended as a practical guide for those wishing to become a professional web developer. I've been writing web code for over 20 years. I work with and help web developers every day. In this article, I'll describe what you need to learn, when you need to learn it, and where to get the information (most often, even for free). Then I'll give advice on getting real-world experience, and most importantly, getting paid to write code.

There are many links to free and important resources scattered throughout the article. For simplicity, I have collected them in PDF and divided them into categories. I am not paid to mention the sites I link to - I just want to recommend the best resources to help you achieve your goal.

Things to remember:

1. You are allowed to scroll through the article

The guide can help you no matter where you are on the road to professional development. Scroll to the title that best describes your current situation and read from there. If you have just started this path, or are still thinking about it, follow the advice of the King from “Alice in Wonderland”:

Start at the beginning, and continue until you reach the end; and stop there already.

2. Try a little of everything, then choose a specialization.

Money is not the most important thing. You need to LOVE what you do! But you won't know what you like until you try it.


Find your passion, then monetize it

The guide will help you become familiar with as many areas of web development as quickly as possible. And then he will help you choose a specialization in the area that you like. You won't become perfect at anything at first - you will learn the basics and then continue learning. Find your passion and I will show you how to move forward.

I decided to write code. I like the web. I don't know where to start


You will succeed!

Congratulations! This is a big first step and the start of something very exciting. But it can also be very difficult. Don't worry, I'll help.

First, you need to quickly become familiar with the basics of all areas of web development (“full cycle”). The training will be varied, but shallow. This is to find a field that you enjoy and also to gain basic skills in different fields. Then you will be able to understand and work with a large set of problems, regardless of what you choose.

Learn the basics of HTML

Hypertext Markup Language (HTML) controls the content and layout of what you see in the browser. Once you start there, you have a user interface that you can interact with and see the results of your code. As you learn more complex languages, its importance will increase. You don't have to code blindly.

Here's what you need to learn about HTML:

I already know the basics of HTML

Cool! This is a very important step. Now learn the basics of JavaScript.

Learn JavaScript Basics

JavaScript is the language of the web, and all major browsers (Chrome, Firefox, Safari, IE, many others) support it. Every site, every web application you've used, most likely contains a huge amount of JS code. Not to mention the fact that the language is gaining popularity on other platforms - servers, desktop computers, and other devices.

For now, you need the basics, and the following resources are good for that:

I know the basics of JavaScript and HTML

Amazing! Now let's add CSS to your skills

Learn CSS

CSS, or Cascading Style Sheets (cascading style sheets). Used to customize the appearance of HTML elements on the page. Check out Mozilla's free tutorial, then check out CSS-Tricks for your toughest problems (search at top right).

Let's move on to the backend

So far, we have looked at what is called the “front end” of web development. You have become familiar with the main languages ​​running in the browser. It's time to move on to the backend - the code running on the server. Don't worry, you won't need a server - your computer will handle it.

There are a ton of backend languages, but since you're familiar with JavaScript, I'd recommend learning to use Node.js. It allows you to run JS code on the server rather than in the browser.

In addition to this, you need to learn Express and MongoDB.

Express
This is a library with which Node.JS can work as a web server (listen to requests from pages and send them responses).
MongoDB
It is a database that allows you to store and retrieve information.

You can study these three topics thanks to the following excellent and free educational material, and its continuation.

I need to choose between frontend, backend and full cycle development

Once you've tried both development options, it's time to make a choice. If you haven’t had time to try them, refer to the previous section of the article to fill in the gaps in your knowledge.

At this point, you've written two types of code. One is for user interaction, the other is for data. What do you prefer?

User interaction? Congratulations, you are a front-end developer!

Interaction with data? Congratulations, you are a backend developer!

Both? Congratulations, you are a full-stack developer!

Didn't like anything? Congratulations, web development is not for you. Be glad that you figured it out now and didn't waste a ton of time and money. Not ready to give up? Maybe you didn't come across a language that you liked? Try learning other languages ​​in the "I want to be a backend developer" section.

I want to be a full-stack developer

Cool. You need to read all the contents of the “I want to be a backend developer” and “I want to be a frontend developer” sections.

I want to be a front-end developer and I know the basics of JavaScript, HTML and CSS

To work effectively as a front-end developer, you need to be fluent in HTML, CSS, and client-side JavaScript. You will also need to have a good understanding of several important frameworks. You'll gain the skills that employers and clients expect to find in front-end developers.

By now you should already know the basics of HTML. Otherwise, go back to the Learn HTML Basics section.

Learn intermediate and advanced HTML
Check out the intermediate HTML tutorial and then the advanced HTML tutorial.
Learn advanced client-side JavaScript


An excellent series of books on JS, and it's free

To improve your JavaScript proficiency, I recommend the You Don't Know JS book series by Kyle Simpson. The author has posted the entire series online for free:

Additionally, MDN JavaScript should also be your best friend.

[Also, an excellent translation of the excellent book “” is also available to you completely free of charge.]

Knowing the “front-end trinity”, HTML, CSS and JavaScript is, of course, great. But to make money, you will have to get acquainted with some frameworks.

Learn jQuery
It is the most popular JS library of all time. Although some new frameworks have made jQuery less important, if you're looking for a job, there's a good chance jQuery will be on job descriptions (and mentioned in interviews) for many years to come.

I recommend learning jQuery using FreeCodeCamp materials - it is a fast and effective method. After that, go to the official training site - there you will find additional instructions.

Learn a popular JS framework
Frameworks make working with a particular language or technology easier because they solve the biggest problems that the chosen technology has. JavaScript has had a very beneficial effect on the development and popularization of frameworks.

Almost once a week a new framework appears, which is tipped to take the place of a new development standard. You'll need to scour job sites and do a fair bit of Googling to figure out which framework is popular in your market. I also recommend Hacker News' tool for assessing job market trends.

At the time of writing this article, the following frameworks were popular:

Having chosen the most suitable framework and thoroughly familiarized yourself with it, it is worth studying the CSS framework that comes with it. The two biggest players in this market today are Bootstrap and Material Design.

Bootstrap
Bootstrap was made by Twitter developers, and it is already quite mature and popular. Bootstrap versions exist for Angular, Angular 2 and React.
Material
Material is a set of design rules developed at Google. It is gaining popularity and there are versions for Angular and React. Since Angular is also a brainchild of Google, Material fits perfectly with it.

Here are some links for you:

Congratulations! You have key front-end developer skills!


Just look at him!

I want to be a backend developer

Wonderful! The first step is choosing a language. There are many languages ​​available for working with the backend, and each has its own advantages and disadvantages. Check out the table of programming languages ​​sorted by popularity. All of them have been in the top ten for ten years. Those marked in green are web languages ​​that have been gaining popularity over the years.


TIOBE Index of Programming Languages, www.tiobe.com/tiobe_index?page=index

Concentrate on the languages ​​whose names I have circled in green. If you don't know them, start at the top of the table and work your way down. Stop when you find something you like and dig deep!

If you are familiar with one of the languages ​​marked in green and you like it, concentrate on it.

Improve your interview skills
You need to prepare for more than just writing code. A good article from Life Hacker describes a lot of useful and valuable information.
The main thing is to gain a foothold in the market
Don't worry too much about getting your dream job with your dream employer with your dream salary. First, just get a job where you write code for money. Once you gain more experience, you can plan your next step.
I want to be a freelancer
Being your own boss is good, but it also comes with enormous pressure and great difficulties. The best source of freelancing information I've seen is DoubleYourFreelancing.com. He has a series of articles that will help you become a better freelancer than I ever could. Read.

Another option, if you are confident in yourself, is the Toptal service. They only accept 3% of all applicants, and the process is very complicated, but if you get in, you'll have access to well-paying jobs that you can work on remotely.

I started work but feel like I'm at a dead end
Understand. It's not easy, and if anyone told you otherwise, they either didn't do it or are trying to scam you out of money. If you feel stuck, try these options:
Refresh Your Original Intent
Ask yourself, write down on paper why you decided to follow this path. Is your answer still valid? If yes, then why stop? Forward!

Web programmer - specialist in the field computer technology, namely web programming. Designed to bring web designers' projects to life, creating a functioning website. A programmer is not a profession, but a calling.

Web programmer- specialist in the field of computer technology, namely web programming. Designed to bring web designers' projects to life, creating a functioning website. The profession is suitable for those who are interested in computer science (see choosing a profession based on interest in school subjects).

He must know HTML, JAVA, JAVAScript, PHP, CGI, Perl, and have experience working with web development tools such as Dreamweaver, Flash and ColdFusion. These languages ​​and programs expand the capabilities of sites and help add variety: animation elements, sound, interactive games, online questionnaires and online trading functions.

The work of a web programmer is directly related to global network Internet. Such a specialist creates programs that can function within its boundaries. Without his participation, not a single Internet project will work. Web programmers create dynamic pages, write interfaces to databases, compose technical specifications projects. If, for example, websites are houses, then web programmers are architects who think in new, computer categories.

Features of the profession

The activities of a web programmer include:

  • familiarization with the main tasks of the customer;
  • writing programs necessary for the functionality of web resources;
  • processing and maintenance of websites, management systems;
  • solving work issues.

Pros and cons of the profession

Pros:

  • demand in the labor market;
  • creative work, since each task is unique, and there are several ways to solve it;
  • possibility of combining with studies;
  • a diploma is not always required;
  • the opportunity to become a specialist at a young age;
  • freedom in decision making (how to solve a particular problem is decided by the web programmer himself);
  • possibility of remote work.

Minuses:

  • in small projects, a web programmer combines the functions of several specialists, frequently switching from one task to another;
  • irregular working hours.

Place of work

Web programmers are welcome in a web studio, Internet company, organization whose activities are related to the Internet, companies whose organizational structure implies the existence of such a specialist.

Important qualities

  • perseverance;
  • attentiveness;
  • good memory;
  • ability to withstand severe mental stress;
  • ability to work well in a team;
  • professional skills:
  • Technical education is desirable;
  • proficiency in programming languages ​​such as PHP/ Perl/ Ruby, JavaScript, less commonly Java/C/C++, etc.;
  • Experience working with massive databases;
  • knowledge of the protocol system and other development systems;
  • in the profession of a web programmer, a big role is played not by the presence of education, but by developed abilities in the field of website programming.

Web programmer training

To become a web programmer, you can obtain a higher technical or mathematical education in the specialties “informatics and computer engineering”, “software computer technology And automated systems", "applied mathematics" can be obtained at leading technical universities in Moscow. Or take a course.

International educational institution, teaches. Operating since 1999. 42 branches in 16 countries. The largest authorized training Microsoft Center, Cisco, Autodesk. Students receive international certificates and an international diploma. the main objective- employment of each graduate.

Well . A practical one-year course for those who want to become a professional web developer, launch their own Internet project or web service and receive their first development orders. After completing the course and completing all theses You will receive a Web Developer diploma. For a whole year you will be coding in different languages web development and work with basic programming tools under the guidance of curators.

Salary

Salary as of 04/04/2019

Russia 30000—120000 ₽

Moscow 60000—250000 ₽

Career steps and prospects

A successful novice programmer in the future can apply for the following positions: head of a group of programmers, project manager, IT director.

On September 13, the 256th day of the year, programmers unofficially celebrate their professional holiday. The number 256 was chosen by people who inhale computer hardware"soul" because it is the number of integers that can be expressed using a single eight-bit byte, and it is also maximum degree number 2, which is less than 365 - the number of days in a year.

Until now, Programmer’s Day has not been mentioned in the calendar of professional Russian holidays. But in July 2009, the Ministry of Communications and mass communications Russia has prepared and submitted to the government a draft decree of the President of the Russian Federation "On Programmer's Day". The ministry’s specialists decided not to deviate from tradition and set Programmer’s Day on the 256th day of the year - September 13, and if the year is a leap year - September 12.

Programmers joke

Programming tips:

  • If new program it compiles without errors the first time, which means it is written fundamentally incorrectly.
  • If you stop receiving complaints about your program, it means that no one uses it anymore.
  • The more universal a program is written, the fewer places where it could be applied.
  • The more accurately the programmer fulfills the customer's requirements, the more stupid the program turns out.
  • The more the customer understands about programming, the more he interferes with the work.
  • Mistakes are most easily made and most difficult to detect in the most simple places programs.
  • There are no more enduring programs than patches made in haste.
  • The more often a programmer complains about someone else's software, the worse he makes his own.

The programmer puts two glasses on his nightstand before going to bed. One with water - in case you want to drink at night. And the second one is empty - in case he doesn’t want to.

The request for "site" is redirected here; see also other meanings. Website (from the English website: web “web”, “network” and site “place”, lit. “place on the network”) or simply a site in computer network united under one address (domain... Wikipedia

Web development is the process of creating a website or web application. The term includes application development ecommerce, web design, web programming on the client and server side, as well as web server configuration. Contents 1... ...Wikipedia

May refer to: The process of designing and constructing a product (see New Product Development and Open Source Development) Iterative Development Algorithm Development Development software Application development for... Wikipedia

This term has other meanings, see Portfolio. A web portfolio (web portfolio) is a web-based resource that reflects the growth of the owner’s educational or professional achievements. Student’s web portfolio and... ... Wikipedia

Application development for mobile devices is the process by which applications are developed for small portable devices such as PDAs, smartphones or Cell Phones. These applications can be pre-installed on the device in ... ... Wikipedia

Web application client server application, in which the client is the browser and the server is the web server. The logic of the web application is distributed between the server and the client, data storage is carried out mainly on the server, exchange... ... Wikipedia

A web application is a client-server application in which the browser is the client and the web server is the server. The browser may be an implementation of the so-called thin clients. The browser is capable of displaying web pages and, as a rule, is part of ... ... Wikipedia

Is a tool for separating content from visual representation in web design, for mass creation of web documents. This is the main component of the web template system (English) Russian. Web templates are used to create websites of any... ... Wikipedia

Web master is a person who develops websites on the Internet or enterprise applications in the Internet. The web master is the “manager” of the site. Depending on the size of the development team, it can include... ... Wikipedia