Needed for web programming. Useful Internet services for learning the basic principles of programming and the code structure of any application. Creating applications for the Windows operating system

  • 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 you can get the information (usually 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. 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 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 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 on HTML theme:

I already know the basics of HTML

Cool! This is 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 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 ​​that work 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 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:

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

[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!

Where to start learning programming from scratch?
In this article, I tried to analyze in detail whether it is possible to become a programmer from scratch on your own and what options are there for mastering programming on your own and starting making money from it.
UPD: Those who are looking for where to start learning programming from scratch in 2018 (or are just getting ready to start in 2019 :)) are very lucky thanks to Yakov Kramarenko’s book “Introduction to Development” software" I wholeheartedly recommend checking it out - it's worth the update with the #1 Google rating and reader reviews for those learning to code on their own.

I tried to give the best - in my opinion - way. I warn you - it is not easy! Further reading can cost you many hours of interesting activities :)

I’ll say right away - if you decide to study programming only on your own, without investing money, you will have to spend more time. Expect to master a new specialty in at least a year if you are studying in parallel with another job.

If you find something to add to this article to make it more useful for people, write in the comments.

This article contains better practice, based on my experience, if you want to learn programming on your own. All this is still relevant with a couple of additions.

A book on web programming for beginners

The 2016 version is translated: https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about.

It is better to take the course in English. You will improve your language and the information will be fresher. Although the exchange rate did not change much - only in 2017 instead PHP started be used by Python.

Completing the course will take time, but will provide a fairly complete understanding that is otherwise difficult to obtain on your own.

Initially, you need to decide which area of ​​programming interests you. If we're talking about about learning development from scratch and you want to start making money from it soon, then in my opinion there are two options: development for mobile devices or web development.

The best choice in such a situation, in my opinion, is to start learning web development. Here the entry threshold for beginners is lower and there is an opportunity to start fulfilling simple orders earlier.

How to become a programmer yourself from scratch

If I were starting from scratch to learn web development on my own (realizing that without investing money this is a longer path), then I would recommend this path to myself:

1. Understand HTML and CSS

A good course for basic development of HTML and CSS: https://learn.shayhowe.com/html-css/ (English) or https://webref.ru/layout/learn-html-css (translation).

After that, it’s worth looking at the capabilities of Bootstrap, which has become the de facto standard for accelerated web application development: http://getbootstrap.com/

This will be enough for the next steps.
You might want to stop at this point and study CSS in more detail. This will give you the opportunity to work as a layout designer - a person who makes a static design out of HTML page, after which the programmer revives it, implementing the logic of the project.

You can also make money from this - both as a freelancer and by working in an IT company that specializes in web development.

But since we decided to become a programmer, we move on!

2. Get to know jQuery

If you liked it, you can continue to understand the frontend and start learning Javascript.

If https://angularjs.org/ or http://backbonejs.org/ follows, then this is the path to front-end development. A good specialty, especially since such knowledge will be useful to any programmer who has chosen web development.

My advice is to stick with jQuery for now and move on.

3. Master a server programming language

There is a lot of choice here. The most promising programming languages ​​are Ruby, Java, Python, Node.JS (Javascript for the server).

The most in simple language programming for a beginner will be Python. If you learn Python and then the Django web development framework, you'll have everything you need to tackle some pretty complex projects on your own.

A good option is the programming language Python and Django

Plus - Python and Django will teach you the “correct” programming. Python is consistently among the TOP5-10 most popular languages, and good specialists Python has some of the highest paid programmers. Python is both a simple and understandable programming language for novice programmers, and is used in many large companies and on large projects.

To get started on your own, read "Python for Kids" by Jason Briggs or watch:

Among other materials, I recommend Learn Python The Hard Way. book " Simple Python. Modern programming style." And, of course, The Python 2 Tutorial and The Python 3 Tutorial.

Django is arguably the best framework for web development

The best tool for all occasions is very difficult to find. Django has the potential to become such a tool for web development.

Where to start to learn Django:

Start with official documentation, there is a very good tutorial: https://docs.djangoproject.com/en/2.1/intro/

Tango with Django is good opportunity improve your English and at the same time gain an understanding of how web projects are structured and how everything works.

Option #2 - PHP and WordPress

Another way is to start with PHP and work with popular CMS. If you are learning programming yourself and want to get started quickly, start with PHP.

Many people consider PHP to be a “not quite real” programming language, and for good reason. PHP is rarely used in large web applications and is designed only for the web - it cannot be used in other areas.

On the other hand, PHP leads in the number of websites launched in the world. The most popular CMS (content management systems) are based on it.

After that, figure out how to create themes for WordPress - this is probably the most popular CMS in the world, judging by the number of sites running.

Once you understand this well, you can already find a job. There are a lot of sites running PHP and WordPress, so there is enough work for everyone.

How to start making money as a programmer

Many people imagine the work of a freelance programmer like this:

In reality it looks something like this:

