Developer Stories: Daniel Heinze – Die unperfekte Perfektion des Codes

Portrait von Daniel Heinze

Der Software-Engineer Daniel Heinze hilft dabei, die Digitalisierung in der Industrie voranzubringen. Luftfahrt, Automobilsektor, Energiewirtschaft – es gibt kaum einen Bereich, in dem er nicht für Microsoft unterwegs ist, um Lösungen für die Zukunft zu entwickeln. Fehler im Code und Bugfixes sind dabei ein unweigerlicher Schlüssel zum Erfolg.    

Zwei elektrische Gitarren hängen im Zimmer hinter Daniel an der Wand. Eine in rot-weiß, eine mit naturhölzerner Maserung. Daneben ein halbakustisches Instrument, der Tragegurt hängt herab. Der schwarze Gitarrenkoffer steht auf dem Boden, davor ein Verstärker. Der Mann mit dem Drei-Tage-Bart trägt ein Shirt mit den inoffiziellen Wahrzeichen Großbritanniens – Big Ben, John Lennon, die Palastwachen der Queen, das Yellow-Submarine-Cover der Beatles.

Screenshot von Daniel während unseres Interviews

Code-Architektur ist der Schlüssel

Daniel ist Software-Engineer bei Microsoft, genauer gesagt beim Commercial Software Engineering (CSE) Team des Unternehmens. Doch was heißt das eigentlich? Daniel denkt kurz nach. „Mein Job – der lässt sich gar nicht so fest machen“, sagt er dann. Vereinfacht lässt sich sagen: Seine Spezialität ist es, Innovationen zu ermöglichen, Lösungen zu finden und ihre genaue Umsetzung zu kontrollieren. CSE ist global aufgestellt und entwickelt Software vor allem für Großunternehmen. Generell arbeite er an den verschiedenen Projekten der Kunden, achte auf die Qualität des Codes. Und er sorge dafür, dass die Entwicklung der jeweiligen Lösung so reibungslos wie möglich funktioniere, erzählt er.

 

Azure Developer Community Call

Du möchtest regelmäßig Updates und Best Practices rund um Microsoft Azure erhalten? Bei unserem Azure Developer Community Call bekommst Du zweimal im Monat die Möglichkeit dafür. Unser Motto ist: „Zwei Formate – EINE Developer Community“. Das bedeutet: Ganz egal, ob du dich nur zum Zuhören einwählst oder aktiv mitdiskutieren möchtest – mit unseren beiden Formaten findest du sicher das Passende für dich. Bei unserem Azure Developer Community Call dreht sich alles um Microsoft Azure, Cloud Native Development, GitHub und weitere Dev-Themen.

Mehr Informationen

Was braucht es für seinen Job? Programmierkenntnisse natürlich. Doch es gehöre auch viel Kommunikation zum Job des Software-Engineer. „Es geht viel um Architektur. Das ist zum Teil sogar fast wichtiger als das Entwickeln selbst.“ Mit Architektur meint Daniel den Aufbau der jeweiligen Lösung, an der er und seine Entwicklerkolleg*innen in den jeweiligen Projekten eng mit den Kunden zusammenarbeiten. Was einfach klingt, ist in der Praxis eine Herausforderung – zumal die Interessen oft unterschiedlich sind.

Autonomes Fahren heute, Machine Learning in der Energiebranche morgen

Die Abteilung, in der Daniel bei Microsoft arbeitet, ist auf den Industriesektor spezialisiert. „Ich hatte das große Glück, dass ich zuletzt in einer Vielzahl von Industrien unterwegs war“, sagt der 30-Jährige. Das treibe ihn an. „Ich möchte nicht etwas haben, was genauso ist wie vorher“, beschreibt Daniel seine Motivation. Nach jedem Projekt wachse bei ihm die Spannung: Was kommt als nächstes – in welche Branche geht es, in welche Industrie? „Du hast alle vier bis sechs Monate eine komplett andere Technik in einem komplett anderen Projekt“, versucht er zu erklären. Nach einem Projekt für eine Fluggesellschaft vor einigen Monaten sei es beispielsweise um autonomes Fahren bei einem Automobilhersteller gegangen, dann folgte Machine Learning in der Energie-Branche. Bei Letzterem geht es beispielsweise darum, das Potenzial eines Daches für die Erzeugung von Solarenergie zu ermitteln. Im Fall der Fluggesellschaft ging es um die Weiterentwicklung der Flugmanagement-Lösung des Konzerns. Microsoft half dabei, die sehr monolithisch aufgebaute Software auf Kubernetes umzustellen, um mehr Flexibilität zu ermöglichen. „Im Flugzeug zu sitzen und zu sehen, wie die Pilot*innen das System nutzen“, das habe ihn schon gefreut. Er sei sogar ins Cockpit zu den Pilot*innen gegangen und habe sich von ihnen zeigen lassen, wie das System im realen Einsatz funktioniert.

