Olivia Vereha is the Chief Operations Officer of Code for Romania, a non-profit organization founded in 2016 to fix social and civic problems in Romania using technology, trying to bridge the gap between the government, non-profit sector, tech volunteers and citizens. Olivia was invited to speak at the second Česko.Digital meetup. We have managed to steal an hour before that to talk about the change civic technology can bring into our countries and how to run an organization with hundreds of volunteers.
Code for Romania has been running for about four years…
It’s three and a half years, yes, something like that.
…what would you consider as your biggest achievement?
That’s a long list! :–) I think the first crucial moment for us was upon its launch. We had already launched a website before we went out public and we were expecting about 60–70 people to our small event in a tech hub. And instead we got 150 people showing up and 300 applicants that night. When we woke up the next day our inbox was like this big because we all got a notification for each new subscriber. This was a moment when we have realized that there’s a huge appetite for technology and volunteering in technology.
Another great achievement was when we have managed to develop the Vote Monitor. Vote Monitor was our third project, launched in 2016, and it has become our flagship project since then. We have realized as we were building it that it’s one of the three tools in the whole world for monitoring elections and it was the first demo of what digital advances can do in the public sector. We have replaced pen & paper and a six months long process with something that happens in real time and through a very simple solution. Also, it was the moment when we had a peak in volunteers joining Code for Romania because they have finally understood: “Oh, so this is what we’re doing. We’re fixing these issues that we all struggle with and we are empowering the civil society with tools to do their job better.” I think this was the moment when people started understanding what “civic technology” is really about.
Another important moment was in 2018 when we have organized the Code for All Global Summit. It was the first time when we actually brought a civic technology event to Romania. Both internationally and locally it was quite a breakthrough for us. And for volunteers it was again the moment when they understood where they are on the global map.
How many people work full-time and are paid to run Code for Romania?
Starting this year we have a core team of 23 people, out of which 8 are full-time employees. But it’s not just the 8 people doing all the core work. It’s a team of 23 people, some of them receive salary for what they’re doing, others are pro-bono employees. Which means they behave like regular employees, they punch in their vacation days and commit to a set number of hours every week, they have a boss, etc. They are more than just volunteers who have the freedom of coming in and out of a team whenever they want, they work pro-bono. And these 23 people are in charge of handling everything that Code for Romania does – two national programs and several other side projects.
What’s your financial model?
We finance ourselves like any other non-profit organization by applying for grants, applying to specific foundations that have institutional programs to support NGOs, and we have sponsors for our programs. These are the main sources. Also there’s income from individual donations from our larger community and we also have a branch of commercial work, but that’s very small and with an asterisk next to it – we do commercial work, but only with a social twist. So we’re taking paid contracts as long as the app still serves some social purpose or it’s going to impact the social area. And there’s also a very, very small sum coming from monthly membership fees of Code for Romania members.
Is there some kind of money you do not want?
Yes. Our status says clearly that we do not take money from public institutions. This is a decision we made back in 2016 when we launched and we are going to keep it that way. We live in a very corrupt state with a lot of people pointing fingers and we don’t want to join that team. We also don’t take money from tobacco companies. Generally every time a company decides to fund us, we run a background check to make sure these people are safe and clean. Every such company needs to be approved by the community.
What would you say is your main know-how, your main skill?
Our biggest skill in the social and political context of Romania is that we manage to make things functional. For the first time there’s an entity that is trying to provide the public sector with all the tools and the know-how necessary to streamline their activity, to become productive, become efficient, stop spending money on stuff they don’t need, stop spending money poorly. We are trying to not just develop tools, but also to educate the non-profit sector about using their resources in the best way possible. And yes, we’re definitely good at coding, we have a community of over 900 people out of which more than half are developers.
What was the biggest problem you had to solve?
Figuring out how to deliver at the same pace, the same standards of quality, without having any funding. Not having funding in our first three years was really a big challenge, and this organization existed solely because of a handful of people who have worked for 8 hours every day after work, putting in the same amount of time they would with a regular job.
But we never compromised any of our projects, any of our flows just to apply for a grant or to get funding. Usually the practice is that there’s a call for proposals and people start building a project on the spot just to get the funding. We never did that. It cost us a lot of energy and personal funds, but we said we were going to find those funders and explain why our way of working is better. And we were lucky enough to actually find these funders eventually.
Did you manage to establish a good relationship with the state?
In the past few years we had a lot of protesting in Romania, a lot of people raising against the government, a lot of media coming forth and saying the government is not doing its job well. Individually, members of Code for Romania have been protesting, but we have never rallied as an organization. There are organizations that are great at advocacy, they are doing a wonderful job, and our job is to give them the tools to act efficiently.
The fact that we were never militant also helped us in securing a good relationship with the government. You can’t get them to participate if you’re going to point fingers. The crowds always see what’s on the screen and the public figures that are often incompetent and corrupt, but what they don’t see is those really good people who are in those ministries, those agencies, who really want to do a good job. And we have managed to get into these institutions and identify these people and start working with them, solving their problems.
What also got us credibility is that they understand what comes out of this. We make it simple, easy to measure – number of visitors, what kind of impact was achieved, it’s all very numeric and very simple to understand. This was also the reason I have joined Code for Romania when I first heard about it – it was the first place where my skills as a UX designer were useful in the public sector. It was the first time a devops engineer finally found a place to volunteer. If you’re going to make me plant a tree, that tree is going to die. I’m awful with plants. But I can design a tool that’s going to increase awareness on why you should plant trees and get the people who actually can do it.
Lots of trial and error
Each time you work with volunteers, there’s always these two groups: a group of people who would like to help and a group of people who need helping. And then some kind of magic needs to happen for these two groups to connect. Did you find the right incantation, the right spell?
I know the right incantation for our developers, I can’t tell if it’s right for any other cultural space. Our average volunteer is a senior developer in his 30s who probably has started a family, he’s at a point where he doesn’t necessarily write a lot of code at work, he’s a team leader or a project manager. He dreads all the small things he has to do to get a project done – task management, documentation, testing, etc.
Initially we tried to replicate a traditional IT company, we had project coordinators and all the professions we needed inside the team: a UX designer, a communications person, a content writer, a tech lead, and so on. We tried that for a whole year and it didn’t work, especially because nobody wanted to do the mundane work. We have realized we needed a lot of automation, which we managed to introduce, but it didn’t solve the problem. Finally we have realized what we actually needed was a bigger core team. So now we have a total of 8 people in our core tech team, one of which is our CTO. And these 8 people are responsible for the infrastructure (all things GitHub, repositories, …), for building the architecture for the solutions and breaking down tasks. So as a developer you can go to any project, take any task and work on it for a few days depending on your availability.
There are three main benefits of this. First, you don’t have one person knowing everything that goes on in a project – you have 8 people knowing everything that happens in 8 projects, at any given moment, so you always have the support that the volunteers need. Second, we invest in getting the projects documented, so the information is available for anybody, and third, we managed to minimize the time needed to set up a working environment so you can actually work on a project.
We also needed to solve the rhythm of development. Because when working with volunteers you never know what’s going to happen – there’s going to be a baby coming, a cat dies, life events that will prevent the volunteer from prioritizing what they need to do for you. And you don’t want to put the whole team on hold. So every month we have four events happening at the same time in four cities in Romania with 12 hours of coding. It’s not a hackathon, we don’t do hackathons. It’s simply a day where you can come to a physical place with your laptop and code with everyone else. And usually what gets done in a single hackday equals to what gets done through an entire month remotely. This helps us to keep a steady rhythm. People see there’s progress and the tech team can’t linger in doing code reviews. You just need to have the code finished this month. It’s a vicious circle we’re exploiting to get people to work :–)
It’s all baby steps, trial and error. Lots of trial and error.
You have already mentioned that you run two national programmes, can you tell us more about your methodology?
People understand coding and what happens at the hackdays and the Tech for Social Good programme. However, the Civic Labs programme, which is everything that happens before the first line of code is written, is a bit more difficult. It’s a new methodology that we have been working on for over a year, nobody else is doing it and we’re really proud of it. We’re doing actual research, like sociological research in the field, to identify pain points in various domains. We have a dedicated team that does that and then we take those problems that we have identified, we go through tech research to understand how other people have solved it, then we go through an incubation phase where a team of UX designers comes up with a solution concept, then we build a prototype, test it with direct beneficiaries, document it and we put it into— something that I’m going to call an online marketplace. We have an online marketplace with technological solutions to some of Romania’s biggest pain points.
We put a lot of work into the research phase. For example this year we have six domains: education, health, environment, transparency and accountability, vulnerable groups, and civic engagement, and we take just one small piece every year, so under “health” we’re doing research on mother & child healthcare this year. Under “vulnerable groups” we’re doing a 12-month research on domestic violence. And so on. Currently we have about 20 solutions already on the Civic Labs website and by the end of the year there’s going to be around 80–90 prototypes of solutions for various problems.
Obviously not all problems can be solved with technical solutions, some of them have legislative solutions, so we pack them in a nice newsletter and send it to the parliament hoping someone opens their email. We also try to raise awareness by delivering all the research and opening absolutely all our data to journalists, we have media partnerships etc.
How many of these prototyped solutions can you turn into reality?
Ever since we have started designing the methodology, we understood that we will never ever be able to develop all the solutions by ourselves. No matter the number of volunteers, we have a capacity of delivering up to 6–8 projects at any given moment. We will have 80 prototypes in the marketplace and 6–8 projects in development. So we went to the funders and told them: We’ll give you the issues mapped out in our research, we know those problems are valid, we’ll give you the solutions that our IT specialists proposed, solutions that are up-to-date, well suited to the problem. Don’t give money for ideas you are seeing for the first time, adopt some of our solutions and open a call for proposals based on them.
We had the Vodafone Foundation Romania this year opening its first call through the Civic Labs platform and saying: We want to give money to NGOs to implement and use these solutions. The NGOs didn’t have to come with the idea, they would just prove they have the capacity of using that tool and getting results and becoming sustainable if they had that tool at hand. That was the first time and it was really hard to find that first funder who trusted us to change their funding model through a platform that was just recently launched. But the call went great.
The funder doesn’t have the tech knowledge to evaluate a proposal and the NGO does not have the tech knowledge to propose a viable digital solution. And even if they got the money and their idea was good, they run the risk of being suckered by an IT company that’s going to make money off of them. No. Code for Romania comes in and tells them: This prototype of the minimum viable product cost roughly 12 thousand Euros, so they would have an estimate. And then we’re also forcing them to open the code through the contract, so that other NGOs can also use the solution. We’re also preventing another practice that’s very common in Romania, for both state institutions and NGOs, where they actually buy a license and not the product. Because they don’t understand how it works and then they realize they are slaves to an IT company that owns the rights to the product.
So we’re kind of bridging between the actors and trying to make sure the products are delivered at the real cost and both NGOs and funders do what they’re best at.
What are your upcoming challenges?
The challenge remains the same: securing enough funding so that we can go to sleep without worrying about the next year. We used to worry about the next day, now we worry about the next year, which is fantastic progress :–)