If you are ready to work as a programmer and are looking for a way to earn money, welcome to freelancing! Freelance exchanges will allow you to find simple orders(possibly almost free at first) - to get practice. Generally, working for an IT company can be more lucrative if you are just looking for a programming job.

After point 2 - having mastered HTML, CSS and jQuery - you can go to freelance exchanges and take simple orders, building up your profile.

Do you know English? https://www.upwork.com/

Not at all, even with a dictionary? http://freelance.ru/

By the time you can make websites yourself, it will be easier for you to find clients - there will be reviews and experience.

Fast path to web development

Based on my experience, it will take 6 to 12 months to learn programming from scratch. best case scenario, while 6 months is if someone helps you.

To speed up the process of entering IT, look for the opportunity to go to training (you may need more than one) or find a person who will train with you. In reality, without a person who will pass on their knowledge to you, it is very difficult; you can sit for a year reading books and never start. And with knowledgeable person who can simply talk about difficult things- much easier.

At one time, I chose the entry path through training. Given that I knew a lot about development, this allowed me to master in 2 months what could have taken six months. Find your way.

I have people who have seriously decided to start a programming career and want to speed up the process. There are many other courses. If you find yourself a mentor - a person who will lead you by the hand - this will significantly shorten your path to becoming a developer.

As soon as you feel confident that you can create something, look for a company where you can develop further or clients.

HTML, CSS, Python and Javascript are just the basic knowledge, the first stage. Next, practice, studying algorithms and development tools is very important.

