Zurück zur Community

Durch Problemlösen zum Tech Lead

Gabriel Nelle lebt in Süddeutschland bei Baden-Baden. Er teilt sich die Wohnung mit seiner Freundin und zwei Katzen. Er hat in Siegen auf Lehramt für Mathematik und Deutsch studiert und das Studium 2008 abgeschlossen.

Auf Youtube ansehen
LÄNGE 52MIN

Jonathan: Hallo zusammen. Mein Name ist Jonathan. Es freut mich, heute Abend euer Gastgeber zu sein. Ich habe einen Gast, den ich sehr glücklich bin, in der heutigen Sendung zu haben. Ich möchte euch Gabriel Nelle vorstellen. Gabriel ist einer unserer Core-Contributors bei Exercism. Er war sehr stark im Go-Track involviert, aber ich lasse ihn sich gleich selbst ausführlicher vorstellen. Aber so viel: Gabriel, schön, dass du da bist. Danke, dass du dabei bist, und wir hoffen, dass du genauso viel Spaß hast wie alle Zuhörenden in der heutigen Sendung. Also, Gabriel, warum übernimmst du nicht. Erzähl mir ein bisschen, woher du kommst und wie du dahin gekommen bist, wo du jetzt bist.

Gabriel: Ja. Hi. Ich bin Gabriel. Danke, dass ich dabei sein darf. Ich komme aus Süddeutschland, dort bin ich aufgewachsen, und dort bin ich auch jetzt, nicht am selben Ort, aber immer noch Süddeutschland. Ja, ich bin so ein früher-Achtziger-Jahrgang, ich wurde 81 geboren. Und ich glaube, mein Ursprung liegt so im späten Achtzigern, als mein Vater seinen ersten Computer mit nach Hause brachte. Ich denke, da beginnt die Geschichte. Zumindest die Text-Geschichte.

Jonathan: Ja.

Gabriel: Da war MS-DOS drauf, ich bin mir nicht sicher, welche Version genau. Ich glaube, es war auch eine ältere Version, denn wenn ich mich richtig erinnere, hat mein Vater ihn mitgebracht, weil er bei dieser Firma quasi weggeworfen wurde und sie neue Computer bekommen haben. Er durfte ihn also mit nach Hause nehmen, und ja, das war mein erster Eindruck von Computern. MS-DOS. Das ist interessant und seltsam.

Jonathan: die, die Linien, die farbigen Linien auf dem schwarzen Bildschirm? War das ziemlich

Gabriel: Ja, es war einfach weiß auf schwarz. Ja, im Grunde. Und man konnte quasi, meistens war es nur die Kommandozeile, die ich zuerst kennengelernt habe. Und dann später mit meinem Vater, quasi in den Neunzigern, um 1991, hat mein Vater uns unsere ersten for-Schleifen in QBasic beigebracht. Ich war damals ungefähr 10, und dann ging es auch ums Vokabelnlernen. Mein Vater hat also ein Programm zum Vokabellernen gekauft, es war DOS-basiert, und ich glaube, man hatte eine Maus zum Klicken, aber ich bin mir nicht hundertprozentig sicher. Vielleicht war das auch später. Es war jedenfalls die Zeit, in der ich anfing, mich mit Computerkram zu beschäftigen, und ich habe ihn ein paar Mal kaputt gemacht. Mein Vater musste ihn ein paar Mal reparieren. Ich war also definitiv daran interessiert, etwas darüber zu lernen. Nicht unbedingt so, dass ich mich hingesetzt und mir gesagt hätte, ich muss das lernen. Ich war wirklich daran interessiert, zu verstehen, was man damit machen kann. Es hat mich fasziniert.

Jonathan: Und, und war dein, war dein Vater, hat er speziell mit Computern gearbeitet, oder war er einfach im, im Beruf und hat zufällig einen Computer mit nach Hause gebracht, oder gab es einen bestimmten Grund, dass er ihn mitgebracht hat? Computer-Gründe oder technische Gründe.

Gabriel: Ja, er ist eigentlich, von Beruf ist er Elektriker, das hat er gelernt. Aber damals arbeitete er bei Bosch und zwar in der Elektronikabteilung, wo neue Chips oder neue Sachen für Autos entwickelt wurden. Und dort gab es natürlich auch Computer, und er war recht früh für alles rund um Computer, Netzwerkdrucker und all das zuständig. So ist er da im Grunde reingekommen. Er war quasi derjenige, der sich um alles gekümmert hat, damit dort alles lief. Und weil er keinen Doktorgrad hatte wie die meisten anderen in seiner Abteilung. Er hat sich also im Grunde um diese Dinge gekümmert und er hat viel über diese Dinge gelernt, über Computer. Ja.

Jonathan: Ja. Okay, cool. Sorry, ich bin da einfach reingesprungen. Du hast also gesagt, du hast damit rumgespielt, hast ihn ein paar Mal kaputt gemacht, das war so dein Einstieg in Computer und Hardware und all das Zeug. Und dann? Was ist dann passiert? Wie ging es von da an weiter? Wie war die Entwicklung?

Gabriel: Also ich glaube, der nächste große Schritt war, dass ich meinen eigenen Computer bekam, das war, würde ich sagen, vielleicht fünf oder sechs Jahre später, als ich ein junger Erwachsener war. Und ich interessierte mich mehr für Computer und hatte auch einiges in der Schule. Ich fing an, meine Hausaufgaben am Computer zu schreiben und all das Zeug. Und das war schon die Zeit von Word und MS Word und so. Und ich würde sagen, es fing eines Tages an, mein Compu, mein Vater machte immer irgendeine Literaturarbeit für unsere Kirche. Wir sind also in einer sehr kleinen Kirche aufgewachsen und wir hatten diese Literatur, die wir im Grunde benutzten, und mein Vater digitalisierte diese Literatur oder half dabei, sie zu digitalisieren. Am Anfang war es ein Nebenprojekt und Daten dazu. Es wurde tatsächlich mein erster Vollzeitjob, und zwar beim Arbeiten für. Für die, lass mich, kannst du dir das mal ansehen? Arbeiten für den Verlag in den USA, der für diese Literatur verantwortlich war.

Jonathan: Mm.

