A feature of JS is its low barriers to entry, so it is usually the first language in which future developers learn to program. This is how it was conceived: so simple that it could be understood even by non-programmers (for example, designers).
Programs written in JS are called scripts; they are connected to HTML in a browser and executed when loading web pages. This language allows you to do simple things in easy ways and fully integrate with HTML and CSS. To achieve cross-browser compatibility while developing web applications, JS frameworks with libraries are used.
They write the code and then test it. That is, automatic tests that are additionally programmed. Then they debug the program and fix the errors. They also profile the code, i.e. optimise it to run faster and use fewer system resources.
A developer can only specialise in front end (client side) or back end (server side). The client side is what the user sees, and the server side is the internal business logic. However, there are full-stack developers. They are universal specialists who work with databases, mark up layouts, and even do system administration.
The language is simple and there are many programmers. Does it mean it is a low-paid primitive activity for solving small tasks? This is clearly not the case. JS is used to write scripts for space flight missions, program microcontrollers for smart homes, train artificial intelligence, analyse the neural activity of the human brain, etc.
However, there are not so many space engineers and neurophysiologists as there are owners of client-server applications. JS is used on the client side for programming the user interface (appearance and behaviour of screens) and for sending commands to the server.
Although JS was originally targeted at browsers, it can also be executed outside of them. With the help of the interpreter, scripts can be run anywhere. It is also used for writing mobile applications, widgets for the desktop, macros for office programs, and scripts for Photoshop. There is even a Linux operating system emulator written in JS. It is a powerful language. Therefore, it is very popular.
What to look for in a CV:
Is the company multinational or are the stakeholders foreigners? Check the candidate’s ability to understand cultural differences. It is not enough to know technical English. They must follow the rules of business correspondence which are used abroad.
Freelancers, however, are more complicated to manage. You never know exactly where they are, what they do, you can’t call them for an emergency meeting, and sometimes you don’t even know what they look like.
The shortcomings of staff members are not only bureaucratic. They are paid for all hours, even those when a highly qualified programmer flips through social networks, drinks coffee, or is idle while the customer is testing the application.
But a staff member is always in sight. They are deeper integrated into the team, aware of the specifics of the business, and participate more effectively in discussions. Video conferencing is convenient, but sometimes it’s important to sit at the same table.
When you first explore the market, you might wonder: if everything is so simple, then where do these huge numbers in expected salaries come from? The fact is that JS is potentially vulnerable to attackers. For example, hackers steal bank card information that a customer enters for payment on a website. Such vulnerabilities are preventable. And while writing code in JS is easy, plugging security holes is difficult. Also, you need to ensure that your program is cross-platform so it can work on all devices. Only experienced programmers can do this, hence the high salaries.
Jokes about British scientists do not apply to British programmers: the demand for them is regularly growing. Junior devs will ask for 30,000 pounds, middle devs will prefer 45,000 pounds, and senior devs can demand 70,000 pounds. Europeans define an annual salary in the contract instead of a monthly one. And don’t be surprised if a developer from the UK asks for money to be transferred every week — that’s what they do.
Russian programmers are valued all over the world for their ability to solve non-standard problems with vigour and economy. The monthly salary of a JS developer in a company ranges from 50,000 to 200,000 Russian rubles. The lower limit is for junior devs and the upper limit is for senior devs.
Market average hourly rates: junior—750 RUB, middle—1300 RUB, senior—1900 RUB per hour. In euros, it is about 10 / 17 / 25 EUR, respectively.