The demand for Ukrainian-based IT professionals prevails over the existing number of developers. At ITOMYCH STUDIO, we also feel it: a good specialist is a “golden snitch”, and whoever catches it wins most of the time.
Still, a 'good professional' doesn’t necessarily stand for Senior Developers only. The vacancies by ITOMYCH STUDIO always include Middle, Junior, and Trainee positions.
To make it clearer, we've summarized our expectations from professionals at different levels of their expertise.
Now, on the ITOMYCH STUDIO’s site, there are 2 open vacancies where we're looking for people with no commercial experience so far. We expect that a common understanding of technologies is enough for you to grow to the Junior level during the 3 months of the mentor's guidance.
There are 2 main requirements for a Trainee:
The promising candidates often obtain the certificates for completion of professional courses. They easily answer theoretical questions and have got at least 1 volunteer or pet-project in their CVs. We immediately make an offer to such candidates.
We always have several Junior positions opened. The team is constantly expanding as new projects appear regularly.
Junior specialists perform tasks in their subject area. They receive tasks in terms of development:
Juniors don’t need to perform business tasks. For example, we need to allow app users to share payment receipts in other apps. This is a business task. The Junior doesn’t have to know how to implement it yet, and this is not their responsibility, as it's up to the Team Lead and Project Manager's decision-making.
Still, we expect the Junior to take a keen interest in the project. In this case, they'll have strength and patience to learn something new and grow quickly. And there's plenty to learn in technical and fundamental topics, such as Mathematics, Logic, etc.). For example, a Junior Node.js Engineer should know Node.js, Express.js, SQL, and NoSQL DB.
Junior Engineers usually have experience from 0 to 1.5 years. They can correct small code errors as well as work on internal tools and functions on the 'admin side'. They also work on certain functions, whose general concepts are already outlined by experienced developers. Juniors can participate in the initial planning of the project. A competent Junior is usually focused on the back-end and overall course of the project.
In our teams, a Junior can grow to a Middle within a year and a half if copes with tasks.
Open Middle positions in ITOMYCH STUDIO are probably the most numerous. Professionals of this level are wanted in all our teams. A Middle performs tasks within their subject areas:
In contrast to a Junior, a Middle works more autonomously. Let’s back to the payment recipe example: a Middle should understand the possible solution or at least know which questions to address to the Team Lead to find ways of implementation. A Middle has got a baggage of experience and has probably solved similar problems. However, they may choose to avoid completely new tasks without discussion and brainstorming, and it’s okay.
Middle Developers usually have from 1.5 to 4 years of experience, experience in several projects both independently and in a team, and competence in several stages of the product life cycle. In addition, they’re able to customise the environment and mentor Junior Developers. Sometimes a Middle also needs the support of a mentor.
A Senior Developer is able to solve any business problems and negotiate with the client. If you can do that, the knowledge of particular frameworks doesn't matter. Besides, 8 or 10 years of developing experience doesn’t make you a Senior. The decisive criterion is understanding of technology and business objectives.
A Senior Engineer understands the whole project scope. They can build and expand the architecture project as well decompose tasks of any scale. The real Senior uses many years of experience in various areas to become technically advanced in many aspects and apply this knowledge to develop projects as correctly and thoughtfully as possible.
Although experience isn’t the main part here, a Senior usually has 5-8 years of developing experience. They’re able to develop and mentor Middle Engineers, experiment, and test assumptions. A Senior can undertake the full development process, deployment and launch, compile specifications, and identify initial risks in large projects. They’re responsible for mentoring Juniors and Middles, and regularly review the code of less experienced colleagues.
When a Senior grows out of their tasks, they may become a Team Lead. At this level, the developer has a huge internal desire for learning and self-growing as a manager. They have knowledge and experience in all aspects of software engineering: development, architecture, design, integration, testing, and so on.
A Team Lead can conduct technical interviews with candidates, generate ideas and solutions for business problems, plan the scope of the entire team or department. A Team Lead creates and implements projects from scratch. Development skills should allow them to work on back-end and front-end, with both mobile and web applications.
They no longer write code and don’t think about how to implement some functions. Instead, the Team Lead distributes the workload among the team members, monitors the progress of the project, and takes responsibility for the entire product.
Imagine a situation: a customer needs a mobile application. Let’s get to work: the Senior plans the architecture, the Middle writes the code, and the Junior puts buttons in the interface. For some time, a client sees everyone doing their business. But there’s no whole product, only the separate parts. They work, but not together.
The task of the Team Lead is to prevent such situations. To do this, they manage the team and the progress of the project, and:
Still, not every Senior will become a good Team Lead as the nucleus here is management skill, not the development expertise. Even if you take a first-class Senior, it’s far from a fact that they’ll manage the whole team as effectively as they write their code.
In addition to a specific area of programming, a team leader must be able to:
Finally, if the team leader prefers managerial functions to programming, they may become a good Product Manager, whose position and responsibilities we’ll discuss next time.
Feel free to check our career page and find a position right for you!