Bald beginnt wieder etwas Neues. „Die Themen sind so unterschiedlich. Das allein macht schon Spaß.“ Daniel lächelt viel, während er das erzählt. Hinzu kämen die Menschen. „Du hast immer wieder neue Menschen, mit denen Du sprechen und die Meinung zu verschiedenen Themen hören kannst.“ Der Austausch ist international. Was Daniel nach eigenen Angaben besonders begeistert: Komme er bei Kunden in ein Team, sei er sofort ein Teil davon. Er werde integriert, obwohl alle natürlich wüssten, dass es eine Zusammenarbeit auf Zeit sei.

Bild von Daniel Heinze mit seiner Katze

Informatikfrühstarter

Mit einem Computerspiel begann es – und ohnehin tauchen Computerspiele immer wieder in Daniels Erzählungen über seinen beruflichen Werdegang auf. „Das erste, woran ich mich erinnern kann: Auf Windows 95 habe ich Prince of Persia gespielt. Auf Papas Schoß.“ Sein Vater betrieb eine eigene IT- & Computerfirma, in der er mit 16 Jahren bereits aushalf. Daniel kam so schon früh mit der ganzen Welt aus Bits und Bytes in Berührung. Als einziger an seiner Schule legte er ein Abitur in Informatik ab. Bei der Prüfung saß er allein mit dem Lehrer in einem Raum. Für seine Mitschüler*innen sei das alles nichts gewesen. „Ich fand das total schade“, erinnert sich der heute 30-Jährige beim Blick zurück. Ein Informatikstudium kam für ihn zu diesem Zeitpunkt noch nicht infrage. Stattdessen schrieb er sich nach dem Abi an der Technischen Universität Ilmenau ein – für ein Studium der Medientechnologie. Erst ein Praktikum am Fraunhofer Institut änderte das. Heinze brach sein Studium ab, wechselte nach Leipzig, studierte Informatik. Anfangs habe er beim Gedanken an Informatiker*innen oft ein Klischee im Kopf gehabt, gesteht er. Beim Praktikum am Fraunhofer Institut begegnete er nun mit einem Male Menschen, die Informatiker*innen waren und gar nicht zu all seinen falschen Vorstellungen passen wollten. Später sei ihm klar geworden: „Im Grunde kannst du damit alles machen.“

Werkstudent, Entwickler, Evangelist, Programmierer

Zu Microsoft kommt Daniel 2016 – zunächst als ein Werkstudent. Er beginnt so eine Karriere bei einem Arbeitgeber, der ihn fortan immer wieder fördern wird, Chancen gibt und Möglichkeiten schafft. Noch als Werkstudent wird Daniel beispielsweise Patentträger für das Projekt der „Conversational Interactions Using Superbots“.  Ein solcher Superbot kann – vereinfacht gesagt – eine Vielzahl verschiedener Dialoge verarbeiten und so eine sehr viel flexiblere Art der Unterhaltung zwischen dem Bot und Nutzer*innen ermöglichen. Heinze hält einen Würfel in die Höhe. Alle Patentträger*innen erhalten so einen. Manche Kolleg*innen bei Microsoft könnten sich aus den Würfeln ganze Pyramiden bauen, das habe ihn fasziniert. Beruflich verbleibt er daraufhin bei Microsoft, heuert nach dem Abschluss als Technology Evangelist an und wechselt später in den Job des Software-Engineer.

Heute beherrscht Daniel verschiedenste Programmiersprachen. Wobei er selbst das relativiert. „Von beherrschen kann man bei Programmierung nur teilweise sprechen. Aber ich hätte gesagt, dass ich mich mit Python und C# am wohlsten fühle“, sagt er. C# sei ein „Konglomerat aus guten Programmierpraktiken“. Python wiederum sei sehr natürlich. Dort gelte „explizit ist besser als implizit“. Andere Sprachen kommen und gingen, aber die Konzepte blieben mehr oder weniger gleich. „Wichtig ist, dass man sich an die Konvention der jeweiligen Sprache anpasst und viel mit Lintern arbeitet.“ Linter meint Werkzeuge für eine statische Analyse des jeweiligen Codes, die dabei helfen, mögliche Schwachstellen zu entdecken. Gerade Python könne mit Lintern sehr schön aussehen und sei besser verständlich als andere Sprachen.

Foto von einem Bildschirm der per Kamera biometrische Daten erkennt.

