Every company needs to find its value proposition – that special something that helps to attract new people and at the same time helps people already on board perform at their best. For some companies, this means offices in skyscrapers, for others gadget vending machines. While all of those are awesome, we’ve seen during our 30 years on the market that the most desirable values are freedom, flexibility, and stability.
Our experience shows that the best people are able to perform at the highest level if they are comfortable, have the freedom to make decisions and take responsibility, and have the needed flexibility to achieve a work-life balance that suits their needs. If these key values are lacking, everything else – high salary, awesome projects, or using cutting-edge technology – won’t be enough to keep people happy, motivated, and looking forward to what the next day will bring.
At Uptime Development, we’ve put a huge emphasis on offering our teams and our employees the freedom to make decisions and to take responsibility for their choices. This means that the amount of micromanagement, bureaucracy, and pointless levels of approval so prevalent in many seemingly modern companies are cut effectively to zero.
But how does it actually work? Well, it’s quite simple, but it’s important to understand that freedom and responsibility can be viewed at two distinct levels – that of the teams and that of the individual people within those teams.
Let’s start with the first one. As with any modern development company working with agile methods, our staff is divided into teams, usually consisting of a team leader or project manager(s), developers, QA managers, DevOps specialists, and all other necessary roles. Each team handles a set of projects at any given time and when it comes to these projects, they have near full autonomy on how to approach them, how to organize their work, and how to solve any issues that might pop up.
As such, each team can find the methods that work best for them, without interference from the CEO, CTO, or any other party. If a team sees that they should only work from home, use some particular tech-stack, complete tasks in a particular order, or pretty much anything else that can be decided on, they have the freedom to do so without anyone else prescribing to them the “correct” way to do things. In the end what matters is that the project is delivered successfully and that both the team, the client, and all other related stakeholders are satisfied.
This does not, however, mean that the teams are left to contend with their problems on their own. Whilst the management and other supporting personnel (HR, marketing, architects, etc.) do not interfere with the team’s work, they are still there to help if they are needed.
That means that if the team needs it, the CTO and an architect will be there to aid with any technical challenges, the HR team helps to find people with suitable skills, and the management team can help with budgeting, client communication, or whatever else might be needed. As such, if the team needs any added support, it is there and readily available. However, if everything’s running smoothly and nothing else is needed, the team can operate in exactly the way they have chosen and consider most suitable.
Just as the teams have a clear goal set out for them by the client and they can choose the best way to achieve it, so is it for any individual team members. Within their team, each member has autonomy over their work, as long as the rest of the team agrees with it, and it helps the team as a whole to achieve their goals. This means, for example, that a developer knows which parts of the overall system they are responsible for, and it’s their choice to choose the order to work on them, the exact technical approach to choose, and the exact way to solve the challenges – provided that what they create plays nice with everything else being created by other developers and that it fits the requirements set forth by the client and the team.
In addition to having great flexibility and freedom with their own tasks, each team member is also encouraged to make their opinions heard on a wider scale as well. This means, for example, that each team member can contribute the choice of the tech-stack for any particular project, or if they feel that some new framework would be perfect to try out for any project, then they are more than welcome to make their case and if the team agrees, the solution will be implemented.
All of these freedoms also translate to flexibility and a great work-life balance. Whilst it’s up to each individual team to choose their working methods, each team member also has the option to work in a way that best helps them achieve their goals, both professionally and personally. For example, if a team member needs to take a week off, needs to work from another city or another country for some time, or work mostly outside normal working hours, then that’s something that’s fine if the team finds it suitable.
So, in short: we see that people can achieve their best if they have the needed freedom and flexibility to do so. This, however, does not mean anarchy and that everyone does their own thing in their own way with no regard for the wider picture. Each team member and each team are contributing to a common goal, but the details and specifics on how to achieve these goals are something that everyone can decide for themselves.