Tips for Juniors
Becoming a top-notch professional requires work, patience, and time, not only from the junior, but also from the company – the starting point of his career path. We’ve already described the benefits of being a rookie in our article “How much is a trainee’s labor worth?” To become valuable to an employer, you should listen to the advice of experienced colleagues who have been successful. Job seekers, take note!
- When we publish a job posting, we get a lot of responses. And only one candidate out of twenty-five is able to complete the test assignment. That is, not everyone who wants to be a programmer, eventually becomes a professional. Do you think there is a predisposition to work in this field?
Of course, to be a good developer, as well as a good cook or a good mechanic, is not for everyone. If we talk about coder-specific character traits, the following are required.
01 Head with gears Perseverance, patience and the ability to perform the task, even if it is not solved in a hurry.
02 Systems Approach A systems approach and an engineering mindset. I mean the ability of a person to “soar” over a problem, see it as a whole, and then solve tactical problems. There has to be an overall vision, not like a bedbug on the wallpaper who only sees in front of himself.
03 Clarity of wording Mathematical thinking and clarity of wording. Often juniors do not know how to express their thoughts accurately in words.
- Is the ability to articulate necessary for communication or does it affect the quality of the code?
A competent professional must be able to communicate with others in the process. A typical disadvantage that I encountered: there is no uniform terminology in the team, it is difficult for colleagues to understand each other.
The task should be viewed through the prism of the customer’s needs, otherwise the result may not satisfy the latter. If the task is formulated unclearly, it is necessary to ask questions and get additional information.
If a person wants to become not just a developer, but a lead, communication skills are very important. But without the basic skills of solving algorithmic problems, you will not get very far.
- It turns out that professionalism has two components: personal qualities and technical knowledge. What would you advise in order to develop both?
Let’s talk only about people with talent. A person can learn only from someone, it’s impossible to get knowledge only from a book.
- Are we talking about gaining experience under guidance?
Yes. In any business, you need a teacher from whom you can learn. And what is important is the acceptance of learning and the right attitude: “I need to learn a lot, I want to reach the top of the profession, but now I’m at the beginning of the way,” rather than “I already know everything.
- That is, to understand your level and have some humility?
Yes. Humility and understanding that while I am inexperienced, I must do what I am told, follow the instructions of someone I respect, even if I think they are not right, not logical. Accordingly, I have to partially take for granted how to write code, how to communicate with the customer. If you are willing to accept knowledge from your older colleagues, then there will be development.
The ability to ask is important. Many people get hung up on a problem, spend an enormous amount of time without asking a senior colleague. On the other hand, it is better to ask questions at the right moment, rather than constantly distracting colleagues. But there are the silent ones who sit for a week, don’t ask anything, and end up reinventing the wheel.
- Does it also take a certain amount of experience to ask the right question?
Yes, you have to understand that the problem you’re solving is typical. That’s why juniors need supervision.
To summarize about personal qualities. You have to get into the position of the student taking in the knowledge, asking questions, following in the footsteps, adopting the experience. When, let’s say, a project is handed to you, you can pick up the knowledge by looking at the code written before you: how it is designed, what approaches are used, and do it by analogy. Some people start writing their own way, inventing methods, without looking around, but it’s more correct to watch how a professional does it.
- Is it possible to develop technical skills by taking courses, getting certificates?
I think it’s useful. But more important, in my opinion, is to develop “for yourself”. A person must have a desire to code. At school, at university, you should solve real problems at your level, try different technologies in practice, choose your area of interest.