Gabriel: Im Grunde fragte mich mein Vater: Ja, ich habe all diese Makros. Ich habe sie in einem Euroscript geschrieben, das im Grunde auf einer Version von Word basierte, könnte man sagen. Pre-Word, und ich möchte jetzt auf Word umsteigen und ich brauche alle meine Makros in Word. Und ich sagte so: Okay. Okay. Und so habe ich angefangen, in Word zu programmieren. Also Visual Basic for Applications, man konnte zuerst die Makros aufzeichnen. Man konnte sich den Code ansehen und sehen, was er macht, und man konnte ihn verbessern und die Makros im Grunde so weit verbessern, dass sie im Grunde Vorher war es so: Du setzt den Cursor hierhin, drückst eine Taste und dann macht es etwas in den nächsten paar Zeilen. Und am Ende war es so, dass es das gesamte Word-Dokument von oben nach unten abarbeitete, komplett automatisiert. Und im Grunde war das der Einstieg in eine Menge Makros, die ich für diese Sache geschrieben habe. Das hat einige Wellen geschlagen, und die Person, die Leute, die meinem Vater diese Art von Aufgabe für seine Freizeit gegeben haben, sagten: Wow, das ist großartig. Lass uns mehr machen und das immer weiter automatisieren. Ja. So bin ich da reingekommen,

Jonathan: ihn, du hast deinem Vater viel Zeit gespart

Gabriel: Ja.

Jonathan: in dem Sinne, in jungen Jahren,

Gabriel: Das könnte man sagen. Und dann das Makroschreiben in Word, später in Excel. Ich habe ein Excel-basiertes, wie heißt das, Shop-System für einen kleinen Laden geschrieben. Es war also ein kleiner Laden für Bio-Lebensmittel und so weiter, und im Grunde schrieben sie alle Preise auf und rechneten sie dann im Kopf oder auf Papier aus. So lief das am Anfang. Und ich habe dafür ein System geschrieben, mit Barcode-Scanner und mit einer Waage, auf die man etwas legen und wiegen konnte, und man bekam den Kassenzettel und konnte den dann scannen, wenn man zum Bezahlen ging, und all das. Im Grunde drehte sich alles darum, es war Excel-basiert. Also, ja, ich würde es definitiv anders machen. Excel war gleichzeitig die Datenbank und die Druckmaschine. Ich habe also alles in Excel formatiert, in einem Excel-Blatt, und dann wurde es auf dem Bon-Drucker gedruckt und so weiter. Natürlich, ja, ich dachte, das war der Anfang meiner Karriere, sozusagen.

Jonathan: Wie alt warst du, als du, als du das alles gemacht hast, und, und, und was führte dann von dort aus weiter? War das vor der Uni, so während der Schulzeit, und hat das dann sozusagen deinen Karriereweg geprägt? Ziemlich stark.

Gabriel: Ja, das war alles vor der Uni. Das System für den Laden war also, als ich ungefähr 20, 21 war, meinen Zivildienst habe ich ungefähr zu der Zeit gemacht.

Jonathan: Huch?

Gabriel: Das Makroschreiben war, als ich so 16 war. Dazwischen habe ich auch ein Access-basiertes System zum Drucken von Etiketten für Briefe geschrieben, damit sie verschickt werden konnten. Also Adressen und so weiter. Und dann kam das Studium, und, Überraschung, ich habe nicht Informatik studiert.

Jonathan: Okay.

Gabriel: Ich habe tatsächlich auf Lehramt für Mathematik und Deutsch studiert, für die Altersstufen. Lass mich das mal ausrechnen. Alter 10 bis 20 und 19. Das sind also die Altersstufen. Also fünfte

Jonathan: also du

Gabriel: bis 13. Klasse.

Jonathan: dein Karriereweg, war, fing an, sich in eine Richtung zu entwickeln, und worauf, worauf basierte diese Entscheidung so ungefähr,

Gabriel: Eigentlich wäre ich wohl oft den Weg der Programmierung gegangen. Aber während meines Zivildienstes habe ich viel mehr als nur technisches Zeug gelernt, würde ich sagen. Ich war verantwortlich oder war in einem kleinen Team, das für ein Seniorenheim verantwortlich war. Man könnte sagen, es gab so 5, 5, 6 Zimmer darin. Und dort waren verschiedene Menschen, und ich war hauptsächlich für eine verantwortlich. Sie war vielleicht 55, 60 und hatte Alzheimer. Das hat einen großen Eindruck auf mich gemacht, denn wenn man in dem Alter mit so etwas konfrontiert wird, könnte man sagen, ja, sie war 60 und das klang alt für einen 20-Jährigen, aber mir war trotzdem klar, dass das jedem passieren könnte und auch mir passieren könnte. Und das hat mich viel mehr für die sozialen Bereiche des Lebens interessiert und

Jonathan: Faszinierend.

Gabriel: soziale Karrierewege. Und da war eigentlich. Das ist im Grunde der Grund, warum ich mich damals entschieden habe, Lehrer zu werden. Ich wollte also programmieren, ich war sehr gut darin, zu unterrichten oder meinen Mitschülern zu helfen, besonders in der Schule. Und Mathematik. Mathematik war mein stärkstes Fach und ich mochte es immer. Ja, ich mochte es immer, anderen zu helfen. Ihre Fähigkeiten zu verbessern, oder ich liebte es immer, wenn sie es plötzlich verstanden. Wenn ich diesen Blick sah. Jetzt haben sie es kapiert. Ja. Und so bin ich, bin ich tatsächlich Lehrer geworden.

Jonathan: Oh, das ist cool. Und sag mir mal, du hast das erwähnt, dieses Ding wie Zivil, deinen Zivildienst sozusagen. In Deutschland, das ist Pflicht, dass jeder Schüler oder jedes Kind das machen muss, bevor es zur Uni geht? Wie, wie passt das alles in die deutsche Kultur?

Gabriel: Damals war es eine Alternative, eine Alternative zum Wehrdienst. Entweder machte man neun Monate, neun Monate Militär, oder man machte 11 Monate Zivildienst. Das war die Voraussetzung.

Jonathan: Okay.

Gabriel: Für Männer, nicht für Frauen.

Jonathan: Ist das in Deutschland noch so?

Gabriel: Nein, das ist nicht mehr so. Nein. Nein.

