Perhaps building an organizational culture is too formal a term in the context of a 10-person company, but regardless of the name and size of the company, the goal is the same: make your employees feel good in the company, let them get along easily and onboard new developers smoothly.
In large organizations, certain rules must be codified. Owners do not have a chance to get to know all his employees well. In my case it is so much easier that in USEO I am the only person managing the team. 10 years ago I started just by listening to my instinct, today I am more aware of what and how I do. Some of the solutions that work for us are the result of cooperation with the team, some - my own learning from mistakes.
Before we get down to business, one more important caveat: the organizational culture of a small company moves from the owner to employees and from existing employees onto new employees almost automatically if it is consistent, and if it is a way of working and communicating that is in line with us, and not an artificial, imposed top-down code.
Be close to people and talk to them. It seems obvious, but - especially when working remotely - it is not. In the daily workload, we fall into the "do this, check that" mode, so we should remember to talk with each other or even make plans and schedule a face-to-face meeting in the calendar. Not necessarily about work - sometimes it's good to call and ask what's up, check how people feel, what is happening with them. It is important for me to know my employees.
Something that seems just as trivial, and I think is quite a rare skill, is listening carefully. It happened to me once that a developer complained about one aspect of his job. I listened and thought that everyone has to complain sometimes, it can't be that bad. I did not hear how important the matter was for him and I did not manage to rectify the situation, because he came with a notice for the next interview. From now on, I do not wait, I talk and react at the first signals.
Sometimes people say outright what they need, but sometimes they don't quite know what's wrong. Someone is frustrated, needs some change, is troubled by something, but is unable to define the problem. For such situations, we have recently signed a contract with a psychologist specializing in emergency help in professional problems. I've found that this is one of the biggest challenges in our industry right now - responding to the first symptoms of burnout - and psychological help is becoming more and more needed.
Selection of people in the team and support
Maybe this is an unpopular opinion, but when hiring new employees, it is more important for me that they fit the character of the team and quickly become part of it than have the best skills or great achievements. Knowledge can always be supplemented and a junior can be trained. And when we get along and like each other as people, we naturally start not only to work well together, but also to get along with each other.
My employees can count on both mine and each other's support. They can always come talk or call when they need to. Even if it is a matter of bringing the couch.
Generally - we do not turn off the phones when we finish work. We help each other, and it brings us closer.
It's easy to remember to give feedback when something bad happens or when we finish a big task. Then it comes naturally, automatically. It's harder to remember to appreciate people for good everyday work, and that's 90% of their work. It is also worth noting this unspectacular but necessary part of the work.
Authenticity in management
Putting on the mask of an inaccessible boss (or any other mask) would be exhausting for me. From my perspective being authentic really matters. Especially when you start a company, you need to build a culture in which you will feel good. Then you intuitively select people who work in a similar way, who are suitable for you and will feel good in your company.
Of course, the point is not that we should always agree on everything - it would kill creativity, but in a small team where we work together all the time, we just have to get along, speak the same tongues.
And when you don't pretend, your employees know what to expect.
Trust and commitment
I want to build a work environment where employees are not afraid to say what they think. In which they may disagree with me and we are able to talk it over. First of all - where they are not afraid to make mistakes.
This, of course, only works in teams that have a strong sense of responsibility for their work and a high level of commitment. I can imagine someone using the permission to make mistakes to do less, inaccurately, make the same mistakes repeatedly through inattention or laziness. But here again - being a team and good team relations mean that no one leaves their team on the battlefield.
Importantly, the employee who makes a mistake will probably also be the one who catches it the fastest, so he must also be able to admit the mistake. He will get help and support in rectifying the situation and I am sure that he will draw conclusions from this situation.
At USEO, we are lucky to work with clients with whom we have exactly the same friendly relations and we share the same values. Thanks to this, we can also allow ourselves to trust developers who have access to every part of the project. Theoretically, with one change, they can turn everything upside down, but thanks to this they feel responsible for the project, they feel that they have an influence on it. They are part of a project, not a lonely island.
I think that good relations with clients also translate into employees' attachment to the company.
Benefits are, in my opinion, less and less important. There is a certain standard, i.e. health insurance and sports cards, that virtually every IT company has, but those famous fruit Thursdays are a thing of the past. Especially in the era of a pandemic, when remote work reigns supreme.
However, it is absolutely worth monitoring the situation on the market in terms of wages. The situation is changing rapidly, you need to be up-to-date and adapt. When employees feel that they earn good money, I do not risk that they will leave soon, because someone else will be able to easily "buy" them.
Finally, something that is the most difficult, because it is not entirely dependent on the company. We have the least influence on providing developers with technologies that are up-to-date and that fascinate them. We often start a project in technology that is new and trendy, but after 5, 7 or 10 years the technology changes and we are left with a big project in a language that is no longer sexy. And it can't just be changed.
If, on the other hand, the client is aware of the market situation, together we make sure that technologically ambitious things happen in the project, to keep up with the times and invest in new solutions. Even if we cannot work in the currently most popular language, we care about the most modern solutions. And this is a development opportunity for developers.