Bitrise, the CI/CD Saas scale-up with multiple offices around the globe, keeps growing: we are looking for our new colleagues, especially for our Infrastructure team. Gergely “Felhő” Hodicska (VP of Engineering) and Artúr Herczeg (Engineering Manager) share their insights about the company, the Infra team, and its challenges.
- First of all, what is Bitrise and what do you do?
Gergely Hodicska (GH): Bitrise is a Continuous Integration and Continuous Delivery service in which developers can piece together workflows from Lego-like elements called Steps. With our Steps, every process that comes between coding and the user downloading the app (build, test and deployment) can be customized and automated. Our goal is to cover all the stages of the DevOps cycle in the next 1-2 years; we are already working on our Mobile Monitoring solution at the moment.
- What makes working for Bitrise interesting?
Artúr Herczeg (AH): It’s a constant challenge. The company is growing very very quickly, and there are very few companies in Hungary undergoing a similar hyper-growth. At the beginning of 2017, we had six employees, now we have close to one hundred. This means that the company is constantly changing.
Whatever works today might not work in six months.
We have to work hard to be more and more efficient and it is exciting to be part of this scaling and growth. We have to have answers for today’s challenges and to improve ourselves in the meantime to get ready for tomorrow’s challenges too.
GH: Exactly. And let me add that here everybody can build their dream company now, and partially own it too with our stock options. Working for us,
people can move beyond the solutions that they used in the past and their everyday work can have a great impact.
There is a close collaboration among our teams and everybody can have an influence on the planning of the product. We are very product-focused and everybody has to understand that we are developing a product for developers, and we always have to keep our customers’ problems and interests in mind. We have to be open and mature enough to fully understand the problem that we aim to solve. The instant feedback coming from our users helps this immensely. Developers tend to give quick and frank feedback using Twitter, Slack and our support channels. Oh, and they often help out or solve each others’ problems too: part of Bitrise is Open Source, so anyone can open a pull request or write their own step that anyone can use.
- Can you tell us about the teams you’re hiring for?
AH: We have plenty of open positions, but we are especially looking for people to join our two Infrastructure teams. This is not a classic Infra team, but rather a Build Infrastructure one: they are responsible for the Bitrise Build Platform infrastructure. They don’t just work with infrastructure in general:
they create, maintain and scale the infrastructure on which our virtual build machines run.
The Build Infrastructure team is responsible for ensuring that the virtual machines and the network configurations work. The Build Services team, on the other hand, makes sure that the software can scale these machines dynamically so that we can run more than a thousand builds at a time.
- What are the most exciting challenges for these teams?
GH: The infrastructure for running builds on Linux is on Google Cloud, but the one needed for iOS builds is way more exciting. These run on Mac hardware and at the moment,
none of the typical cloud providers offer the kind of elastic cloud we need, so we basically have to build it for ourselves.
Bitrise has the second biggest Mac cloud in the world and it keeps dynamically growing. The other big field is the scheduling service that distributes builds.
AH: We manage the whole configuration from code, including any changes to the infrastructure configuration. In terms of tools, we use the usual suspects for this, such as Terraform, and our main programming language is Go. We manage a lot of hardware: we have one of the biggest Mac server infrastructure in the world. Managing Macs is a very challenging field. Then there is virtualization and the management of the stacks maintained by our Tooling team.
GH: This team, the Tooling Team does mobile build tooling and they are responsible for the Workflow Engine and the management of the related Steps and integrations. There are over 300 of these, so they never run out of tasks. The Steps and all other integrations are open source, so they often work with the pull requests opened by our users. This is also pretty unique in Hungary. Have I mentioned that we’re hiring for this team too? (laughs)
AH: But let’s get back to the Infra team. The Build Services team manages network and domain software that can serve hundreds of builds dynamically. In both teams, we use modern tools: Go, Terraform, Ansible and we’re striving for implementing and working in pure DevOps. We’ll introduce Accelerate metrics so we’ll have more feedback and this will make it easier to improve our processes.
- Felhő has said that the teams collaborate strongly. Could you tell us more about how this works?
AH: We integrate the otherwise separate teams and we strive to pass on the knowledge and experience from one team to the other, if the tasks need and allow this. So now there is an Infra team member in the Tooling team to pass on the hands-on DevOps experience. We also have a DevOps Guild with a professional workshop too. Once we have more people in the team, we’ll go on with the Guild structure.
GH: Another example is the Tech Lead Sync. This is an architect board platform, where we discuss the challenges, tasks and common goals concerning the whole of Engineering. Each Engineering team delegates a member and anyone can introduce discussion topics and then we proceed with these together. And all the team leaders have a weekly meeting to sync topics that concern the Engineering. All the memos from these meetings are public as transparency is very important for us and everybody can contribute, not only the attendees.
- What knowledge is expected of the applicants and what kind of people are you looking to hire?
AH: Most importantly, we are looking for someone with a growth mindset. The ideal candidate loves to learn, try new things and work knowing that they can make their work and the product better every day. We know that
almost no one is competent in as many areas as we need, so it is crucial that they have to learn many things as quickly as possible.
In addition, they have to be agile. This is related to DevOps and growth mindset, and it means that they have to be open and communicative and should work with their teammates and other people as much as possible.
GH: In the previous years, Bitrise kept doubling and tripling its size. This also means that the company, its customer base and the load on our systems scales every 2-3 years. This cannot be served by the old solutions so we have to improve all the time. As I’ve said: we’re building today’s challenges and ourselves too to match tomorrow’s challenges. I do believe that a company cannot be scaled solely by processes but with people who are able to scale themselves.
- How do you support continuous growth?
AH: It is very important that nobody stops self-improving, so basically with anything. We purchase relevant books, we’re building our own library. We organize the Bitrise TechTalks every month where anyone can give an educational talk to fellow engineers. As English is required, there are English classes for whoever requires them. We have a personal training budget, Pluralsight subscriptions, and we support our employees if they want to take professional exams. The present situation has put a stop to this, but it is possible to attend conferences. Last year, Bitrise sponsored more than 25 conferences worldwide. We attended them and yes, anyone from the company has the chance to attend sooner or later, if they want to. We talk to devs there, but we also visit companies and they are usually very eager to talk shop and show us how and for what they use Bitrise.
Last year we visited about 250 companies. We learn a tremendous amount from these conversations,
and the live, direct feedback on the product is very useful for everybody.
- What are the benefits for anyone working for Bitrise?
GH: They get, they have to get first-hand experience in the mentioned technologies, but really, it’s the whole package you get: technologies, agile work, constant improvement, and the DevOps culture. Few companies do what we do, even on a worldwide scale. But the most important thing is that everybody can have a great impact here. There are no politics in the company, so only our talents limit what we can achieve.
AH: The international, bigger perspective. Also, the Build Infra team works entirely in English as the Team Lead is British. But we also have a foreign trainee in the team, and our Budapest office is international, we have people from Japan and the Netherlands. Our other offices are in Boston, San Francisco, and London, and we have some remote colleagues in Canada and Japan. Oh, and our users are also 99% international.
- How would you describe the office vibe at Bitrise?
AH: Oh, it’s good! (laughs) People are friendly and above all: helpful.
GH: It’s cool and lively,
people want to do their very best and contribute as they feel that the product they work on is meaningful
and that this is a story they want to see unfold. Transparency is very important for us too: we have a monthly All-Hands meeting and (when we’re not all quarantined) after-hour social events regularly. The Spring 2020 Bitreat, when the whole company spends a couple of days together, got postponed, but we’ll be able to get together for the Autumn one.