4 min read

Mastering the Game: Aliaksandr Baryshkin Insights to Jumpstart Your JS Profession

Experienced Senior Software Engineer Aliaksandr Baryskin offers to acquaint you with JavaScript in the format of a game — it has 4 ranks, cheat codes for passing, and some necessary abbreviations.

Senior Software Engineer Aliaksandr Baryskin

— You know why I don't like most manuals? Excessive formality and explanations of elementary things. I definitely won't, for the hundred and first time:

  • tell you what the JavaScript language is;
  • explain why JavaScript developers are in demand in the market; or
  • juggle numbers and graphs to convince you to study.

— For sure, many of you already have some idea about the IT industry as a whole. Maybe you’ve Googled or asked friends about frontend, you understand what Java and JavaScript are, and you know that backend and frontend are not the same thing.

Game mechanics

— Our introduction to the position of a JS specialist will be in the form of a game. We’ll assign ranks and receive recommendations on technologies corresponding to each rank. In the process of this explanation, I will use some names and abbreviations that will inevitably enter your professional vocabulary in the future. For your convenience, they will be highlighted in bold.

Rank 1: Layout Designer

— Is the JS coder connected with the layout of websites? HTML and CSS are important tools in your professional toolkit. It is worth starting your journey with the building of these technologies. In the process of studying, you will realize that there are no miracles: the perfect arrangement of buttons, widgets, and other interface elements is the result of painstaking work and (often) reconciliation with the layout from the designer. Essentially, in IT, the profession of a layout designer is already outdated, so you will not find such a vacancy on the market.

Recommendations:

  • It will be good if your first HTML/CSS projects are not stored locally, but on Git; and
  • It will be just perfect to figure out how the browser works.

Rank 2: Front-End Expert

— It is obvious that without knowledge of JavaScript and DOM, it is simply impossible to create the kind of cool sites that everyone is used to seeing. Thanks to JS and DOM, the necessary dynamics are introduced into the interface statics, enabling the user to "communicate" with the application — to receive feedback on their actions.

Recommendations:

  • I strongly recommend that you familiarize yourself with NPM, development methodologies (for example, BEM), and design patterns.

Rank 3: Advanced Front-End Creator

— And now we’re raising the stakes. You might say that the development of mankind is based on the accumulation of experience and the desire not to "reinvent the wheel." This is reflected in the frontend: it is why CSS and JS frameworks appeared. As a rule, a developer chooses one framework they like, understands the principles of its work, and then, based on parallels and similarities, acquires knowledge of other frameworks. The process is somewhat like learning new foreign languages.

Recommendations:

  • To avoid messing up the answer to a question about writing tests in an interview, get your hands on Jest, Mocha, and other similar frameworks without overlooking the testing pyramid;
  • In a competitive environment like an interview, any trump card that you can play, such as experience with CI/CD, or WebPack, can be very valuable.

Rank 4: Full Stack Engineer

— When Frontend specialists began to feel constrained by the framework of the technologies they already knew, they decided to get into Node.js and AWS. You start with the basics like processes, threads, protocols, and modules. According to the current market situation, Frontend coders with Node.js and AWS knowledge are actually Full-Stack experts, and are in high demand.

Pick a position which works for you

Cheat codes for passing the game

— Our game guide would not be complete without cheat codes: useful tips that would have simplified my life and that turned out to be useful for many of my colleagues. Here they are:

1. If reading technical literature is not your thing, you need to look for other more accessible ways to get information. In my life, I would say that I have carefully read only two books: David Flanagan on JS and The Gang of Four regarding design patterns. In my opinion, The Modern JavaScript Tutorial gives you more than enough to pass an interview on JS: there is plenty of information there, plus it is constantly updated. Also, a luxury that was not widely available in my early years is the large number of sensible video lessons and podcasts about IT. These will help you quickly obtain relevant and interesting information about the world of the frontend.

2. It is necessary to know English. No matter how technically strong a specialist is, it will be almost impossible to survive and advance in the IT industry without knowledge of English. Its status as the language of international communications is one hundred percent justified here: all communications with clients (from project interviews to correspondence and live communication), all project documentation, and all training materials will be in English. Therefore, if your level of English proficiency is not adequate, you need to solve this problem in advance.

    Discover your English level

    3. You need to choose your training format based on your capabilities and available time. I learned the frontend on my own and did it over the summer, during my university years, between my third and fourth year. This approach will NOT work for those:

    • Whose free time is otherwise occupied, for example, by other work;
    • Who want to have a clear, structured training plan with deadlines and a defined end result; or
    • Who are not confident in their self-discipline, or to whom process control is important.

    If you fall into one of those categories, choosing to take courses is absolutely logical and avoids unnecessary risks.

    4. Don’t hesitate to take advantage of any additional options for increasing your knowledge and improving your skills. Productive interaction with a mentor, gaining experience in trial interviews, attending conferences and webinars, participating in startups or open-source projects — these represent only a small fraction of what you can do to change your situation for the better and make your CV even more compelling. The sooner you identify and fill in your gaps, the sooner you will eliminate unnecessary stress during interviews with IT companies.

    — That's it, game over. May you succeed!