What software and hard skills a junior developer needs – advice from team leaders and technical directors

Due to the pandemic and the translation of all business processes online, the demand for IT professionals, including and for beginners, has grown a lot. At the same time, competition has increased. Now, for a successful career as a junior developer, it is not enough to have hard skills, more and more employers are paying attention to soft skills – “soft” skills that are not directly related to the technical profession.

Irina Novikova, head of Algoritmika Coding Bootcamp, asked the team leads and technical directors of Russian companies what, in their opinion, hard and soft-skills are necessary for a novice developer and what they pay attention to in interviews first of all

Ilya Shcherbak

Ilya Shcherbak

Team Leader Core Infrastructure VKontakte

It is believed that soft skills are needed only in senior positions, and this is assessed accordingly in interviews. It doesn’t quite reflect reality. In fact, all programmers – both seniors and beginners – have to communicate with each other, managers, allies. Growth is expected from the junior developer. And to move to a higher position, you need to understand the culture of communication, be able to ask questions correctly and not write “hello” in a separate message. Therefore, reading Ilyakhov will not hurt anyone, especially when there is a lot of remote work and communications. It is also important to reasonably lead a discussion and hear the opponent, as well as develop the skill of public speaking.

It is worth remembering that hard skills are marker for all engineers. It is on them that a decision is made whether to continue the interview process or look for another candidate. When hiring a junior developer, the main focus is on his ability to keep the state in mind and learn. Much less attention is paid to knowledge of specific frameworks. A beginner should understand the design of operating systems, general algorithms, and data structures. It is not necessary to quote Knuth for this, but the basic structures and algorithms should not become a discovery. Live coding has now become the de facto standard – do not be too lazy to practice it. Be sure to read and learn new things not only within the university program or current place of work, but also in your free time. It is valuable when the candidate can show a broad outlook in the field of programming, and not just the ability to solve problems.

Sergey Yartsev

Sergey Yartsev

HintEd service station

One of the most important qualities of a junior is determination. Especially for startups, where the question of survival is to do it as quickly as possible with a reasonable level of quality. Yes, it is likely that this code will have to be rewritten, but at least we will close the current tasks, and as much as possible we will find out what else the client wants and test the product functionality.

Several years ago Andrey from Chelyabinsk applied for my vacancy as Junior node.js developer. We phoned him, talked, I asked standard questions, answered his questions and at the end gave him a good test task, as I thought, for 4 hours. He collected the result from pieces of his projects in an hour. We still work with him.

Purposefulness must be accompanied by patience, especially in the beginning. A junior developer will have to look for a solution to the problem himself, which, at first glance, may be a set of little related Englishisms with a seasoning of distortion due to the peculiarity of reading or translation.

Another important quality is the ability to clearly and briefly lay out your thoughts. For some reason, practice shows that if a person cannot tell the results of the day’s work at a morning meeting in 2 minutes, then most likely this person has done practically nothing.

And the last thing is a sincere interest in programming. I would say that you need to love them, but this is not necessary. Perhaps you will leave for Q&A, DevOps or some other role, so it is enough that you are simply attracted to this direction.

Felix Ignatiev

Felix Ignatiev

Senior Developer DonationAlerts

The first and most important thing in soft skills is desire and drive. If there is no fire in the eyes at the initial stage, it will only get worse. A junior must understand that in the current situation, with a small investment, he gets much more, following the Pareto principle (80/20). The second is the ability to solve problems and draw the right conclusions. All people make mistakes, and Juns should be able to learn from their mistakes. Also, I would not ignore such things as communication skills, learning ability, logical thinking. These are the qualities that can facilitate the beginning of the path.

With regard to hard drives, everything is simple: there is enough knowledge of the level 2 of the university in the technical path, basic knowledge of tools and an idea of ​​the industry and the field of application of his profession, the rest can be quickly learned.

For example, in the case of web backend development, you need:

  • Knowledge of the syntax for the selected programming language.
  • Relational Database Basics (MySQL, PostgreSQL, etc.).
  • Understanding NoSQL.
  • Understanding how modern web applications work (for example, what happens when a link or button is clicked in a web interface).
  • Understanding the work of version control systems (Git).
  • Basic knowledge of architecture, pros and cons of approaches, where best applied.
  • Not bad, but not necessary – knowledge of basic algorithms and data structures.

In principle, this will be enough to start your journey, but everything is individual. After all, the most important thing, as I said above, is desire.

Andrey Simachev

Andrey Simachev

CTO devtodev

Requirements for a Junior developer will vary depending on the platform and direction.

General requirements are something like this:

  • Knowledge of the syntax of the selected language and understanding of the principles of working with it.
  • Reading the documentation, including in English.
  • Ability to implement various libraries and a basic understanding of how they work.
  • Understanding the principles of one of the version control systems.
  • Ability to read someone else’s code and understand the task at hand.

As additional requirements, each direction may have its own: for example, experience with databases and an understanding of the principles of networking for backend developers, the basics of layout and the ability to work with styles for the frontend, working with graphics for a game developer, and so on.

In most cases, companies hire Junior-developers with an eye to raising Middle or Senior, so for a junior, I consider the main qualities to be the desire for self-development and pumping hard skills, the ability to ask questions correctly and search and study information. In the current situation in the conditions of remote work, time management and the ability to communicate in writing also come out on top. In interviews, I usually, in addition to technical skills, look at the ability to conduct a dialogue, communication skills and the ability to think in the case when you do not know the answer to a question.

Victor Fink

Victor Fink

Resource Director of Technoserv Consulting

If we talk about soft skills, a junior cannot do without communication skills, this applies not only to verbal communication, but also to writing. They are necessary for the intensive acquisition of knowledge and “pumping” of a young specialist. And yes, being able to ask Google correctly is also a communication skill. You don’t have to come up with everything yourself: you can learn a lot from colleagues or the network mind. The era of bicycle inventors is over – the industry needs people who, out of hundreds of models of two-wheeled vehicles, will choose the best one for the track, weather and will be able to go in the right direction. Understanding who exactly is able to help, and the ability to properly build a dialogue are very important.

It is rather difficult to assess the hard skills of those who are just beginning their careers: they have not yet accumulated. During hiring, we at Technoserv Consulting check basic knowledge in exact sciences and specialized IT subjects that the university gives. A junior should have an understanding of the elements of database theory, of the simplest programming patterns. The “hygienic” minimum also includes a fundamental understanding of the structure of everyday applications and services. Proficiency in English is an important skill and the de facto industry standard. General computer literacy is fundamentally important: print speed, the ability to customize the OS, etc. All this in the process of developing basic professional skills helps to save the most valuable resource – time.

Similar Posts

Leave a Reply