When teamwork and partnership with the client are priorities — meet our Java Developers
Are you curious about what the daily work of a programmer at Boldare looks like? You’re in the right place. Keep on reading to find out about challenges, self-development, and what goes on behind the scenes of a Java developer’s work.
Table of contents
My name is Maciej and I’ve worked at Boldare as a Java software engineer since 2020. Currently, I am also preparing to take on the role of tech lead for my team. Let me try to explain my roles and the Boldare environment in this diary page style article!
Interdisciplinary team
So, on a day-to-day basis, I work with my team to develop the Prisma product. Prisma is Europe’s leading gas capacity trading platform. My team includes developers from both the Boldare and client side. Most of my time is programming and gathering requirements for new functionalities. We scale and look for new markets for the product.
Generally, I provide technical support to the product owner in defining what is necessary for effective platform development. The product owner has a great business mindset, but some solutions require strong technical knowledge, such as the feasibility of implementation, time, or cost of a new functionality. Supporting my team is also one of my duties.
Our team is interdisciplinary in terms of specialties and roles, but also in terms of seniority levels. There are developers of all levels here, so as a senior I support and mentor junior colleagues. Pair programming, code reviews and online meetings are the daily routine for us.
Online mode on
Mostly we work remotely, and the main communication is online. My team is international - there are German, Ukrainian, Russian, Polish, Kosovan, and Romanian experts. For this reason, communication takes place in English and on a dedicated public channel, where, in addition to team members, the client is also present. I find this solution very effective, because all communication is in one place. We don’t divide channels because of backend or frontend. The goal is to maintain the radical transparency which we have developed with the team. All matters related to product development and software development execution are easy to find on one channel.
Long-term effectiveness
My team wants to be effective long term. We take care of each other, checking that tasks are smartly distributed and no one feels overwhelmed by the upcoming sprint. In a moment of failure, we don’t look for blame, but support each other and learn from mistakes.
It’s a culture of feedback and knowledge sharing, so we conduct dedicated feedback sessions and slots for sharing business and technical knowledge. Each team member shares insights and the context of the work being done in their roles. We also reinforce self-organization and ownership, aiming for everyone on the team to feel comfortable enough to act independently when the rest are absent.
More than “just a job”
When I think about my work, I see a healthy balance between ambition and feasibility. Our sprint goals are achievable. At the same time, achieving them gives an incredible sense of satisfaction. We don’t rely on unrealistic deadlines.
At Boldare, a lot of attention is paid to the well-being of employees. In my team, people feel comfortable with each other, no one is alone, and when a more demanding period in someone’s private life arises, they can count on the team’s understanding and can calmly deal with their priorities. This is a result of the great openness we practice within the team and the organization. We don’t slap together code like code monkeys, but build interpersonal relationships at work. We talk to each other, get to know each other as ordinary colleagues. As a result, we can afford a fair amount of empathy for each other.
Good client vibes
The entire product team is in very close contact with the client. This makes work and communication more effective, which translates into speed of decision-making. We don’t need unnecessary proxies like managers, and we don’t waste time on long communication chains. All developers can discuss current topics directly with the client team, which increases our efficiency.
A good relationship with the client also creates a good atmosphere. With the specialists on the client side, we build software together, but we are also able to talk, even about our private passions, which only confirms that our relationship is a true partnership. From time to time we meet face-to-face to maintain the good vibe of our cooperation.
Phase-based product building
At Boldare, we build digital products in phases. I believe that using a phased approach to software development makes cooperation with clients better. Why? Simply because the client gets what the product needs. Sometimes a client doesn’t know what they need, and it takes a lot of time to discover it together – that’s why we use dedicated Product Discovery Workshops for this purpose. It is the extraction of the real business need that can be one of the biggest pains for many programmers.
Phased product building, divided into prototype, MVP, PMF, and scaling, gives some support and eases the developer’s daily work. It helps to make accurate decisions on, for example, architecture, which naturally depends on the product development phase. For example, if we know that the product being developed is a prototype then our decisions will be different than if we were scaling, when there is a lot of traffic and focus on maintenance.
Challenges of self-organization and transparency
One of the challenges a developer may face after joining Boldare is working in a radically transparent and self-organizing environment. In a holacracy, no one will order you about. So, interpersonal skills and the ability to extract domain and business knowledge count. Self-organization involves accurate planning of your time and prioritization of activities, as well as paying appropriate attention to urgent areas. Transparency manifests in speaking loudly about blockers and in open access to most information in the company (budget, project status, problems of other teams, and even salary processes are open to the whole team).
Self-organization and transparency are supported by continuous collaboration with other roles and teams. When undertaking any activity at Boldare, we pay attention to how it affects the organization and our teammates’ work. We don’t act like code monkeys, but instead look more broadly at the performed activities, which results in a sense of meaning and a purpose-driven approach. Giving and receiving honest feedback also helps us work effectively.
Self-development opportunities
Are you wondering what self-development at Boldare looks like? It requires you to proactively determine your own needs so that you can then (with the support of the appropriate people) determine your career path. Due to the flat structure of the organization and the fact that we work very close to the client, you can quickly learn a lot of things here. At times you may be thrown in at the deep end and gather a lot of responsibilities that require decision-making - this, among other reasons, makes it an ideal place to grow.
The course of events in a project is fast, and the decision-making process is short. Independence in decision-making and the lack of managers allow you to learn from your mistakes and gain wisdom for the future. It’s an open-minded environment, which is why I like being here.
Curious about new opportunities at Boldare? Check out our career site and find your dream job now, or join our talent pool!
Share this article: