People and Culture

Full-Stack-Entwicklung beherrschen: ein erfahrener Software Engineer berichtet

Erfahre, wie Du eine Koryphäe in Deinem Fach wirst und welche Rolle dabei die Ausbildung und das praktische Lernen in der IT-Branche spielen.

Engineer with old cd's
5 Minuten Lesezeit
Mit Insights von...

„Willkommen bei The Hüb – einem Ort, an dem unsere Fachleute offen ihre Meinungen und Ideen sowie ihr Wissen zur Branche, zu deren Zukunft und zu wichtigen Trends weitergeben, die Du kennen solltest.“

In der heutigen 17. Folge sprechen wir mit Pavel Belov, der als Expert Java Engineer bei der Zühlke Gruppe arbeitet.

In der Praxis ist Programmieren weitaus komplexer, als es zunächst scheint

Obwohl bestimmte Aspekte der Codeerstellung mit der Zeit einfacher geworden sind, ist das Fachgebiet immer komplexer geworden. Ein gutes Beispiel sind Online-Shop-Applikationen, die von der Datenbank im Backend bis hin zu einer modernen und intuitiven Benutzeroberfläche im Frontend alles umfassen. Für mich bedeutet Full-Stack-Development, Anwendungen zu entwickeln, die sämtliche Bedürfnisse des Anwenders erfüllen.

Ich programmiere seit 16 Jahren, also mein halbes Leben lang, seit der Schule und die ganze Zeit an der Uni hindurch. Als ich vor acht Jahren ins Berufsleben ging, merkte ich aber, dass ich doch nicht so gut vorbereitet war, wie ich eigentlich dachte. Ich hatte zwar solides theoretisches Wissen und auch einige Programmierkenntnisse, aber in der Praxis war das Programmieren ganz anders, als ich es gewohnt war. Ich musste lernen, wie man Aufgaben im Allgemeinen löst, wie man mit anderen Leuten im eigenen und in anderen Teams kommuniziert und wie man Anforderungen und andere Teile des Systems versteht, die andere Programmierer entwickelt haben. Der Hauptunterschied zwischen damals und heute ist die Praxis und dass ich heute verschiedene Arten von Problemen löse. Übrigens lassen sich nicht alle Probleme lösen bzw. es ist nicht sinnvoll, sie zu lösen. Zu wissen, wann man die Zeit investieren sollte und wann nicht, ist auch etwas, das mit der Erfahrung kommt. Letztlich braucht man die praktische Erfahrung, um ein richtig professioneller Software Engineer zu werden.

Die Frage aller Fragen: Kann man ohne formale Ausbildung ein guter Developer werden?

Ganz sicher ist theoretisches Lernen für bestimmte Bereiche der Codeentwicklung nach wie vor nützlich, aber ich halte es nicht für den wichtigsten Aspekt. Ich kenne auch Leute, die ohne entsprechende Schul- oder Universitätsausbildung im Programmieren Karriere gemacht haben. Eine formale Ausbildung ist hilfreich, aber sie ist kein Muss. Je mehr Du weißt, desto besser, aber man kann auch durch praktische Übung lernen.

Im Gegensatz zu anderen Bereichen des menschlichen Lebens hat sich das Bildungssystem kaum weiterentwickelt. Zum Beispiel haben der öffentliche Verkehr und die Produktion heute einen hohen Automatisierungsgrad und sind wesentlich effizienter geworden. Am traditionellen Bildungssystem mit einer Lehrkraft, die Frontalunterricht erteilt, hat sich aber seit Jahrhunderten nicht viel geändert. Das Bildungssystem bewertet theoretisches Wissen noch immer höher als praktisches, lebensnahes Lernen. Es geht eher darum, durchzukommen und Prüfungen zu bestehen, als um nachhaltiges Lernen. Viele haben schon kurz nach dem Test oder der Prüfung all das, was sie „gepaukt“ haben, wieder vergessen. Das ist doch sehr schade.

Bildung ist nicht nur wichtig für den menschlichen Fortschritt, sondern kann tatsächlich Spaß machen. Meiner Meinung nach sind Änderungen notwendig, die den Prozess persönlicher und interessanter gestalten: um mehr Menschen zu erreichen, um ihn einfacher und praxisnäher zu machen. So kann man sich nützliches Wissen aneignen, das im Leben anwendbar ist, anstatt nur Fakten für Prüfungen auswendig zu lernen.

Viele Studierende stehen in der Prüfungsphase unter großem Druck und sind davon überzeugt, dass von ihren Leistungen ihre Zukunft abhängt. Aber wenn Du an der Schule oder Uni keine guten Noten hast, heißt das noch lange nicht, dass Du später keinen Erfolg haben kannst. Ich würde Dir raten, nicht zu stark auf die Noten fixiert zu sein, denn sie sind am Ende doch nicht so wichtig, wie Du vielleicht denkst. Probiere lieber verschiedene Dinge aus, erlaube Dir auch, Fehler zu machen, und verfolge die Themen, die Dich wirklich interessieren. Das Leben ist komplexer und bietet auch mehr Möglichkeiten, als Du glaubst, wenn du noch in der Ausbildung bist. Mach Dir also weniger Stress und versuche, deine wahren Interessen zu erkunden.

Fleißkultur vs. Work-Life-Balance

Ich bin ein großer Verfechter einer ausgewogenen Work-Life-Balance und bin der Meinung, dass Unternehmen von ihren Mitarbeitenden nicht verlangen können, sich außerhalb der Arbeitszeit noch weiterzubilden. Abschalten ist nicht nur wichtig für die mentale Gesundheit, sondern auch für produktives Arbeiten. Weiterbildung gehört zur Arbeit, und ich finde es sehr gut, wenn Unternehmen Angebote machen, wie Konferenzen und Seminare. Trotzdem glaube ich, dass man durch praktisches Tun am besten lernt. Wenn ich eine echte Aufgabe bearbeite, lerne ich daraus mehr und behalte das Wissen besser, als wenn ich mich nur theoretisch damit auseinandersetze. Es ist wichtig, dass Unternehmen private und berufliche Weiterentwicklung ermöglichen, aber das Lernen muss im angemessenen Verhältnis zur Freizeit und zum Sammeln praktischer Erfahrungen stehen.

Mach Dir Deine eigene Zukunft leichter

Was ich während meiner Dozententätigkeit gelernt habe, ist, wie man Dinge gut erklärt. Das zu können, ist wichtig, wenn man Dokumentation erstellt, denn die muss für alle klar und verständlich sein und nicht nur für Leute, die sich mit dem Gegenstand ohnehin schon auskennen. Als Dozent habe ich gelernt, mich in jemanden hineinzuversetzen, der den Stoff noch nicht kennt, und Beispiele aus der Praxis zu nehmen, um die Sache besser verständlich zu machen. Das hilft mir jetzt bei meiner Arbeit, denn auch hier geht es um Klarheit und gute Nachvollziehbarkeit.

Kennst Du den Satz: „Programmiere immer so, als ob die Person, die am Ende Deinen Code pflegen muss, ein Psychopath ist, der weiß, wo Du wohnst“? Ich habe davon meine eigene Variante: „Programmiere immer so, als ob Du auf immer und ewig dazu verdammt sein wirst, Deinen eigenen Code zu pflegen“. Indem wir unseren Code so einfach und effizient wie möglich gestalten, machen wir unserem zukünftigen Ich das Leben leichter. Ich versuche immer, Code so zu schreiben, das er leicht zu verstehen und zu pflegen ist. Das macht nicht nur mir selbst das Leben leichter, sondern auch meinen Kolleginnen und Kollegen bzw. dem Unternehmen. Mein Rat daher: „Keep it simple“. Du selbst und andere werden es Dir in Zukunft danken.

Pavel Belov
Ansprechpartner für Bulgarien

Pavel Belov

Pavel Belov ist das Kind einer russischen Vaters und einer bulgarischen Mutter und lebte als Kind in beiden Ländern. Er wurde in Bulgarien eingeschult, zog aber später nach Russland und machte dort seinen Abschluss. Er studierte an der IT-Fakultät der Sankt Petersburger Elektrotechnischen Universität (LETI) und hat einen Master-Abschluss in Informatik. Außerdem lehrte er an derselben Hochschule zwei Jahre lang Wahrscheinlichkeitstheorie.

Pavel begann im April 2015 als IT Engineer und kam im September 2022 zu Zühlke. Sein Schwerpunkt ist das Java-Backend, aber er interessiert sich auch für das Frontend und für die Full-Stack-Entwicklung.

Neben seiner Arbeit ist er ein leidenschaftlicher Mentor, Dozent und Reisender.

Kontakt
Vielen Dank für Ihre Nachricht.