Jonathan: Okay. Ich weiß, in der Schweiz ist das so, woher meine Frau kommt. Es war also einfach Dieses Modell ist noch vorherrschend. Okay. Jetzt hast du also Mathe gemacht und auf Lehramt studiert, und offensichtlich hat das Programmieren in deinem Leben eine ziemlich große Rolle gespielt. Wann war es so, hattest du einen Moment, in dem du dachtest, eigentlich bin ich, ich bin im Lehramt. Ich genieße das, aber ich bin nicht, aber da ist immer noch dieses Programmier-Ding, das. Aktiv und engagiert ist. Wie, wie haben sich diese beiden Dinge ausgeglichen, das Unterrichten und das Programmieren?

Gabriel: Wie ich zum Programmieren zurückgekommen bin? Ja.

Jonathan: Ja

Gabriel: Ja. Also während meiner Zeit, während meiner Studienzeit gab es im Grunde zwei Dinge, die ich als Nebenjobs gemacht habe. Das eine war Unterrichten. Ich habe bei einer Nachhilfeagentur unterrichtet. Ich habe an der Uni unterrichtet, bei den Jüngeren, also in Mathematik, hauptsächlich im ersten und zweiten Semester. Und gleichzeitig hatte ich einen Job bei einer Tech-Firma. Die waren hauptsächlich, es war hauptsächlich Access-basiert.

Jonathan: Mm.

Gabriel: Also es war eine Firma, die Hardware und Software für Carsharing machte und für Firmen, die viele Autos hatten, die sie an ihre Mitarbeitenden vermieteten. Und ja, dort habe ich im Grunde zuerst als Dokumentenschreiber angefangen, und dann haben sie herausgefunden, dass ich auch programmieren kann. Also bin ich schnell in den Programmierbereich gewechselt. Ja. Und dann würde ich sagen, änderte sich das meiste, als in den letzten Teilen des, die Teile des Studiums, in denen man gehen musste, in denen man sechs Wochen an der Schule sein musste und, und einmal vier Wochen und so weiter. Und ich glaube, wurde mir auch klar und wichtig, auch durch Gespräche mit sehr erfahrenen und sehr, sehr Lehrkräften, die wirklich engagiert waren, sehr engagierte Lehrkräfte. Dass sich die Zeiten stark verändert haben. Die Schülerinnen und Schüler haben sich stark verändert. Eine Lehrerin sagte zu mir, sie unterrichtete immer fünfte und sechste Klasse, und sie erzählte mir im Grunde, vor fünf Jahren hatte ich ein. Kind in meiner Klasse, das war ein Problemkind in dem Sinne, dass die Schule nicht komplett war, dass es Scheidung gab oder Probleme zu Hause und so weiter. Und jetzt hat sie mehr als 50 %,

Jonathan: Sicher.

Gabriel: Und das war vor 10 oder 15 Jahren. 2000. Sechs oder sieben, das muss es gewesen sein, also vor 15 Jahren. Und das zeigte, wie sehr sich die Dinge verändert haben. Und es war mir auch sehr klar, dass viele Schüler heutzutage einfach nicht mehr lernen wollen. Und die Lehrkraft ist immer die, im Grunde ist die Lehrkraft immer die letzte. Das Ende von allem. Ja. Die Eltern und die Schulleitung und die Schüler. Sie sind im Grunde alle die Herren über die Lehrkraft. Ja. Die Lehrkraft ist immer die, einer der letzten Strohhalme, könnte man sagen, oder ich bin nicht sicher, wie man das auf Englisch ausdrücken würde. Er ist immer derjenige, der die ganze Verantwortung tragen muss, aber im Grunde keine Rechte hat.

Jonathan: Autorität, ja. Zu handeln. Ja.

Gabriel: Ja.

Jonathan: Also hat deine Entscheidung? Na ja, sorry, ich unterbreche dich. Mach, mach weiter

Gabriel: Diese Art von, zumindest hat es mich stark zum Nachdenken gebracht und. Als ich mit der Uni fertig war, bin ich einfach wieder ins Programmieren reingerutscht, weil ein Freund von mir, er war derjenige, der meinem Vater diese Literaturarbeit gegeben hat. Er hat mich im Grunde gefragt, ob ich ihm bei einem Projekt helfen könnte. Und dieses Projekt, das zunächst als ein vier- oder sechswöchiges Projekt gedacht war, wurde zu einem zwei- oder dreieinhalb Jahre. Oder dreieinhalb Jahre. Projekt

Jonathan: so Scope Creep. Der Scope Creep war real

Gabriel: Ja. Zuerst bat er mich, ihm bei etwas zu helfen. Und dann war er immer in Kontakt mit einer Person von diesem Verlag in den. Und der Verlag sagte immer, ich will eine öffentliche Homepage dafür mit Literatur. Ich will, dass die Leute die ganzen Bücher online lesen können.

Jonathan: Oh wow.

Gabriel: Ich sagte an einem Punkt, ich sagte einfach zu meinem Freund, er sprach gerade am Telefon mit ihm, und er sagte, ich könnte mir vorstellen, das zu machen. Ich habe gerade eigentlich nichts zu tun. Und er sagte: Oh, Gabriel macht das. Und so fing es an. Also

Jonathan: Wow.

Gabriel: Ich hatte ein Projekt, ja, und dann habe ich dreieinhalb Jahre für dieses Projekt gearbeitet. Tausende Bücher online gestellt, die gesamte Inhaltsbibliothek

Jonathan: Wow.

Gabriel: Index. Verschiedene Sprachen sind miteinander verbunden. Ja, die Website ist noch online. Sie ist e g e gw writings.org. Falls jemand interessiert ist, sie sich anzusehen, sie hat ein neues Design. Jetzt, ich habe so um Dezember letzten Jahres gesehen, sie sind auf das neue Design umgestiegen, aber der Code darunter ist.

Jonathan: Alles derselbe.

Gabriel: Größtenteils meiner, weil ich es sehen kann, weil es hauptsächlich JavaScript-basiert war.

Jonathan: Ja.

Gabriel: Der Code sieht sehr, er ist anders in Dateien organisiert und all die verschiedenen Stile sind immer noch dieselben.

Jonathan: Du musst mir den Link schicken und wir, wir posten ihn zur richtigen Zeit in den Shownotes. Aber jetzt hast du also dreieinhalb Jahre, was, drei Jahre an diesem Projekt gearbeitet. Du hast, du hast das ganze Zeug indexiert. Hast du damals JavaScript als deine Hauptsprache verwendet? Was war dein, war dein technisches Setup sozusagen? Man könnte sagen, worauf hast du dich konzentriert?

Gabriel: Das war im Grunde der große Schritt weg von Windows-basierter Software, die vorher Visual Basic und Visual Basic .NET war. Und jetzt war es nur noch jQuery, JavaScript und PHP im Hintergrund.

Jonathan: Okay.

Gabriel: Wir hatten auch eine Vereinbarung, dass ich immer, wenn ich recherchierte, einen niedrigeren Stundensatz hatte,

Jonathan: Mm-hmm.

Gabriel: er war ein Drittel von dem, wenn ich tatsächlich programmierte. Und ja, das gab mir die Freiheit, im Grunde on the job zu lernen. Ja.

Jonathan: Cool. Dann, wo, wo. Exercism. Und jetzt machst du viele Dinge. Habe ich recht mit der Annahme, dass Go so ein Hauptmerkmal deiner Arbeit ist. Du gibst viel Mentoring und du warst, na ja, du warst bei Exercism in Go involviert und hast in dem Bereich geholfen. Wann, wann kam das ins Bild und warum war es für dich interessant? Nur zu.

Gabriel: Ja, 2016, das war mein erster Job nach diesem großen Projekt. Eigentlich fing ich gegen Ende davon an, auf Go umzusteigen. In diesem Job habe ich hauptsächlich etwas PHP und Python gemacht. Und das wurde sehr schnell meine Lieblingssprache, meine Lieblingssprache, weil sie diese Einfachheit hat. Sie versucht im Grunde. Aus dieser verrückten Welt von immer mehr Features und Sprachen und sie immer komplexer und komplizierter zu machen und viel mehr Overhead für die Entwickler, weil sie wählen müssen. Welchen Weg sie gehen. Und sie müssen auch all die anderen Wege verstehen, die andere Leute gehen. Also dieser ganze Overhead, und Go brachte plötzlich diese Ruhe und dieses. Wieder zu vereinfachen. Und das wurde sehr schnell mein Ding Nummer eins, was der Bau eines Prototyps in dieser Firma war, etwa ein halbes Jahr, bevor ich ging. Weil sie auf Go umsteigen wollten und am Anfang gab es natürlich diese anfänglichen Dinge, wo man über Sachen stolpert, die man in der Sprache nicht machen kann, und dann versteht man, warum es keinen Sinn ergibt, es so zu machen, oder warum es besser ist, es so zu machen. Dass ich wirklich daran interessiert war, zu lernen, wie man diese Dinge macht. Und so fing ich an, den Go Time Podcast zu hören. Der ist von Change Log.

Jonathan: Okay.

Gabriel: Und Katrina Owen war in diesem Podcast, glaube ich, zweimal. Mindestens zweimal habe ich von ihr gehört, denke ich. Ja. Und so habe ich angefangen, mir das anzusehen. Ich glaube, 2017 habe ich mich bei Exercism registriert. Ich bin mir zu soundsoviel Prozent sicher, ich müsste es nachschauen und.

Jonathan: Ich vermute. Wäre das fair?

Gabriel: Ja, ich glaube, es könnte sogar noch Version eins gewesen sein, denn am Anfang gab es keine, es gab, ich bekam nicht wirklich, ich bekam kein Feedback. Ich habe ein paar Übungen gemacht, aber ich habe nie Feedback bekommen, und ich konnte anderen Feedback geben, und das habe ich getan. Und, aber ich habe nie Feedback bekommen. Es gab also keinen, keinen Prozess, um wirklich Feedback zu bekommen. Und es war, wenn du willst, und wenn nicht, dann lass es einfach. Sozusagen. Ja. Ich glaube, das war Version eins, oder?

Jonathan: Ich vermute. Ich meine, ich glaube, es hat ziemlich viele Veränderungen von Version eins zu Version drei gegeben.

Gabriel: Ja. Ja.

Jonathan: Version eins war wenig Feedback. Version zwei erforderte extrem viel Feedback, und dann hat Version drei so irgendwo. In der Mitte gesessen, ein bisschen vielleicht eher auf der, auf der geringeren Seite, aber nein. Und, und hast du, warst du am Aufbau von Version drei beteiligt und wie, wie hast du das so. Ja. Wie war deine Beteiligung daran? Ich meine, das ist mir nicht ganz klar, aber ich würde es gerne verstehen.

Gabriel: Vielleicht ein, einen Schritt zurück, wenn ich darf. Also im Grunde kam ich zurück, nachdem ich das zweite Interview gehört hatte. Von Katrina bei Exercism,

Jonathan: Okay.

Gabriel: Da gab es Version zwei. Und als es viel Arbeit gab und es diese, viel Feedback gebraucht wurde. Ich bin da eingestiegen und ich mochte es wirklich, dieses Feedback zu geben. Und,

Jonathan: Mm-hmm.

Gabriel: Im Grunde fing ich an, darüber nachzudenken, wie ich das schneller machen könnte. Ja. Weil ich schnell merkte, dass ich, besonders bei den ersten Übungen, klar dieselbe Antwort immer und immer wieder geben würde.

Jonathan: Ja.

Gabriel: Und auf der anderen Seite natürlich manchmal, diese zwei Probleme und manchmal gab es dieses Problem und ein anderes. Also fing ich im Grunde an, das zu optimieren. Ich fing an, ein kleines Go-Programm zu schreiben, das statische Analyse verwendet, weil ich in die Analyse einsteigen wollte. Das hatte ich vorher nicht gemacht. Ich wollte das kennenlernen. Ich war also sowieso daran interessiert, es auszuprobieren, und das schien eine gute Idee zu sein. Weil es immer noch Code war, der sehr verbreitet oder sehr ähnlich war. Die Lösungen einer Übung, besonders die ersten, sind sehr ähnlich. So bin ich in die statische Analyse reingekommen und habe einfach nach verschiedenen Mustern im Code gesucht und dann automatisch Antwortblöcke oder vordefinierte Blöcke zur Antwort hinzugefügt. Im Grunde habe ich lokal damit angefangen und so war ich in der Lage, rund 100 pro Woche zu schaffen, 100 bis 200 pro Woche. Und ich habe nicht mal irgendetwas in Vollzeit gemacht. Es war neben meinem Job. Und ja. Und dann fing es an, Pitfield war, glaube ich, der Erste. John Arun, glaube ich, ist sein echter Name. Er war so der Erste, der sagte: Wow, das ist großartig. Das ist super. Und so wurde das im Grunde bekannt, die Arbeit, die ich gemacht habe, mit der statischen Analyse. Und ich glaube, das war ein großer Teil von Version drei. Wir fingen an, darüber nachzudenken, wie wir die Arbeit eines Tutors im Grunde reduzieren können, indem wir diese Tools haben, diese automatische, diese statische Analyse oder die Tools, die den Code automatisch prüfen und automatisch Feedback geben. Sogar komplett automatisch, ohne dass ein Mentor beteiligt ist oder sein muss. Und weil die Mentoren, es war ziemlich klar, dass wir Mentoren haben und sie nicht genug für die Arbeit sind. Wir hatten das Inversion-Tool und wir sahen auch, dass viele Mentoren ausbrannten, sie verschwanden, und ja, es war einfach zu viel. Zu viel für, für viele Mentoren. Ja. Die Arbeit war so etwas mit Streaks, sie hatten 500 oder mehr Lösungen zum Mentoring oder, und manchmal gab es Wartezeiten von einem Monat oder mehr. Und natürlich waren das Bedingungen, unter denen die Lernenden irgendwann einfach gingen. Ja.

Jonathan: Hmm. Es ist lustig, denn ich glaube, Jeremy hat neulich gesagt, dass von allen, von allen eingereichten Lösungen etwa 75 % völlig einzigartig sind, was ich auch faszinierend finde. Ich meine, du gehst zu einer Hello-World-Übung, die ist natürlich sehr einfach. Sicherlich müsste das ein Standardmuster sein, das regelmäßig umgesetzt wird, und er meinte: Die Leute probieren die verschiedensten, verschiedensten Dinge aus. Und es ist lustig, wie sich das überschneidet, denn je populärer das Programmieren wird und je mehr Leute mit dem Entwickeln und Programmieren anfangen, fragt man sich irgendwie, wo diese Automatisierung anfängt. Die Rolle der Entwickler zunichtezumachen. Ich, ich frage mich, ich, ich weiß nicht, ob es so kommen wird. Ich glaube, es ist immer noch zu viel nötig, aber was, weißt du, ich weiß nicht, was du darüber denkst, aber es fühlt sich an, als gäbe es bei Exercism in letzter Zeit einen riesigen Vorstoß beim Mentoring, was wirklich faszinierend ist, weil es, wie du sagtest, es, es. Nimmt all diese wiederholten, Lektionen, die man immer wieder geben muss, und bringt sie in eine Form, die für Leute handhabbar ist. Gleichzeitig, geht es nicht auch darum, dass man eigentlich die, eine menschliche Interaktion braucht, einen Menschen, der sich wirklich mit dem Inhalt befasst. Also ich weiß nicht, ob du dazu Ideen hast, aber ich finde, das ist an diesem Punkt ein interessanter Bereich.

Gabriel: Ja, ich glaube nicht, dass Entwickler sehr bald ersetzt werden. Das dauert noch ziemlich lange. In der Entwicklung, Anwendungen im Allgemeinen, beim Mentoring, glaube ich. Ich glaube, die statische Analyse und auch das automatisierte Mentoring und automatisiertes Mentoring im Allgemeinen bei Exercism können eine große Hilfe sein. Aber Mentoren werden für echtes Mentoring gebraucht, würde ich sagen. Ja. Zum Beispiel habe ich jemanden, den ich mente, etwa alle zwei oder drei Monate haben wir einen Call, manchmal mehr. Und ich mente ihn in seiner Karriere, sozusagen. Ja. Und auch technisch, sehr tief technisch, aber es ist eine völlig andere Art von Mentoring, als nur die Lösung anzusehen und dir zu sagen, was du verbessern kannst. Und ich glaube, dafür werden die Mentoren, die es gibt, immer noch gebraucht, und sie werden definitiv gebraucht werden, und ich glaube, das ist etwas, worauf wir uns konzentrieren können. Auf der anderen Seite glaube ich, ich glaube, wir können die Mentoren bei den Lösungen nicht komplett ersetzen, und ich glaube, wir sollten es auch nicht. Wir können vieles automatisieren, aber ein Mentor ist trotzdem jemand, der die Richtung weisen kann. Sie können die Probleme sehen, mit denen du kämpfst, und sie können dir sagen: Versteh dies und das, nicht nur: Du musst deinen Code so und so verbessern.

Jonathan: Ja. Ja.

Gabriel: Und ehrlich gesagt hätte ich gerne mehr Mentoring zurück bei Exercism. Ich frage mich also, ob wir

Jonathan: Face-to-Face-Interaktion, meinst du?

Gabriel: Ja. Ich frage mich, ob wir, wir hatten früher diesen Pfad von 10 Übungen, mindestens waren es 10. Die man durchlaufen musste und man konnte nur weiterkommen, wenn sie mentoriert worden war.

Jonathan: Ja.

Gabriel: Und ich glaube, mit der Automatisierung, die wir jetzt haben, könnten wir das eigentlich wieder einschalten. Oder vielleicht nicht jetzt, aber in Zukunft. Und ich glaube, das würde mir gefallen.

Jonathan: Wir könnten definitiv, wir sollten das in einem, in einem Community-Call ansprechen, denn ich glaube, das wäre, das wäre cool, das so wieder, wieder in den, in den Fokus zu rücken. Also Gabriel, eine der Fragen, die wir oft stellen, und, und das ist nicht die, über die ich vorhin mit dir gesprochen habe, aber ich. Eine der Fragen, die ich, ich, ich gerne stelle, weil sie immer sehr interessant und anders ist, ist: Hat Programmieren bei dir irgendwie Klick gemacht? Leute würden sagen, es gab ein Erlebnis, bei dem plötzlich alles Sinn ergab. Bei mir ist es oft die Geschichte. Ich gebe ein Beispiel aus der Schule, als ich Chemie lernte und in Großbritannien, wo ich zur Schule ging. Man hat diese Prüfungen am. Und alles läuft auf diese Prüfungen hinaus, drei Jahre vor diesen Prüfungen. Man hat also drei Jahre Studium und das gipfelt in der Abschlussprüfung. Und das in allen Fächern. Und eines der Themen war natürlich Chemie. Und ich verbrachte etwa drei Jahre ohne einen Schimmer von Chemie. Ich konnte einfach nicht, Es, konnte es nicht. Ich konnte es nicht verstehen, dann, eine Woche vor der Prüfung, war es, als ob der Groschen fiel, der Ausdruck, als ob die Sache plötzlich Sinn ergab. Und ich dachte: Oh mein Wort. Ich kann alles aus dem Periodensystem ableiten. Wenn ich die Zahlen im Periodensystem kenne, kann ich dies, das und jenes verstehen. Und die Dinge wurden wirklich einfach und es war wie: Hattest du einen solchen Moment beim Programmieren, oder war es etwas, das einfach so. Du fandest, es ergab für dich von Natur aus Sinn, und wann war dieser Moment, falls das relevant ist?

Gabriel: Ich bin mir nicht sicher, ob ich diesen eindeutigen Moment habe. Ich glaube, es hat sehr geholfen, diese Makroaufzeichnung zu haben und sich den Code schon sehr früh mit Visual Basic for Applications anzusehen. Ich bin nicht sicher, ob es das heute noch gibt, ob es so etwas heute noch gibt. Ich glaube, man kann es noch in Word machen und das tun. Aber es kommt nicht oft vor, dass man so etwas hat, wo man aufzeichnen und sich dann den Code ansehen und so lernen kann. Ich glaube, das hat es mir viel leichter gemacht, weil ich am Anfang sehr gekämpft habe. Ich glaube, ein, ein Art von Moment, wo ich sagen würde, okay, nicht dass ich die Dinge verstand, aber dass ich erkannte, im Grunde. Ob ich die Dinge richtig oder falsch machte, war, als ich zu dieser Firma kam, als ich Student war, war im Grunde das erste Mal, dass ich arbeitete. Ich arbeitete mit anderen Entwicklern zusammen. Vorher war ich immer ganz allein und musste im Grunde alles machen. Und es war immer eine große Frage. Macht man das normalerweise so? Es fühlt sich seltsam an. Es fühlt sich kompliziert an. Es fühlt sich an, als ob es funktioniert, aber ist es richtig? Und diese Art von Frage wurde beantwortet, als ich zu dieser Firma kam und dort anfing und. Definitiv gab es viel, was ich lernen musste, und ich habe viel gelernt, zum Beispiel Access Record Sets. Die habe ich vorher nie wirklich verstanden. Ich arbeitete mit ihnen, aber

Jonathan: Mm.

Gabriel: ja, es funktionierte

Jonathan: Ja. Etwas

Gabriel: Dann verstand ich sie wirklich, fing an, sie zu verstehen. Das war vielleicht etwas, wo es bei mir Klick machte, weil ich eine Kollegin hatte und sie es mir erklärte, und es war wirklich, eines Tages verstand ich. Wie sie funktionieren und

Jonathan: Mm-hmm.

Gabriel: wie sie funktionieren sollen und wie man sie richtig verwendet und so weiter. Also ja, vielleicht war das einer dieser Punkte. Aber ich glaube, diese Punkte kommen in unserer Arbeit sehr oft. Ich glaube nicht, dass es diesen einen Punkt gibt, vielleicht ist das so ein, so ein erster Punkt. Aber auch bei Go gibt es so viele Stellen, wo es bei mir Klick machen könnte, wo ich verstehe. Warum etwas so ist und wie es verwendet werden soll. Und zum Beispiel Context. . Ja. Zum Beispiel Context.

Jonathan: Ja.

Gabriel: Ja. Zum Beispiel, die Context. Ich bin nicht sicher, sie wurden in, ich glaube, eins oder sechs oder sieben eingeführt, vielleicht. Um die Zeit herum, ich habe sie nicht. Ich habe sie mir ehrlich gesagt am Anfang nicht wirklich angesehen. Ich brauchte sie am Anfang nicht wirklich. Und dann bekam ich eins zu eins. Es war wie ein Meetup und jemand präsentierte über den Context, wie man sie benutzt, wie man, und so weiter. Und das dachte

Jonathan: Hmm.

Gabriel: sollte man sich ansehen. Aber es dauerte trotzdem ein paar Monate, bis ich sie mir wirklich ansah und verstand, warum sie da sind. Und zum Beispiel der Close-Channel, ich bin nicht sicher, ob dir viele Leute bekannt sind, die im Internet noch vorschlagen, dass man eine Go-Routine mit einem Close-Channel schließt und das nicht sollte. Dafür ist der Context da. Ja. Man verwendet einen Context, man bricht den Context ab, und dann kann man die Go-Routine damit schließen. Wenn man einen geschlossenen Channel verwendet, macht man im Grunde manuell, was ein Context intern macht, und es gibt so viele Stolperfallen, die man vermeiden kann, so viele Probleme. Zu vermeiden, dass die Leute es normalerweise falsch machen.

Jonathan: Ich bin sicher, du hattest einen Live, du hast einen Livestream gemacht und etwas darüber erwähnt. Ich, ich glaube, ich erinnere mich, wo du erwähnt hast, weißt du, benutz einfach Context, weil

Gabriel: Ja.

Jonathan: sehr viel Sinn ergibt.

Gabriel: Ich erinnere mich, dass ich das erwähnt habe.

Jonathan: Ja. Aber nein, also, also dann in Bezug darauf, wie, wenn du Leute in der Vergangenheit mentort hast, was sind einige der, Kannst du erkennen. Handlungen oder Verhaltensweisen oder Dinge, die die Leute, die Dinge schnell begreifen, kannst du, was sie tun, das ihnen erlaubt, sich so zu positionieren, dass sie schnell oder effektiver lernen? Oder ist es so, dass viele der Mentoren oder Leute, die du mentort hast, irgendwie von Natur aus so engagiert sind? Oder gibt es Leute, bei denen du sagst: Wow, sie machen Dinge, Sie machen Dinge, die es ihnen erlauben, ihr ... zu beschleunigen.

