— I have been in the profession for more than 7 years. I am a Lead Software Engineer and I develop interfaces and client applications in EPAM Anywhere.
— In my opinion, the first things worth studying are the basics of Computer Science. To be a developer — no matter what language — you need to understand how the computer as a whole works: processor, memory, synchronous or asynchronous operations, etc. This is the foundation on which everything is built.
You also need to understand how the platform you are working with actually works. Whether it's a browser, server, mobile platform, desktop, etc.
- If it is the Front-End, then you need to know the browser APIs, what DOM is, and the manipulations that go along with it.
- If it is a framework, then you need to figure out how it works, and understand its basics.
- If it is the Back-End, then you need to understand how the framework you interact with works (Node.js, Express, Nest.js, Deno, etc.). Also, for a Back-End Developer, you need to be able to work with other components of the system, such as databases.
— Of course, having an education in the field of IT is a big plus. In this case, to resolve basic questions with an understanding of computer science. But this is more of a should-have than a must-have. Education will simply accelerate the growth of a specialist.
There are many resources on the Internet on all kinds of topics in programming. Starting from the basics and ending with the nuances. Of course, you need to start with the basics: take the Harvard CS50 course. Then start learning the language. The Book You Don't Know JS Yet takes a deeper look at how it works.
I recommend that everyone attend IT conferences or watch relevant recordings on YouTube. A lot of new and interesting things can be learned there.
An internship in an IT company is a good option to help you quickly grow into a novice developer. But to do this, you’ll need to have some experience or at least know the basics.
And do not forget about the English language. This is a must-have skill. There is a lot of translated information, but basically all the new developments taking place in the IT world are in English. And to keep up with the times, and consume new content, you need to know English at least at the reading level.
How long does the training take
— How much time does it take to study? It's different for everyone. It depends on how much time you devote to your training and what kind of background you have. In general, it takes six months to a year to start solving basic tasks. This time is needed to sort out the systems, experiment with them, and try to accomplish some introductory tasks. But this timeframe is based on the expectation that you already have a base.
Of course, the training does not end there. Working as a programmer means constant growth. The industry does not stand still, new technologies and approaches to development are being introduced all the time. We all need to keep up.
Prospects for a JS Developer
— From the information that I provided above, you can conclude that JS is a general-purpose language. Accordingly, the developer who writes with it can do almost anything. It follows logically that there are many prospects.
A good developer always keeps an eye on areas other than what they are doing day-to-day. If you are developing in JS, it is useful to see how other languages work — for example, those that are not dynamically typed, such as C# or any other statically-typed language.
— Dig deep and figure out how the tools you use work. Read the source code of the libraries you use, and carefully study the documentation for them. This will enable you to broaden your horizons, gain more insight into solving problems, and see how large systems work under the hood.