If you have questions, ask in the comments! I hope this article will help you take the first step. Good luck!

  • 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 you can get the information (usually 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 ​​that work 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.

[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 a good thing, 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!

From the author: Hello, dear reader of our blog! You've probably heard many stereotypes about web programmers. Many people think that they speak some special language, where instead of words there is a code. They are also nocturnal creatures, and practically do not sleep at all. The programmer never takes off his headphones or lets go of his mouse. And if he doesn’t have a mouse in his hands, then he enthusiastically draws some mysterious symbols on paper, a tablet or a dusty table. Of course, these are nothing more than stereotypes. Otherwise, there wouldn’t be so many people wanting to learn how to become a web programmer from scratch. Let's satisfy their curiosity and tell them about this interesting and in-demand Internet profession.

So, you're thinking about how to become a web programmer from scratch. But there seems to be a small problem... You have absolutely no experience. How to make sure you are taken seriously in this field? I suggest you familiarize yourself with the list of steps that need to be taken to bear the proud title of a web developer. You will even be surprised how simple everything is. First you need to cast aside all doubts in your path. And at the same time laziness. Go!

Brief information about the profession in question

Object of study: web programmer, also known as web developer, also known as developer, web master and invisible architect of the Internet. That's how many names there are.

Who is this? A person who develops new and improves existing websites and web applications. This process may include such stages as web design, programming and layout of the site, configuring the web server and expanding the functionality of already finished projects.

Requirements: specific programming skills and a decent portfolio of already made sites to show it off potential clients.

Types of webmasters: it all depends on what client or server language owned by a specialist. For example, ASP.NET, Perl, C#, Java, PHP, which can also be used to create developments or engines for websites - CMS. There are free (Joomla, WordPress) and paid (Bitrix, SiteEdit) engines. Particularly gifted programmers can create their own engines.

In general, web development is a broader concept than web programming. The honorable caste of web developers includes not only the programmer who writes the basis (engine) of the site, but also the designer, layout designer, tester, etc. There are also people who are involved in administration, content filling, promotion and promotion of the site.
Here are the promised instructions on how to become a web programmer.

Step one - choose a specialization

Any decent web programming course teaches a specific, narrow specialization from scratch. So decide right away what you want to do. At least in the first place. Then you can explore other horizons. Here are a few ready-made directions to choose from:

Front-end or Back-end?

React.js or Angular.js?

If you are enthusiastically searching in a search engine for what it all means, in the firm belief of becoming a jack of all trades, then come to your senses. Most companies require highly specialized specialists.

Although, to decide on a specialization, you may need to try a little bit of everything. You must LOVE what you do. So forget about money for now. Think about what is closer to you? Do you want to write code all day and night? Or maybe develop interfaces? Or maybe test sites?

Step Two - Familiarize yourself with the basics of all areas of web development

Even if you will not be a “full cycle” developer, you still need to know the basics.

HTML and CSS.

Learning web programming should start with understanding HTML basics. It is a hypertext markup language that controls the layout and content of the information we see in the browser. In the future, as you learn more complex languages, the importance of HTML will increase more and more.

Here's what you need to learn about HTML:

tags, attributes, elements;

headers;

Modern tendencies and approaches in web development

Learn the algorithm for rapid growth from scratch in website building

paragraphs;

Images;

CSS is a cascading style sheet that is used to customize the appearance of HTML elements on a web page. To learn HTML and CSS, you can check out this and then refer to the course for more solutions. complex tasks.

PHP.

Further, PHP language. The market is full of vacancies for PHP developers. This language is relatively easy and is great for starting a career. Here you need to know the syntax of PHP itself and the databases MySQL data, their main functions and commands, jQuery, AJAX, CMS, CSS, and, of course, HLML. Here's a good one.

JavaScript.

Another extremely popular language that runs almost everywhere is JavaScript. It has an extremely wide scope of application. Android, desktop and web applications are written on it; it is supported by all browsers and platforms ( mobile devices, computers, servers, etc.).

When studying JavaScript basics you will need: data and variables, conditions, events, arrays, loops, objects, functions, callbacks, DOM, logic, JSON, .

Learn JavaScript language you can with the help of an excellent course for web programmers.

So far we have considered the so-called Front-end development, which is designed to interact with users. And there is also code that runs on the server - Back-end. If you decide to become a backend developer, then I advise you to familiarize yourself with Node.js, which runs JS code on the server, the Express library, and the MongoDB database.

Step three - get real experience

To get started, complete a few training projects that you will find in books and courses for web programmers. You can also develop your own own blog, even if it is elementary.

Then start working for someone else:

help a relative or friend who owns their own business. Make a website or web application for him “for thanks”, or for a nominal fee. Just don’t immediately aim for projects of international scale and don’t overly promise “mountains of gold”;

work in the office. If you're lucky, you'll become a web programmer there from scratch and learn from professionals;

look for orders on freelance exchanges and specialized forums. There is always work for developers there.

Don't forget to constantly update your portfolio. Without it, it will be difficult to find adequate customers.

If you read my article and are not interested in either front-end or back-end development, rejoice, web programming is not for you. What is there to be happy about? Yes, because you realized it in time and didn’t lose a lot of money, nerves and time.

Modern trends and approaches in web development

Learn the algorithm for rapid growth from scratch in website building

Backend

Backend is the server part of the application, which is not visible to users. This includes: authorization, storage and processing of data, email newsletters etc. Let's just say the backend is what's under the hood.

There are many programming languages ​​here, here are the most common ones:

Php
Asp net
Java
Python
Ruby
Node js

I advise you to choose just one, because with the current requirements for programmers, it will take at least several years to reach the middle level. When choosing, you can familiarize yourself with vacancies in your city, see which ones are more suitable, where they pay more, and depending on what language they require, and choose.

The server is largely used for working with data. Therefore, you will need to learn at least one of relational databases data:

Oracle
MSSQL
MYSQL
Postgres

In terms of difficulty, this is about the same as mastering a programming language. In all the listed databases there is a part that is the same everywhere - the so-called sql (query language), as well as a procedural language that is different in each database. Since sql is still the same, and it is the basis for everything related to data processing, switching to another database is not such a problem. Therefore, you can choose any one to begin with, but even here I would go by the principle of analyzing vacancies.

Personally, I give a plus to studying the backend, since the skills here are more static and once you learn something, you can work on it for a long time.

Frontend

Frontend is the part that runs in the browser with which the user directly interacts. These are dynamic interfaces, menus, events based on user action, data exchange with the server part, in general, what happens on the client.

The programming language here is javascript. On the one hand, this is a definite plus, since after studying it, all the companies in your city that are engaged in web development will be open to you, and now many are doing this. On the other hand, there are nuances.

JavaScript currently has two standards that are widely used: ECMAScript 5 and ECMAScript 6. The difference between them is that ECMAScript 5 does not have a full-fledged OPP. ECMAScript 6 has it, but since this standard appeared relatively recently, most applications are already written in ECMAScript 5, as a result of which it will be necessary to master both standards and, as a result, two different approaches to development.

Another point that needs to be taken into account is that the same code written in javascript can differently work out in different browsers and on different OS. With the current requirements for applications, it will be necessary to write so-called cross-browser code, that is, code whose execution will give the same result everywhere. There is no specific manual for writing such code; in this case, forums and ok Google can help you.

The problematic issues I described have been resolved in modern js frameworks (for example, Angular and React). But in projects that are written without using frameworks, these issues remain.

For me personally, an even bigger disadvantage is that trends are developing very quickly here. Versions of frameworks are constantly updated, new libraries are released, and everyone immediately wants to start using them. In general, you can't keep up with the community.

Fullstack

It should be clear from the name already that this type developers are developing both parts. I don’t recommend trying to become such a developer, since you won’t have enough brainpower in any case, and most companies have already taken the path of division of labor. However, the full stack is where you need to start in order to take a step towards the backend or frontend. After developing a couple of small applications, you will understand the difference between them (and there really is one) and you will be able to decide which side is closer to you.

At one time, to make up my mind, I read the book “Creating Dynamic Websites”, author “Robin Nixon”. The book is small, only 500 pages, but thanks to it I got a general idea of ​​web development and I boldly made a choice towards the backend, which I still don’t regret. I gave this book as an example, you can take any other, it doesn’t matter.