Ice Breaker: Balin & Aurora on building race cars and complex software systems
Introduction
Ever wonder what it takes to build a race car? We sat down with Balin and Aurora from Revolve NTNU to chat about building race cars, complex systems, collaboration, and using the C4 model. It was super cool to learn about Revolve NTNU, a student-run organization that gives students hands-on experience building a product with a cross-disciplinary team. Revolve NTNU operates very much like a startup, and it was neat to see the parallels with our journey building IcePanel.
Read on as we zoom through insights on engineering, teamwork, and their experience adopting IcePanel. 🏎️
Can you tell us a bit about yourself?
Balin: I lead a team of three data engineers (including myself). We make apps and websites to improve how we work. We have a combination of apps, some of which are productivity tools, but we also have some critical systems for the car. For example, our telemetry system is our most important system, which I’m mainly responsible for, and that’s receiving data from the car, which is one of the most important tasks.
Aurora: I’m responsible for PR and business performance at Revolve NTNU, so very involved in public relations and marketing.
Before diving into more specific questions, our engineer David really wanted to know. Are you Team Red Bull or Mercedes?
Balin: If I had to pick, maybe Mercedes, even though my team members disagree. 😅
Aurora: Yeah, I’m a Ferrari fan, but between Red Bull and Mercedes, definitely Mercedes.
Can you tell me more about the NTNU program?
Balin: Revolve NTNU started in 2010 to give students theory in practice. The Formula Student competition presented a great opportunity for our students to get practical experience with teamwork and engineering.
We started as a small side-project, run by 4 mechanical engineering students who mainly just wanted to build a race car — but we have become so much more. Over the years we’ve worked tirelessly to become a winning Formula Student team, and we now develop high-technological solutions within mechanical, electrical and software engineering. We’ve gone from best newcomer at Formula Student UK in 2012 to winning our first overall competition at Formula Student Netherlands this summer — and we have even higher goals for the upcoming season.
Aurora: It’s a student organization. A lot of people join for one year, but then there’s also a lot of people who do multiple years, and it depends on what you want to get out of it. We’re a startup business with the way we try to build a product based on what previous teams have accomplished. Every car is an evolution of the one before. You really do become part of the team and feel that passion which goes along with the project.
What are the goals of the program?
Balin: In school, you learn all the theoretical maths, physics, all of the basic stuff, groundwork. It’s difficult to get hands-on experience with what you’d work with when you finish. So Revolve NTNU is a fast track for getting some experience while you study.
What motivated you to join the program?
Balin: I’ve been very curious and very motivated for a very long time now. And the people that are part of Revolve NTNU basically fit that description very well, just very like-minded people. And just the fact that I can surround myself with people who are really good at what they do is really motivating.
Aurora: I was really motivated by the aspect of theory and practice, getting a more tangible idea of the abstract concepts that you learn at school and being able to work in a dynamic environment, which is something that I wanted to try. It was a new experience, and I knew that it was going to be challenging. I love challenging myself, so I felt that’s what propelled me to start, and I committed to it because the people are just so passionate.
The program starts with a 2-week bootcamp for learning the fundamentals of building a race car. Can you explain to beginners what’s involved in building a race car?
Balin: You have to think about a lot. First of all, you have to make a car. You have to have all the basic components. You have to have the wheels, the suspension, the platform for the driver to sit on, and then you have to have the mechanisms to steer the car. The more difficult thing is the race car part of it, which is making everything super light and still making it stiff enough not to break down. Having the lightest battery to the most effective algorithms. All of these problems are exponentially harder. The more you want to optimize and improve, the more difficult it is and the more risky.
Aurora: I would say just building a race car is just like building anything. You need to have an idea, the design, and then you need to understand what components you need to realize that design, and then you have to actually make those components and assemble them. That’s all there is to be short and sweet. But there are so many other complex things involved in all the different steps and stages of our organization and the development of that race car, obviously.
Your car this year (HERA) did extremely well in competitions. What changes or innovations led to the success of the car?
Balin: That’s an interesting question. From a technical point of view, I was part of their aerodynamics group last year. I know we made some improvements in the aerodynamics. More downforce, but also some practical changes. For example, before we mounted the battery (the battery is a really big and heavy thing) beneath the car, whereas last year we changed it on the back side which makes it a lot more easy to change.
The main improvement from the years before is difficult to say. The team that went to the competition was really competent and did very well when it mattered.
Aurora: One of our main focuses this year is doing a lot of innovation in our different engineering departments, which we always do, but especially increasing our focus on software and the development of competencies among our members. This has really been an extra focus the last few years, and it helps the organization survive and live on by constantly educating people and knowing how the organization works.
On that note, how do your teams collaborate?
Balin: We divide our team into four departments: Mechanical, Electrical, Software and Marketing. There are a lot of interfaces between the different groups, where communication is key. We try to foster a good social working environment where the bar is low for just going and talking directly to the person you interface with.
In order to keep everyone informed, we apply different tactics. Every week we hold a team meeting, informing everyone of everything relevant going on, even if it might not be very interesting to all. Department chiefs are tasked with staying in the loop of everything going on, utilizing their group leaders to good effect. If there are any important cases that involve multiple groups, a workshop or task force is usually arranged, and older/previous members are also invited.
At a high level, what does your system architecture look like for your data engineering team?
Balin: Our new telemetry project is composed of a containerized backend and front end. As we receive data from the car over the UDP protocol, the main job of our backend is to parse these messages and pass the data forward to our front end application, which visualizes the incoming data. The front-end application talks through a web socket interface.
We’re heavily leaning toward containerizing our applications and using Docker for deployment, which is interesting. We’ll see how well it works. It’s our first time using Docker properly.
Interesting. How does your team incorporate IcePanel into system architecture collaboration?
Balin: We have this thing called concept review and design review. There are two individual events where a lot of alumni and the rest of the team review what you present. You present your concepts for the whole year, and for both the concept and design presentation, we basically export diagrams from IcePanel. That worked really nice.
Before we were using Draw.io, the typical tools like standard flowcharts in Google worked. The thing that is really cool about IcePanel is the fact that you can have it as a standardized way to visualize your diagrams. You know that every system will be documented in IcePanel with a dedicated view. It isn’t scattered. Typically, you have just an image you export once and then it stays very disorganized, you have some diagrams here and there. It’s basically scattered in the documentation. It’s really nice to have it in one place. Another thing is that a lot of the documentation changes, and the system changes all the time, so if you export a Draw.io diagram that would be useless in a couple years if the platform changed. That’s a big advantage (of IcePanel).
Was there anything that you found challenging when modelling your architecture?
Balin: How you imagine how to structure it doesn’t always fit with how the software allows you to structure the levels. For example, you have the system and app, sometimes you want to do something that’s in the app level on the system level, you think that’s intuitive, but it won’t let you. That’s why I spent a lot of time because when it wouldn’t allow me to put an app on the system level, I would restructure it so it makes sense.
Flipping things, what did you find the most valuable about the C4 model?
Balin: In addition to having all the diagrams structured and dynamic like I mentioned, the levels of abstractions are another thing that I really liked. For example, when you learn a new system, you learn the concepts first. You learn what the back end is, what it does, and how it connects to the front end. The fact that you can go into every system and find out how it’s actually connected when you get more comfortable with the system is really nice for new members. That’s what makes it really nice, but also challenging sometimes. It’s a very nice way to structure information.
To wrap things up, what are you most looking forward to this summer?
Balin: I’m looking forward to the summer to see the car drive and our software products in proper use. It’s probably the most rewarding thing. I remember last year when I saw the product we actually built properly run and be competitive. I’m really looking forward to seeing the same thing this year, the feeling is really special.
Aurora: I would say the summer as well. I’m of course looking forward to the car driving, but it’s more because that’s when you see really what your team has become and what your team has been able to accomplish during that one year. For most of the year, you’re still kind of fragmented because everyone’s working on different things, but in the summer it all kind of comes together, and you see the results of each different group. That’s valuable to be able to see how it’s all connected.
I don’t want to sound like a nagging parent, but have you thought about what you want to do after graduating?
Balin: Really difficult question to answer. There are a lot of interesting things. Many of us go to Formula 1, not many, but some. That will definitely be really cool to have a chance to see basically what real racing is and to see how far it goes. Software development is really interesting, the things that are happening in the US, especially with all the AI stuff. It’s interesting. I could imagine maybe working some years there.
Aurora: For me, it’s less of the racing aspect and more of being part of a fast-paced dynamic environment that’s developing high-end technology. That’s something I want to continue being a part of. Being a vital part of driving that innovation and that organization forward. Being a part of the technological wave rather than a small part of some more mature technology.
Very cool. Thanks so much for taking the time to chat. What’s the best way to follow Revolve NTNU this season?
Aurora: Follow us on Instagram because that’s where we try to post. We post when we’re at competition, and everything is usually streamed.
Balin: Yeah, we also have some great vlogs. We also have a YouTube channel.
Interested in being part of our Ice-Breaker series? We’re looking for smart minds to share their thoughts (and strong opinions) about software architecture. Feel free to reach out if you’re interested — mail@icepanel.io.