Der Bugfix gehört dazu

Über dem Schreibtisch des 30-Jährigen hängen vier große Filmplakate zur Avengers-Reihe, Stoff aus dem Marvel-Universum. Daniel ist Fan der Filmreihen. Auf der Plattform GitHub nennt er sich selbst Starlord Daniel. Benannt nach einer Figur aus der Guardians of the Galaxy-Comicreihe. „Star-Lord, also eigentlich Peter Quill, ist ein Charakter, der nicht perfekt ist, aber bei allem was er macht, doch irgendwie immer das Richtige tut. Das fand ich sympathisch“, erzählt Daniel. „Fehler zu machen, sollte vollkommen in Ordnung sein“, sagt der Entwickler. Wichtig sei es ihm zufolge, dass die zugehörigen Prozesse diese Fehler aufzeigen und sie sich so schnell beheben lassen. Der Bugfix gehört immer dazu. Beim Programmieren sowieso. „Ich schreibe keinen perfekten Code. Ich versuche jedoch, alles von Anfang an in einem Prozess abzusichern“, so Daniel.

Vorbilder für mehr Offenheit im Leben

Hat er andere Entwickler*innen als Vorbild? Daniel verneint. „Eigentlich nicht.“ Zumindest nicht im beruflichen Kontext. Er sehe Vorbilder für sich vielmehr in verschiedenen, persönlichen Lebensbereichen. Menschen wie der fast schon legendäre Comedian Jon Stewart beispielsweise. „Der hat eine absolute Empathie. Er steht klar zu seinen Prinzipien. Er hat für jegliche Menschen eine große Offenheit“, sagt Daniel. Im US-Kongress setzte sich Stewart 2019 für die medizinische Behandlung von Ersthelfer*innen der Anschläge des 11. Septembers ein, die weiterhin mit den gesundheitlichen Folgen zu kämpfen haben. „Von der Courage dieses Mannes versuche ich mir sehr vieles abzuschauen“, sagt der Microsoft-Mitarbeiter.

Foto einer EntwicklerkonferenzFoto einer Entwicklerkonferenz

Raus aus der Routine: zwischen Musik und Virtual Reality

Video-Calls, Meetings und immer wieder neue Projekte – wann immer Daniel nach Abwechslung sucht, nach kurzen Momenten, um durchatmen zu können, greift er hinter sich und zu den Gitarren. „Ich hatte in meiner Kindheit wenig Leute um mich herum, von denen ich das Spielen der Gitarre hätte lernen können“, erzählt er. Die Musik helfe ihm dabei, runterzukommen und auszubrechen aus der Routine. „Gerade in Corona-Zeiten ist das wichtig.“ Auch Gaming darf nicht fehlen. Was er neu für sich entdeckt hat: die Möglichkeiten von Virtual Reality. „Ich sehe darin eine mögliche Zukunft für das Gaming“, sagt er voraus.

Daniel verabschiedet sich. Das nächste Projekt fordert seine Aufmerksamkeit ein. Wieder geht es alles zurück auf Anfang, alles auf neu. Wieder wird es darum gehen, den unperfekten Code zu perfektionieren.

In unserer Artikelreihe „Developer Stories“ stellen wir regelmäßig spannende Microsoft-Entwickler*innen und ihre Projekte vor. Die dritte Folge mit Olivia Klose, Chief Technology Officer Manufacturing gibt es hier zu lesen.


Ein Beitrag von Bosse Kubach
Trainee Business Communications AI & Innovation / Data Applications & Infrastructure

Schwarz weiß Foto vom Autoren. Es zeigt einen jungen lächelnden Mann in einem weißen Hemd

Tags: , , ,

Weitere Infos zu diesem Thema

28. Januar 2021
Developer Stories: Olivia Klose, Chief Technology Officer Manufacturing

Olivia Klose, CTO Manufacturing bei Microsoft Deutschland, berichtet in der der dritten Folge der Developer Stories, wie sie als Technical Evangelist bei Microsoft begann und inzwischen als Chief Technology Officer (CTO) Manufacturing mit ihrem Team an der Lösung komplexer technischer Probleme arbeitet. Olivias Erfolgsgeheimnis? Mutig sein, neue Sachen ausprobieren und einfach mal loslegen!

16. Dezember 2020
Developer Stories: Chris Heilmann, der Code-Poet

In der zweiten Folge der Developer Stories berichtet Chris Heilmann, Code-Poet und Principal Program Manager für Browser-Tools, wie er auf dem Thomson TO7-70 Programmieren lernte und wie KI und ML zukünftig die Softwareentwicklung verändern werden.