Gabriel: Ich bin mir nicht sicher, ob ich das über andere Leute sagen kann. Über mich selbst kann ich es definitiv sagen. Ich habe, glaube ich, von meinen Eltern gelernt. Sie haben sich selbst viel beigebracht und das habe ich auch von ihnen gelernt, mir selbst Dinge beizubringen. Ich habe also Programmieren gelernt. Komplett allein. Am Anfang war mein Vater da. Es gab einige Dinge in der Schule. Meistens, in den späteren Klassen in der Schule, war ich eigentlich, oder wir waren, fast alle von uns waren sowieso besser als der Lehrer. Es gab also nicht wirklich Lernen. Es gab eher eine Art voneinander Lernen. Aber

Jonathan: Ja.

Gabriel: Im Allgemeinen habe ich mir alles selbst beigebracht. Und das ist etwas, das man meiner Meinung nach beim Programmieren braucht. Denn man muss sich ständig in Dinge eingraben, die man noch nie gesehen hat. Man weiß nichts über sie, man muss sich darüber informieren. Also wie heißt das Wort? Diese. Fähigkeit. Ja. Diese Fähigkeit, sich in etwas eingraben und es selbst lernen zu können, ich glaube, das ist entscheidend beim Programmieren zum Lernen. Und natürlich kann man viel schneller lernen, wenn man jemanden findet, der einem davon erzählt. Ich will also nicht sagen, dass man nicht nach einem Mentor suchen sollte, dass man nicht zu Exercism gehen sollte und so weiter. Das hilft einem, viel schneller zu wachsen, aber trotzdem ist das. Das ist, was ich sagen würde.

Jonathan: Es scheint mir, dass dein Lernen durch praktisches Problemlösen kam. Ob es darum ging, Makros zu schreiben, um ... effizienter zu machen, oder ... es kommt mir so vor, dass das ein Kernthema war, das sich in, in, in deinem Leben wiederholt hat, in Bezug auf Lernen, was ich glaube, das passt auch sehr. Allgemein zu dem, was Exercism auch versucht zu tun, nämlich Leuten praktisch zu helfen, Dinge zu tun

Gabriel: Ja. Es zu durchlaufen.

Jonathan: Ja. Das ist wirklich cool. Also, Gabriel, wir, wir haben nicht mehr viel Zeit übrig, aber ich habe zwei abschließende Na ja, nicht Fragen an dich. Eine ist eine Frage und ich werde dich bitten, eine Meinung von dir zu teilen, und dann wird die andere sein, na ja, es ist eine Art Meinung, die du könntest. Ich werde dich bitten, der Community eine Empfehlung für etwas zu geben, das sie diese Woche ausprobieren sollte. Aber das Erste ist, dass wir mit vielen unserer früheren Leute gesprochen haben, die wir interviewt haben, und wenn du diesen Podcast oder diesen Livestream längere Zeit gehört hast, weißt du, dass wir normalerweise gegen Ende unseres, unseres Livestreams eine große Frage stellen. Und die Frage ist: Was ist der Hügel, für den du in der Tech-Welt sterben würdest? Also, was ist die eine Meinung, die du sehr fest vertrittst, für die du einstehen und stehen würdest. Denk daran, du musst einen guten Grund dafür nennen. Du kannst nicht einfach sagen: Das ist meine Meinung und das war's. Du musst dich in diesem Sinne verteidigen können. Aber was wäre diese Meinung, wenn, Und sie kann so, so, so heftig oder so intensiv oder so trivial sein, wie du magst. Also, was wäre das?

Gabriel: Ich würde sagen, es war ein Sprichwort. Wir haben in der Go-Community ein Sprichwort, oder jemand hat gesagt: Langweiliger Code ist besser als cleverer Code.

Jonathan: Das gefällt mir. Was bedeutet das?

Gabriel: Was bedeutet das? Ja, im Grunde ist es, es fasst einen großen Teil von Gos Philosophie rund um Einfachheit und Lesbarkeit zusammen. Wenn man in Go-Code denkt: Wow, das ist clever, dann ist das eigentlich schlechter Code. Auch wenn die Person, die das gemacht hat, sehr intelligent war und es auf eine sehr clevere Weise gemacht hat. Und manchmal habe ich das Gefühl, wenn man wirklich der Einfachheit und den Idiomen von Go folgt, hat man eigentlich keinen Code in seiner gesamten Codebasis, auf den man zeigen will oder auf den man zeigen kann. Schau dir diesen Code an, wie gut er ist, weil all dein Code eigentlich langweilig und sehr einfach ist, und jeder, der deinen Code ansieht, wird sagen: Was ist so besonders daran? Ja, aber der Punkt ist, du bist zur Einfachheit gekommen, weil du ein guter Programmierer bist, und es ist ein Iterationsprozess, und komplizierter Code, komplizierten Code zu schreiben ist sehr einfach. Einfachen Code zu schreiben ist schwer. Weil man erst das Problem in seinem Kopf einfach machen muss, und dann muss man den Code korrekt schreiben, und dann muss man ihn iterieren und ihn einfach machen. Und das ist ein viel längerer Prozess und braucht viel bessere Entwickler, als einfach komplizierten Code zu schreiben, der, wenn man ihn ansieht, schwer zu verstehen ist. Er ist schwer zu lesen und schwer zu warten und schwer zu ändern.

