Interview with software engineer Frederike
Frederike Ramin has been a software engineer at DigitalService since December 2020. Before that, she took part in the Tech4Germany fellowship programme and studied at Hasso Plattner Institute. Frederike has half a library of lyrics in her head – and the right song for every occasion. That makes her particularly popular at team events.
"Writing code means a lot of freedom, influence and responsibility."
How do you perceive the team spirit at DigitalService?
It's perfect. I've been with them for three quarters of a year now and am already an integral part of the team. DigitalService really welcomed me with open arms. Our team has also quickly grown very close working on projects.
You were initially a fellow at Tech4Germany at the Federal Ministry of Food and Agriculture. What project were you involved in there?
We were building an interface there for the plant protection products database to make possible direct retrieval of relevant data and to get easier access to it. The project has just been officially launched: psm-api.bvl.bund.de. I am pretty proud of it.
You studied at Hasso Plattner Institute (HPI) and worked there as a research assistant during your studies. What did you learn at HPI?
I learned an incredible amount about teamwork at HPI and about how to write software and what large software systems can look like. We executed a lot of projects during the practice-oriented degree programme and were able to build up our own portfolio early on.
You were also teaching young people there, am I right?
Yes, I was. Together with the young people, we programmed Lego Mindstorms robots that could drive, make sounds or recognize colors. Every young person was able to implement their own project under supervision for half a year. They really loved it. We implemented it all with Java. My job was to teach the basic concepts of programming and to provide assistance. Once, a participant told me that she had decided to study at HPI because of my supervision. That made me feel great.
You have been with DigitalService since December 2020. Why did you decide to join this organization?
People. Thanks to my participation in the Tech4Germany programme, I already knew that everyone here is really open. And that it would definitely be a lot of fun to work with the people. I could just imagine how fantastic it would be to work at DigitalService – and it turned out to be true. For example, there are people here who are so new that we haven't even met in person yet. Nevertheless, for some reason I'm sure we'll get along.
How important is purpose to you in your work?
It's a key factor. This is what makes it possible for us to have a major impact. All over Germany. We are motivated by the realization that, together with the administration, we can really make a difference. One project at a time. This purpose is at the heart of everything we do. We are all moving north together and that creates a real feeling of togetherness.
What mission did you set out on?
Digitalizing the public administration. DigitalService brings new ways of thinking and working into the administration. With our agile methods, we show how it can work in a very direct way. First of all, we want to make it easier for citizens to interact with the public administration, and secondly, we want to make it easier for administrative staff to work with our software products.
What have the highlights been in your work so far?
One highlight was the user tests in the Steuerlotse project. We asked users to submit their tax returns using our programme. They then walked through our programme step by step and gave us feedback: What works well? Where is there still room for improvement? The general feedback from our target group, pensioners, warmed my developer's heart: "It's never been so easy for me to do a tax return before," "It was totally simple," "The process was totally clear”. When you put a lot of thought and work into a software product, it just feels good to receive positive feedback from users. That was a big highlight.
How do you share knowledge on the team?
Let me give you one example: Yesterday, we were sitting together in development on the front end. A question came up. We went to our senior developer and voiced the question to him. Our senior colleague then explained the whole thing to us in a non-judgemental way: But what you need to know is this… He simply welcomed our question in a clear way and answered it. This open approach to gaps in knowledge or questions is very positive. I can always say if I don't know about something. And that's what allows me to learn very quickly.
What is your error culture like?
We stage weekly retrospectives where we openly share our views about the process and where we see potential for improvement. This is one of our most important tools. We never miss this meeting. If there is any bug in one of our programmes that is causing problems for users, we throw our resources into finding it quickly and fixing it just as quickly. If we succeed, we celebrate our success.
What criteria do you use to develop software? What are your guidelines?
No. 1: It simply has to work. And of course we develop agilely. We started developing the Steuerlotse project with a specific scope. Now that the product is basically in place, we are continuing to develop it iteratively. Every week we ask ourselves: What added value can we create now for our users? That is what is then implemented.
How do you guarantee that you can iterate quickly?
By making the packages small enough. Which is what ensures that we will reach our goal in feasible steps. We are implementation-focused and take a solution-oriented approach. We don't say: We're doing Steuerlotse 2.0. We say: Steuerlotse 1.1., 1.2., …
What makes a software good in your opinion?
During the process, it is important to think about what technical debts there are and to reduce them in the process. Fortunately for us, we write a lot of tests that are automated. Thus, with each iteration, we are able to make sure that whatever we wrote in a previous version still works and is not affected by the new feature. We put out a new version of our software (steuerlotse-rente.de) and develop it further on an ongoing basis.
How does your work make the lives of users a little better?
Our work on the Steuerlotse project makes life easier for pensioners because they no longer have to deal with complicated, outdated software, and instead actually receive a very simplified version of a tax return from us.
What makes you stand out as a team?
There are three different roles in the Steuerlotse project: Our designer develops the user experience. We have three product managers who prioritize features and familiarize themselves with the issue of taxes in a legally watertight manner, and three developers who implement the prioritized features. As a developer, I also have a say in the prioritization and provide an estimate of the effort required in each case. We follow an adapted scrum process in the team, which is adjusted on a weekly basis. Whenever we notice that something does not yet perfectly sync, it is redesigned to fit.
How do you perceive yourselves as a team?
We value personal exchange. As a team, we want to know what is going on in each other's lives. We are not only colleagues at work – we have also developed friendships.
How does working at Tech4Germany differ from working at DigitalService?
At Tech4Germany, the administrative staff was told: Please devote one day a week for three months to the fellowship programme. Now we have to fight a little harder for these time resources in the administration. But the impact we have with DigitalService is greater. At DigitalService, we take responsibility for there really being a functional product that can be readily used at the end of the respective process. Tech4Germany likes to work without constraints, open, and unbiased, which has its own intrinsic value.
What are the advantages of open source?
At DigitalService, open source is a basic principle. We want to develop as much as possible in the open in order to make our solutions reusable for others. On our team, for example, we made our code open at the earliest possible stage. There's a big community aspect to it. On top of this, people from outside can have an influence and support us with their experience and knowledge in the development. We want to work for the common good and provide a real service to society. In the end, we are paid from taxes. So it's only fair to share the software we write.
Women and technology…
…is that a question? I have a hard time with that question…
Because I don't understand the difference. In my reality, it doesn't matter who writes code. I'm more interested in the code and the features. Of course, I can imagine that there are women who see this differently. After all, there's a reason why this is indeed an issue in society. It's just not that big a deal for me. I've probably been extremely lucky with my milieu up to this point. Gender equality is a living thing at DigitalService, so as a female developer I don't have to worry about inequality at all.
How does it feel to write code?
I am at the end of the process chain and write the code. As a developer, it's up to me what is actually embodied in the product. That's a feeling of a lot of influence and extreme freedom. But also a lot of responsibility. And it's just a lot of fun: You write ten words and a website looks completely different. So I get direct feedback on what happens when I change two lines. That's really special. Time after time. Programming really never gets boring.
What new things have you learned at DigitalService?
Working in an interdisciplinary fashion. It's absolutely brilliant. I wouldn't want to do without it. This is also the first time that I have written software that is used by people with whom I, as a developer, compare notes. This direct feedback is extremely valuable for me in the development process.
If DigitalService was an animal, which one would it be and why?
Definitely a pack animal. That's already clear. We're not wolves. Lions… No, that doesn't fit either… Maybe deer. You don't see them that often. But they are majestic, graceful animals.
What would you have liked to know earlier?
It's OK to admit when you don't know something. Computer science is such an incredibly broad field. You can't know everything. It's simply impossible. So please don't pretend you do know it all.
When was the last time you had an aha moment?
Yesterday, when I grasped how React servers work.
What aspects mark a learning organization? How does new knowledge find its way into DigitalService?
At DigitalService, we constantly face new challenges and want to find the best possible solutions. In internal exchange formats between teams, we openly share our knowledge and know-how, our take-aways, learnings and stumbling blocks throughout the entire organization.
How do you put diversity into practice?
When we work on a topic as a team of seven, we get seven different perspectives on a problem. And then we talk about it. Everyone contributes their individual background, skill sets and convictions and shares knowledge openly. We celebrate that. We leverage diversity.