Florian Fritz - Blog

Person

Hi, my name is Florian. I am 25 years old and currently live in the beautiful city of Regensburg, Germany. My main interests are technology related: Indoors I like to think about CS or programming related topics and outdoors I am mostly carrying my camera with me (check out my photo portfolio). Besides that, I enjoy preparing tasty meals and going for a walk in the woods around my city.

Florian Fritz

My technical journey

I always enjoyed tinkering with computers and started programming Java and other languages in school. I set up a gaming community together with a buddy during that time, and we hosted MW2, Garry's Mod, as well as Minecraft servers. It was a fun time and incidentally boosted my English grade, as I finally realized that the language can actually be useful. During that time, most technical aspects were managing the community and creating content. However, we did add a custom achievement and banning system to our MW2 servers (you could level up your forum account by playing), did have our own auto-ban plugin for Garry's Mod and experimented with automatically generated content in Minecraft. All of it was extremely hacky in hindsight (oh, that dirty Python copy/paste and the trial and error LUA and PHP). Overall, it was a very fun time and enough to get me hooked on programming.

I then decided to pursue a bachelor in computer science at OTH Regensburg near my hometown Dietfurt. At the beginning it felt like many topics would be repetition (programming 1, databases). However, it quickly became clear that there is a difference between copy and pasting code and actually understanding what happens. Overall, I am super happy with my bachelor and I learned a lot. The most interesting courses for me where theoretical computer science, algorithms and data structures, computer architecture and a practical project on implementing a tree search AI for a board game. I also really enjoyed my bachelor thesis, where I got to build an AI for a board game using the technique introduced AlphaGo Zero (the code can be found on GitHub).

OTH Regensburg Coffee Mug

Alongside my bachelor studies, I worked at a local startup as an application developer for about three semesters. This was a super fun experience, as I got a lot of responsibility for only being a working student and could actually have an impact on the company. I mainly worked on Android apps and a Rails web backend during that time. Although, I also got to do some minor iOS development at some point. My biggest achievement was probably to re-structure the Android development process, using proper internal dependency management. In the end, it was possible to simply put together a full app from 'lego bricks'. I also created a tool that could generate a full app using code generation and data fetched from a backend. Generating code using templates is pretty rewarding... well, once it works.

After that I got my master’s degree at OTH Regensburg. Because the traditional CS master looked a bit dull, I decided to enroll into the master of applied research with a focus on CS. It basically is a mix of 50% course work that you can choose extremely freely (so you can pick the interesting CS master courses you want to - for me more theoretical CS and algorithms) and 50% work on an individual research project. As I always worked in the 'managed language space' (apps, Java, scripting languages on the backend etc.), I decided to try something else for the master. I ended up doing a project on parallel runtimes in C++, which was exactly what I wanted: learning about unmanaged languages and what actually makes something complex like a parallel execution loop work efficiently. It was pretty fun learning C++ and implementing custom concurrency constructs. Probably the best part was learning about how coroutines work and what kinds of them exists. Integrating that knowledge into a runtime with only static memory allocation really felt different to creating a node.js backend and querying data from a database. During that time I also got hooked on understanding what really impacts performance of programs and how memory, resources and concurrency are managed in languages.

Before starting my work-life, I took a short break and learned Rust because I got curious to see the 'better C++'. After this fun detour and some time off, I started looking for my first full time job. There were many interesting opportunities and companies, one even including a rust based software stack.
In the end, I found a very exciting position as a software development engineer at Vector. There I am participating in a trainee program where I get to visit multiple departments, spending about 6 months working in each team. I really enjoy the program, as it allows me to experience multiple teams and technology stacks within a short timeframe.

Contact

Do you have any questions about my work or want to chat about technology? Feel free to send me an email (blog@florianfritz.net), I am happy to get in touch.