Jonathan: Es ist das, es ist diese ständige Sache mit den Trade-offs, nicht wahr? Ich bin, ich bin ziemlich jung in der Tech-Welt, drei Jahre, und ich komme nicht aus einer Entwicklerperspektive. Ich komme eher von der Produktseite der Dinge. Eher von der Geschäftsperspektive darauf. Und wenn man so will, eine der Dinge, die wirklich interessant waren, war, dass es immer deutlicher wurde, dass es nur um Trade-offs geht. Man sagt also, der Trade-off ist einfacher Code gegen komplizierten Code, wobei komplizierter Code später vielleicht einfach sperriger und kniffliger ist. Einfacher Code kann länger dauern und mehr Energie und Aufwand von vornherein erfordern. Und das ist der Trade-off, der ständig eingegangen wird. Das war also eines der, ich weiß nicht, was, was du darüber denkst, aber es fällt mir auf, dass wirklich diese Seite der Einfachheit, weil ich mich erinnere, meine Mama hatte einen, hatte einen Freund an der Uni und er schrieb für seine Aufgaben immer nur einen Aufsatz, der zwei Seiten lang war. Weil er in der Lage war, alles auf zwei Seiten zusammenzufassen, und er bekam Bestnoten dafür. Ich glaube also, es, es, es passt zum ganzen Konzept der, der Einfachheit, und ich glaube, es ist wirklich schwer, einfachen Code zu schreiben, weil es klares, klares Denken erfordert, nicht nur Programmieren. Ich denke also, das ist ein, das ist ein würdiger Hügel, und ich glaube, du hast das ausgeführt. Du hast, du hast wirklich gut darüber gesprochen. Cool. Also Gabriel, letzte Frage dieser Woche. Und jetzt bekommst du die Gelegenheit, der Exercism-Community einen Rat zu geben. Und es kann alles sein. Es kann Gesundheitsrat sein, Ernährungsrat. Es ist deine Gelegenheit, einen Rat zu teilen, den du der Community geben würdest, und es kann alles sein, was du willst. Also, was wäre deine Empfehlung an die Exercism-Community diese Woche? Welche eine Sache müssen sie ausprobieren oder tun, aus deiner Sicht.

Gabriel: Oh, das ist eine schwere. Okay, jetzt, wo du sagst, es kann alles sein, darf ich dir zwei Dinge geben?

Jonathan: Ich lasse dich, ich lasse dich zwei machen

Gabriel: Okay. Eine, eine Empfehlung. Ich bin nämlich Vegetarier. Ich bin vegetarisch aufgewachsen. Ich habe nie Fleisch gegessen, und ich bin eigentlich vegan aufgewachsen, den größten Teil meiner Kindheit und Jugend. Also versuch eine Woche ohne Milchprodukte. Das wäre das eine. Und eine andere Empfehlung wäre, das ist, ich bin nicht sicher, ob man das in einer Woche schafft, aber wenn du ein guter Entwickler bist, schaffst du es, es ist sehr interessant und sehr lohnenswert, zu versuchen, Shared Memory zu bauen, geteilt zwischen mehreren Services, demselben Service, Shared Memory. Versuche, ein Shared Memory mit dem Raft-Protokoll zu implementieren. Du kannst eine Bibliothek verwenden. Du musst Raft nicht selbst implementieren, aber

Jonathan: Raft Du musst mir, du musst mir den Link schicken, damit ich ihn runterposten kann. Das ist also Gabriels Ch, na ja, vielleicht sollten wir es Gabriels Challenge für die Woche nennen. Vielleicht nicht so sehr Empfehlung. Vielleicht brauchen wir

Gabriel: Ja. Es ist eher etwas zum Ausprobieren.

Jonathan: Du schickst, du schickst eine Challenge raus. Das könnte, das könnte guten Spaß machen, aber Cool. Also eine Woche ganz ohne Fleischprodukte. Mal sehen, wie das läuft, und bau einen Shared-Memory-Server. Was würdest du sagen? Service, shared

Gabriel: Ja, man könnte es den In-Memory-Key-Value nennen

Jonathan: Okay.

Gabriel: Also mehrere Services, eine Datenbank oder ein Service. Ja.

Jonathan: Cool. Das ist

Gabriel: Weil es dir viel darüber beibringt, wie Datenbanken funktionieren. Ja. Darunter. Also besonders die modernen, die geteilt sind, wie, ja, nicht sicher. Ja. Cassandra slash Skylar, ich bin nicht sicher, ob du Skylar hast. Es ist eine Art Cassandra, aber in C Plus, und sie steigen jetzt auf das Raft-Protokoll um. Oder Es ist eine Key-Value-Datenbank. Eine geteilte ist ... Dase, nein, es ist keine Datenbank. Es ist Return Management. Ja, Be degraff von Degraf Beja. Also die, ich glaube, sie verwendet unter der Haube auch ein Raft, um, um die Daten zu verteilen. Ich kann es nicht mit Sicherheit sagen, ich müsste es noch mal nachschauen. Aber es gibt viele Datenbanken, bei denen wir es verwenden. Verteiltes System. Das verteilte System ist also im Grunde eine große Herausforderung, würde ich sagen, unserer modernen Zeit. Wir sind dabei, sie zu lösen, aber es gibt noch viele Herausforderungen zu überwinden, und ja, es ist immer gut, in dieser Hinsicht denken zu können, denn wenn man das kann, dann eröffnet das viele Möglichkeiten.

Jonathan: Hmm.

Gabriel: Wenn du irgendwelche brauchst. In meiner letzten Firma bin ich tatsächlich diesen Weg gegangen, gleichzeitig ein Shared Memory zwischen mehreren Services zu haben. Ja.

Jonathan: Vielleicht, vielleicht sollten wir das als Masterclass aufsetzen. Wir geben den Leuten ein paar Wochen, um es auszuprobieren. Dann Gabriel,

Gabriel: das ist, das ist die Master

Jonathan: Ja,

Gabriel: wenn du mit Exercism durch bist und alle Übungen gemacht hast,

Jonathan: Das ist die große. Die große. Sie bindet alles, Sie bindet alles zusammen. Gabriel, vielen Dank für deine Zeit. Es war eine echte Freude, heute Abend mit dir zu plaudern. Wenn du einfach noch dableiben willst, nachdem wir, nachdem wir mit der Aufnahme fertig sind, nur kurz, aber ich wollte einfach ein riesiges Dankeschön sagen und weiß all das sehr zu schätzen, was du in Exercism steckst, und nicht nur für uns, sondern all das Mentoring, das du weiter draußen machst, und dass du Leuten hilfst, besseren Code zu schreiben. Ich bin sicher, das wird überall sehr geschätzt. Also danke für deine Zeit und. Melde dich bei Gabriel. Wenn du auf Exercism bist, schreib ihm eine Nachricht, frag nach etwas Mentoring und ich bin sicher, du wirst eine gute Zeit mit Gabriel haben. Cool.

Gabriel: Vielen Dank.

Jonathan: die Aufnahme beenden. Ja, Nein, danke für, danke, dass du dabei warst, und wir sehen dich bald auf irgendeiner Form von Plattform irgendwo

Gabriel: Danke.

Weitere Geschichten aus unserer Community

Hör zu, lerne und lass dich von unseren Community-Mitgliedern inspirieren.