Posts in Technical
Underrated Technical Skills

An average technical interview of a software developer is a pretty boring thing. One person asks another about his experience, programming languages used, database structures and tricks, and key features of the used framework. But there are some essential skills which most developers do not even consider for including into CV or technical interview. Let us have a look at these skills and check the benefits.

Read More
Technical Training: Expectations vs Reality

When developers participate in technical training, they always have some expectations. Usually, they expect to master new technology, learn new approaches, and improve overall technical skills. It is valid to expect such results; however, most of the participants do not achieve them. Let us see why these expectations do not match reality.

Read More
Developers Under Control

Nowadays, it is a common practice to give software developers freedom in choosing the activities they want to do. No boundaries in the technology stack, ability to work on a personal project, absolute freedom in tool selection — these are common trends in software engineering. However, there are some areas where developers have to be controlled and controlled a lot. Can you guess these areas?

Read More
No Requirements — No Problems

After 15+ years of work in software development, I collected quite a lot of ineffective, pointless, terrible, stupid, awful, and dangerous practices of managing application requirements. So, here is my personal Top 5 of the worst practices you should avoid at all costs.

Read More
On Software Design Patterns

Software Design Patterns are widespread in nowadays development process. Design patterns are in any application, people ask about them on technical interviews, and many books describe them as a silver bullet. However, there are different opinions on this topic — let us see what developers think about design patterns.

Read More
Component Lead Role in Software Engineering

Component Lead is a relatively rare role in software engineering. In short, this is a person with in-depth knowledge in some area and entirely responsible for interaction with it in a project. Let us look at this role and see how it can be beneficial for the software development process.

Read More