DatE
August 20, 2021
Reading Time
4 Minuten

My Life as a Working Student

Corporate Culture

By

Linus Thriemer

What does a working student actually do at pentacor? A really good question, but to answer it, you first have to be one. So, I polished up my two favorite projects so that pentacor could get an idea of who I am: first, the Software Rasterizer, which displays 3D models, and then my Java game "Bunte Panzer," a top-down arena game.

In the software rasterizer, I implemented some code improvements, added a README with a project description and screenshots, and pushed the changes to a public Git repository. In my tank game, I updated all Maven dependencies to the latest versions, listed possible error sources with solutions in the README, and provided finished JAR files. Additionally, I improved the documentation by naming all the important algorithms, libraries, and APIs used in the game and explaining how they are applied.

Finally, I sent an email with my resume and portfolio to career@pentacor.de. After that, everything went pretty quickly and smoothly. I received a call and an invitation for an interview soon after. And in March 2021, I started excited and full of anticipation as a working student at pentacor, with the goal of improving my programming style and writing more maintainable code. My excitement quickly faded, though, as I was warmly welcomed. Despite my lack of professional experience, I was treated as a full-fledged team member and entrusted with even more challenging tasks without hesitation.

Current Tools and Exciting Techniques

After the onboarding, which included an introduction to all the programs and processes used daily, the "Pentacornese" had the perfect project for me: I was tasked with cleaning up a codebase and reducing technical debt. There were plenty of new, exciting tools and techniques to discover, but first, I had to get familiar with the Spring Framework. I learned about controllers and services, explored Dependency Injection, and worked with JPA. The programming style with so many annotations was unfamiliar to me before, but it became quite intuitive once I understood the underlying concepts.

My tasks were:

  • Remove duplicate and dead code
  • Eliminate magic numbers
  • Resolve cyclical dependencies
  • Simplify complex functions
  • Standardize naming conventions for methods and classes
  • Improve test coverage
  • Refactor classes that violate the Single Responsibility Principle

Many of these tasks were supported by tools like Complexity Tools, CodeMetrics, Sonarlint, and IntelliJ, as I didn’t have to manually search for technical debt. Instead, the tools directed me to the class that needed to be refactored. During my changes, I came to greatly appreciate the unit and integration tests. The codebase already had about 90 percent test coverage, so I could be fairly confident that I wasn’t altering any functionality.

The task of standardizing naming conventions took me through every part of the codebase, allowing me to get familiar with it in a very short amount of time. Because of this, implementing a feature requested by the customer wasn’t difficult. I was able to try out my newly acquired Spring skills since the feature required a new endpoint, service, monitoring, and a new MongoDB collection. For each part of the implementation, I also added unit and integration tests.

It Never Gets Boring

I find the typical student tasks quite pleasant, as they are perfect time-fillers. When there’s half an hour left until lunch and I don’t want to start the next big task, I can work on smaller tasks such as:

  • Setting up new computers with the system administrator
  • Setting background images on tablets that match the conference room names
  • Searching for power solutions for conference rooms
  • Installing apps
  • Searching for and evaluating SKS keyserver alternatives

Listing my different tasks is only half the story: The pentacor team does a lot together, and the latest example is our 10,000-steps challenge. Even in everyday office life, the sense of community is never lacking. There’s always time for a joke or a good conversation. We have breakfast and lunch together, and when the weather is nice, a few colleagues usually gather for a digestive walk in Schönherrpark. Communication is very important to the Pentacornese and is actively encouraged: Every Friday, the cross-team meeting takes place, where the entire team exchanges ideas on both cross-project topics and internal matters. I find it particularly useful that here we can discuss or ask about solutions to technical problems. Additionally, we can attend internal trainings, such as a Java Basics course or a Kubernetes training. Our brains are always engaged, and there’s always room for further development.

For balance and our well-being, Dani, the company’s good fairy, ensures we’re taken care of, e.g., with homemade cakes. The candy drawer in the kitchen is also pleasantly well-stocked. A very nice surprise was a care package full of lovingly selected little things, which was sent to my home office as the lecture period had started again.

How Do I Balance Studying and Working?

Time management is also a big challenge for me, and electrical engineering is not the easiest degree. Currently, I have five lectures with associated exercises and practicals, all of which need to be prepared for and reviewed, and the times leading up to exams can be stressful. As a working student, I am allowed to work a maximum of 20 hours per week, but often my capacity only allows for 8 hours. In my free time, I train Judo, and household chores cannot be neglected either. That’s why I usually make a long list of tasks and events to do and attend in the morning. However, I often realize that I take on too much and can only manage to complete part of it. So, my time management is still a work in progress. Fortunately, pentacor makes it easy for me: I can arrange my working hours quite flexibly, and the team is understanding and considerate when I need to focus on studying. This way, I can manage the balancing act between university, work, and leisure quite well, and I’m already looking forward to my next project.