Was macht ein Lead Back End Engineer? Georg H. im Interview

Was macht ein Lead Back End Engineer? Georg H. im Interview
DevStory

Georg H.

Background

Wie bist du zum Programmieren gekommen?

Schon als kleiner Junge hab ich mich für Elektronik und Computer interessiert. Als ich meinen ersten Sony Vaio Laptop mit 12 Jahren bekommen habe, versuchte ich simple Programme in Basic zu programmieren. Seither hat mich die Leidenschaft zur Programmierung nicht mehr los gelassen.

In welchem Alter hast du damit begonnen?

12

Für welche Programmiersprache konntest du dich zuerst begeistern?

Basic, später C und Java

Dein DevJob

Worum geht es in deiner Rolle als Lead Back End Engineer genau?

Ich bin Senior Software Development Engineer bei Amazon. Meine Aufgabenbereiche sind enorm vielseitig - so etwas wie "alltäglich" gibt es nicht. 50% meine Zeit investiere ich in das Development anderer Software Engineers in meiner Organisation (Prime Now): Ich halte Workshops zum Thema "Clean Code", leite Trainings über Security und Datenklassifizierung und bin Mentor für viele meiner Kollegen. 30% meiner Zeit erstelle ich large-scale System Designs für neue Produkte und features. Diese Designs werden mit stakeholders ge-reviewed, Storymaps werden erstellt und Teamkollegen werden über neue Designs informiert. Der Rest meiner Zeit ist ein Mix aus Programmierung, Code-Reviews, Design-Reviews, Kostenerstellungen und Aktivitäten zur Skalierung unsere Systeme und mehr.

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

Jeder Tag bringt eine andere Herausforderung. Unsere Backend Systeme sind extrem vielseitig, was mir ermöglicht jeden Tag neue Dinge zu lernen.

Welche Herausforderungen gibt es speziell als Lead Back End Engineer?

Eine große Herausforderung ist unsere Systeme so zu skalieren, dass Millionen von Kunden zufrieden sind.

Was sind deine bevorzugten Technologien?

Ich verwende liebend gerne alle möglichen AWS tools (DynamoDB, Lambda, API-Gateways etc.) weil sie die unangenehmen Aspekte der Software Entwicklung enorm vereinfachen (aufsetzen von Servern, Monitoring und Alarms, ...). Jedes Team bei Amazon hat die Freiheit selbst zu entscheiden, welche Tools und Programmiersprachen verwendet werden. Typischerweise evaluieren wir unsere Entscheidungen basierend auf Daten und spezielle Anwendungsfälle. Meine bevorzugten Programmiersprachen sind Java, Scala und Kotlin.

Windows oder Mac?

Mac

Weiterentwicklung

Welche Dev Projekte hast du außerhalb deiner Arbeit?

Außerhalb der Arbeit versuche ich mich so wenig wie möglich mit Computern zu beschäftigen. Ich liebe es in Südkalifornien neue Wanderwege zu erkunden, mit dem Fahrrad zum Strand zu fahren oder einfach einen Ausflug ins Blaue zu machen. Am Abend lese ich gerne Bücher über Management (um zu verstehen warum Manager denken wie sie denken) und Coaching (und meine Fähigkeiten als Mentor zu verbessern).

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

Ich finde Quora und Reddit ganz hilfreich um am Laufenden zu bleiben. Zusätzlich lese ich viele O'Reilly Bücher (Scaling, Data Intensive Applications, Reactive Programming, ...) und Klassiker wie Clean Code, Clean Architecture und The Clean Coder. Worüber ich mich speziell informiere kommt aber oft auf meine aktuellen Problemstellungen bei Amazon an.

Wo siehst du dich in der Zukunft?

Ich versuche meine Karriere bei Amazon weiter auszubauen indem ich meinen Einfluss auf die gesamte Organisation ausbaue und noch größere Projekte leite. Die nächste Tech-Stufe wäre "Principle Engineer", das ist das große Ziel.

Tipps für Anfänger

Wie beginnt man Programmieren und womit sollte man beginnen?

Meine Erfahrung (gesammelt durch viele viele Interviews bei Amazon mit Junior Engineers) ist, dass Entwickler oft extrem auf Programmiersprachen spezifische features fokussiert sind, aber oft auf die Basics vergessen. Programmiersprachen zu lernen ist kein Problem. Die Grundkonzepte der Programmierung richtig zu beherrschen ist ein ganz anderes Thema - aber ein enorm essenzielles. SOLID und die Gang Of Four sollten keine fremden Begriffe sein.

Welche Skills sollte man als Back End Engineer mitbringen?

Als Software Development Engineer bei Amazon muss man die Grundlagen der Programmierung bestens beherrschen. Außerdem sollte man Grundverständnis zum Thema Skalierung Failure Handling mitbringen. Zusätzlich - vor allem als Sr. Software Development Engineer - sollte man den Kunden und das Business im Fokus haben.

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

Ein Studium zum Thema "Software Engineering" wird die Grundlagen lehren. Ich denke aber, dass man seine Zukunft selbst in die Hand nehmen sollte und sich nicht mit den Grundlagen die in einem Studium gelehrt werden zufrieden geben.

Dev Interview Info

Georg H.

Georg H.

Lead Back End Engineer

Technologien in diesem Artikel

Das könnte dich auch interessieren