DevStory: Software Engineer, Florian Fischer

DevStory: Software Engineer, Florian Fischer

tech-stories DevStory

Background

Wie bist du zum Programmieren gekommen?

Angefangen hat das mit einem PC im Büro der Eltern. Dort gab es nach der Schule teilweise Wartezeiten zu überbrücken, besonders viel spannende Software (sprich kindertauglich, Spiele, etc.) war aber nicht installieren. Allerdings gab es dafür sehr viel zu entdecken und auszuprobieren.

In Folge tauchte auch sehr früh ein erster Heim PC auf. Der Unterschied zwischen Spielen und „ernsthaften“ Anwendungen (Visual Basic) war hier sehr verschwommen – es war sehr viel Freiraum für kreatives Ausprobieren.

In welchem Alter hast du damit begonnen?

Mit ca. 8 Jahren.

Für welche Programmiersprache konntest du dich zuerst begeistern?

Das waren initial Basic auf dem Atari ST und anschließend Borland Turbo C.

Dein DevJob

Worum geht es in deiner Rolle als „Software Engineer“ genau?

Aktuell ist der gesamte Software Lifecycle betroffen. Das heißt, der Bogen spannt sich von Diskussionen betreffend den Umfang und die Ausrichtung des Produkts, über die Planung von Lösungen, Auswahl von Technologien für diese, bis hin zur Umsetzung und zum Testing.

Ein weiterer Aspekt ist es, den Entwicklungsprozess selbst laufend zu analysieren und zu verbessern – interne Kommunikation, Automatisierung von Schritten, Qualitätssicherung, etc.

Was gefällt dir besonders gut an deinem Job als Software Engineer?

Als besonders positiv empfinde ich, dass sich nie Routine einschleicht. Es gibt laufend neue Herausforderungen, und persönliche Weiterbildung ist nicht nur empfehlenswert, sondern zwingend notwendig.

Welche Herausforderungen gibt es speziell als Software Engineer?

Eine grundlegende Herausforderung ist, dass man aus einer relativ selbstorganisierten Arbeit immer wieder ausbrechen muss, um die eigenen Lösungsansätze im Team zu reflektieren, und Feedback zu erhalten. Das ist zwingend nötig, um pragmatische Entscheidungen treffen zu können.

Dazu muss man komplexe Problemstellungen effektiv kommunizieren, um ein gemeinsames Verständnis zu erreichen. Das heißt, entscheidend ist letztendlich nicht nur technisches Verständnis, sondern auch Kommunikation im Team.

Was sind deine bevorzugten Technologien?

Das hängt nur vom Kontext bzw. dem jeweiligen Projekt ab. Grundsätzlich bin ich ein großer Fan von Standard-Stacks die out-of-the-box bereits gut brauchbar sind.

Nahe am System gerne Rust oder C++, im Serverumfeld Java (Spring, JEE), für Prototyping Python. Um die Kontrolle zu behalten: Docker und Git. Als Umgebung IntelliJ IDEs, weil sehr uniform verwendbar.

Windows oder Mac?

Linux

Weiterentwicklung

Welche Dev Projekte hast du außerhalb deiner Arbeit?

Außerhalb der Arbeit mache ich kleinere Automatisierungsprojekte (Home Automation), sowie einiges Richtung Smart Contracts. Ab und zu sind auch Security / CTF Challenges (Hack The Box, etc.) unterhaltsam

Eine gewisse Überschneidung gibt es auch im Bereich Musik (Plugins für Ableton Live).

Ansonsten ist etwas Abstand ab und zu auch hilfreich.

Wie hältst du dich für deinen Job am Laufenden?

Ich lese regelmäßig diverse News Seite / Foren (Hackernews, Heise, Phoronx, etc) und folge Github Repos. Ansonsten ergibt sich auch viel über Austausch mit Kollegen + Freunden.

Wo siehst du dich in der Zukunft?

Allgemein sehe ich mich technisch als Generalist. Mein Ziel ist, dass das auch so bleibt (d.h. in diversen Technologien up-to-date zu sein), und so laufend Einfluss auf die Entwicklung von innovativen Produkten zu haben.

Tipps für Anfänger

Wie beginnt man Programmieren und womit sollte man beginnen?

Ich finde hier abstrakte Anleitungen, Videos, Bücher wenig hilfreich. Learning-by-doing. Am besten mit einer kleinen, überschaubaren Aufgabe starten, die zwar herausfordernd aber lösbar ist. Idealerweise auch eine Problemstellung die unmittelbar visuelles Feedback ermöglicht und ein direktes Erfolgserlebnis bietet.

Welche Skills sollte man als Software Engineer mitbringen?

Konzentrationsfähigkeit und analytisches Abstraktionsvermögen sind als Startpunkt sehr hilfreich.

Welche Ausbildung ist deiner Meinung nach sinnvoll um Software Engineer zu werden?

Grundsätzlich helfen natürlich fachspezifische Ausbildungen (HTL, Lehre, Studium), aberauch ein Quereinstieg ist ohne Problem möglich – letztendlich geht es um viel Eigenmotivation und Selbststudium.

 

Bei welchem Arbeitgeber bzw. DevTeam sich Florian wohlfühlt, erfährt ihr hier: https://devjobs.at/team/swarm-analytics

Florian Fischer

Software Engineer

Interview im October 2020