Zurück zur Community

Sei nicht zu produktiv!

In dieser Community Story unterhalten sich Franziska und Jonathan über Teamdynamik, darüber, wie unterschiedliche Menschen in einem Unternehmen Zusammenarbeit angehen, und darüber, wie du dich aufstellst, um Programmieren zu lernen.

Auf Youtube ansehen
LÄNGE 50MIN

Jonathan: Hallo und willkommen zum Exercism-Podcast. Mein Name ist Jonathan, und ich freue mich, dich heute hier begrüßen zu dürfen. Mir gegenüber sitzt Franziska, eine unserer Maintainerinnen für die Go- und JavaScript-Tracks. Wir sind sehr froh, dass Franziska Teil von Exercism ist, und sie ist schon seit einigen Jahren dabei. Wenn du also schon eine Weile dabei bist, bist du vielleicht schon über Franziska gestolpert. Sei es in den Lerngruppen oder in den Go- und JavaScript-Tracks. Franziska, ein herzliches Willkommen heute. Vielen Dank, dass du dabei bist. Ich lege direkt los und frage dich, wie du dahin gekommen bist, wo du heute stehst.

Franziska: Ja. Okay. Ich bin Franziska. Im Internet bin ich June oder ein June Dev. Ich lebe derzeit in der Nähe von Frankfurt in Deutschland, knapp außerhalb der Stadtgrenze in einem kleinen Vorort. Und ich habe vor Kurzem einen neuen Job bei Atlassian angefangen. Atlassian ist die Firma hinter vielen geliebten oder gehassten Tools wie Trello, Jira, Confluence. Ja, und was ich dort mache, ist ein neues Tool zu entwickeln, das Produktmanagern bei ihrer Arbeit hilft. Denn bei Jira liegt der Fokus auf Entwicklern, aber es passt nicht gut zu dem, was Produktmanager tun müssen, Dinge priorisieren und so weiter. Also bauen wir etwas speziell für sie. Ich mag Go als Sprache sehr. Und das Backend ist mit Go gebaut. Als ich die Stellenanzeige sah, dachte ich: Hey, cool, dass die das machen. Ich habe mich beworben und den Job bekommen. Bisher sind es erst 30 Tage, ich weiß nicht, aber ja, es war eine gute Erfahrung. Dann, als Kind, war ich immer an Technik und Naturwissenschaften interessiert, Sci-Fi, großer Star-Trek-Fan, all diese Dinge. Ich habe gemerkt, dass ich in der Schule gut in Mathe und Physik war. Damals studierten viele Leute Informatik, und sie sagten uns immer, wir sollten nicht das studieren, was alle anderen machen, weil es dann später zu viele von diesen Leuten geben würde. Und ich dachte: Okay, vielleicht sollte ich nicht Informatik studieren, weil es dann zu viele davon geben wird. Jedenfalls dachte ich: Okay, machen wir etwas Ähnliches. Also habe ich am Ende Physik studiert, was ich in der Schule sehr mochte. Und ich hatte Informatik eher als Nebenfach. Ich hatte also ein paar Kurse, aber nicht so viele wie die anderen. Ich habe gemerkt, dass man an einen Punkt kommt, an dem man sich fragen muss: Okay, was mache ich für den Rest meines Lebens, oder? Wie verdiene ich mein Geld mit etwas, das ich wirklich gerne mache? Und ich merkte, dass dieser Programmier-Teil tatsächlich der Teil war, der mir an dem, was ich im Studium gemacht habe, am meisten gefallen hat, und dass ich gut darin war. Und ich wollte mehr davon machen. Und es ist auch etwas, das die Rechnungen bezahlt. Also dachte ich: Okay, wie bekomme ich einen Job in diesem Bereich, ohne zu diesem Zeitpunkt einen klassischen Informatik-Abschluss zu haben. Das andere war: Ich wollte damals nicht so ein C-Entwickler, ein Java-Entwickler werden, so ein altmodischer Bank-Backend-Code-Typ irgendwo. Also dachte ich: Okay, wie lerne ich das moderne Zeug, das Internet, das Web. Ich will etwas dafür bauen. Und dann erzählte mir ein Freund, dass es so etwas wie Web-Development-Bootcamps gibt, wo man für drei Monate irgendwo hingehen kann und sie einem das neue coole Zeug beibringen. Ja. Also beschloss ich, das zu machen. Und von dort aus hätte ich dann wahrscheinlich einen besseren Ausgangspunkt, um einen Job zu finden. Und damals gab es hier in Deutschland tatsächlich keine davon. Ja. Entweder man konnte für Jahre und Jahre an die Uni gehen, oder es gab ein paar Orte, an denen man ein bisschen Arbeit und Studium gleichzeitig machen konnte, aber auch riesige Programme mit jahrelanger Ausbildung. Und was Bootcamps anging, gab es nur so Sachen wie Startup-Accelerator-Zeug. Wo man ein bisschen Programmieren lernt, aber dann auch Management-Zeug, Wirtschaft und so weiter. Das passte nicht gut zu mir. Also schaute ich mich ein bisschen um und fand dann einen guten in London, der die Fächer hatte, die ich lernen wollte.

Jonathan: Da läuft es.

Franziska: Da geht was ab. Ja, genau. Genau. Da, wo das coole neue Zeug passiert. Ja, ich fand dieses Bootcamp, Mann, ich bin hingegangen. Es war wirklich eine großartige, großartige Erfahrung. Und wir haben Node.js fürs Backend gemacht. Danach ging ich zurück nach Frankfurt und fand tatsächlich einen Job als Node-Entwickler. Und die Firma war ziemlich cool und die Tech war wirklich cool, und ich kam sehr schnell in alles rein, und es hat viel Spaß gemacht. Aber mit meinem Team hatte ich etwas Pech, es gab viele Teamkollegen mit großem Ego und Macho-Gehabe. Und wenn man ein Meeting hatte, dann gewann einfach der, der am lautesten war. Und das, das, das ist kein schönes Team, in dem man sein möchte.

Jonathan: Das ist ein ziemlich häufiges Thema: Leute melden sich zum Programmieren an, und dann sind es die Randaspekte, die Team-Aspekte, die die Leute nie als das Problem oder die Herausforderung erwarten. Es scheint also ziemlich häufig zu sein. Sorry.

Franziska: Ja. Ja. Definitiv. Und man denkt am Anfang, man überbewertet den Tech-Teil. Man denkt: Oh, dieser Job hat genau die Tech, die ich machen will, also wird alles gut. Aber eigentlich ist der Team-Teil fast wichtiger als die genaue Tech, mit der man arbeitet. Ja. Nach zwei Jahren war ein Freund, der auch CTO bei einer anderen Firma hier in Frankfurt war... Er sagte, wir wollen auch unseren Tech-Stack umbauen und etwas Neues bauen, aber wir wollen kein Node.js machen. Wir wollten Go. Sie haben sich aus irgendwelchen Gründen dafür entschieden, und er sagte, du kannst zu uns kommen. Aber du müsstest Go lernen, natürlich. Und ich sagte, wenn es dir nichts ausmacht, dass ich mir am Anfang etwas Zeit nehme, um das zu lernen, bin ich dabei. Ich habe mir die Sprache ein bisschen angeschaut und sie klang ganz cool. Ja, ich habe die Firma gewechselt. Und am neuen Ort war das Team wirklich cool. Dort war es wirklich so: Wenn man mit dem CEO diskutierte und das eigene Argument besser war, dann wurde das bemerkt. Und die Leute reagierten darauf. Und es war wirklich schön, damit zu arbeiten, und die Leute waren sehr interessant und so weiter. Also blieb ich dort fünf Jahre. Ich habe viele Growth-Services gebaut und auch viel geschrieben, Konzepte verfasst, um anderen Entwicklern den Einstieg in Go zu erleichtern, und auch etwas Frontend-Zeug gemacht und so weiter. Aber nach fünf Jahren sucht man auch eine neue Herausforderung, und was mich zusätzlich dazu brachte, einen neuen Job zu suchen, war die Covid-Situation. Ich habe gemerkt, ich arbeitete sowieso von zu Hause, oder? Und ging vielleicht einmal pro Woche ins Büro. Also dachte ich, es gibt da draußen viele Full-Remote-Jobs. Vielleicht kann ich etwas richtig Cooles bei einer größeren Firma bekommen. Wenn ich sowieso von zu Hause arbeite, könnte ich auch für diese größere, coolere Firma arbeiten, oder? Ja, und so fand ich dann, während ich dort arbeitete, diesen Job bei Atlassian.

Jonathan: Also, ich glaube, meine Frage war dann: Hat dich die ganze Pandemie so ein bisschen dazu gebracht zu denken: Oh, vielleicht gibt es mehr als nur Frankfurt und die Startup-Szene in Frankfurt? Denn ich wollte fragen, wie war das, die Startup-Szene in Frankfurt als Ort?

Franziska: Ja, nur zum Covid-Punkt: Zuerst hat mir Covid die Idee eröffnet, vollständig remote zu arbeiten. Denn vorher war ich immer so, immer ins Büro gehen. Ich mag es, Leute persönlich zu sehen, wie ich meinen Tag strukturiere und so weiter. Aber dann merkte ich nach zwei Jahren überwiegend kompletter Distanz, dass es in Ordnung ist. Ich komme damit klar. Ich habe meine Tochter, ich muss sowieso ständig raus und so weiter. Also habe ich jetzt genug Struktur in meinem Tag. Das ist etwas, das mir die Pandemie sozusagen gezeigt hat, und das hat mich für die Idee geöffnet, mich woanders umzuschauen. Was Frankfurt angeht: Hier ist viel los mit Tech und Startups, aber wie du vielleicht erwartest, liegt der Fokus stark auf Banking, also viele Fintechs und so weiter. Und das ist nicht besonders... Ich habe in der Vergangenheit im FinTech gearbeitet, aber es ist nicht etwas, für das ich mich als Thema besonders begeistere. Ja, das war also immer ein bisschen, nein, und außerdem gibt es hier auch nicht viele Go-Entwickler. Ja, es gab nichts, das mich besonders in Frankfurt oder in der Frankfurter Szene gehalten hätte. Ja, also...

Jonathan: Nein, klar. Und gibt es bestimmte Sprachen, auf die Frankfurt deiner Meinung nach fokussiert ist? Offensichtlich FinTech und all das. Die Sprachen, die dem zugrunde liegen, sind vermutlich eher der Fokus? Fühlst du dich also ein bisschen wie eine seltene Art als Go-Entwicklerin in Frankfurt? Oder nimmt es zu? Wie sieht das für dich aus?

Franziska: Ja, es ist schwer zu sagen, ob es derzeit zunimmt oder nicht, weil es wegen Covid nicht so viele Meetups und so gab, oder? Es ist also schwer zu sagen, ob derzeit im Laufe der Zeit mehr Leute zu den Meetups kommen. Ja, ich glaube, es ist viel mehr los, zum Beispiel im Java-Bereich. Ja, es ist ein bisschen schwer zu sagen, wie es genau ist, aber JavaScript ist zum Beispiel normalerweise kein so großes Problem, um eine Community zusammenzubringen, weil jeder irgendwo Frontend-Zeug hat, oder? Also war in dieser Frontend-Welt meistens mehr los als im Backend.

Jonathan: Und hast du... vermutlich hattest du, als du mit dem Programmieren anfingst und zum Bootcamp gingst, auch einen Frontend-Aspekt. Du hast dir das ein bisschen angeschaut, und jetzt bist du mehr aufs Backend fokussiert. Warum bevorzugst du das Backend gegenüber dem Frontend? Oder ist das nur eine Annahme von mir?

Franziska: Nein, definitiv. Das ist etwas, das ich während des Bootcamps herausgefunden habe, dass ich mehr auf diesen Backend-Teil stehe. Und dafür gibt es mehrere Gründe. Zunächst einmal bin ich keine Designer-Persönlichkeit. Wenn man Frontend macht, muss man normalerweise auch selbst einige Entscheidungen treffen. Manchmal: Wie soll das aussehen? Was kann ich hier tun, um es zu verbessern, etwas CSS schreiben und so weiter. Und es fällt mir super schwer, solche Entscheidungen zu treffen. Natürlich bekommt man auch Designs, wenn man es in der echten Welt macht. Aber ja, ich habe einfach kein so gutes Auge für solche Dinge. Und ich sah, dass die Frontend-Entwickler, die das haben und können, effektiver bei der Arbeit sind. Das war also eine Sache, bei der ich dachte: Das ist nicht ganz mein Ding. Und der andere Teil war auch, dass der Frontend-Bereich derzeit wirklich super komplex ist. Die Frameworks, die es dort gibt, die meisten, die üblicherweise verwendet werden, sind wirklich schwierig. In gewisser Weise ist das aktuelle Backend auch etwas einfacher. Es ist in dem Sinne schwieriger, dass man es schwerer visualisieren kann, oder? Man sieht nicht das Endergebnis wie am Bildschirm, wo man sagen kann, das ist das Endergebnis, wie im Frontend. Aber von der Komplexität der Tech, die damit verbunden ist, fand ich es derzeit eher einfacher als das, was im Frontend-Bereich vor sich geht. Für mich steht fest, dass ich irgendwann in meiner Karriere wieder ins Frontend zurückkehren möchte. Aber ich warte auf das bessere Framework, das auftaucht. Und dann, wenn dieses ganze Durcheinander, das derzeit herrscht, sich gelegt hat und es etwas Besseres gibt, dann gehe ich zurück und werde Frontend-Entwicklerin.

Jonathan: Ich warte vielleicht darauf, dass du entscheidest, wann dieses Framework auftaucht, und dann schließe ich mich dir an. Denn wenn ich mir Frameworks anschaue, die auf JavaScript aufbauen, und ich bin neu. In jeder Hinsicht bin ich neu. Ich versuche gerade, Go zu lernen, und es macht mir Spaß. Aber allein schon die Konzepte und das Denkmodell, das man haben muss, das ist eine ganz neue Welt für sich. Und ich wollte dann fragen, wie du die Lücke überbrückst von... äh... JavaScript zu lernen, als du anfingst zu programmieren, und dann Go gelernt hast. Denn du klingst so, als sei es für dich ein ziemlich unkomplizierter Prozess gewesen zu sagen: Okay, JavaScript, dann Go. Aber wie war das? Was hast du gemacht, um sozusagen überzugehen?

Franziska: Ja. Gute Frage. Etwas, das hier wichtig ist: JavaScript war nicht meine einzige Sprache, oder? In der Uni bin ich nicht tief in viele Sprachen eingestiegen, aber ich lernte C, ich lernte Java, ich lernte C++, ich lernte so etwas wie Mala und ein paar dieser etwas exotischeren Sprachen. Für mich war Java also schon meine fünfte Sprache oder so, und dann war Go meine sechste. Für mich zum Beispiel war Go so eine Sache, du hast auch von Pointern und so gehört, und wenn man nur von JavaScript käme, wäre das etwas völlig Neues gewesen, und ich hätte lernen müssen, was es damit auf sich hat und so weiter. Aber da ich all diese anderen Sprachen im Hintergrund hatte, kannte ich das schon von C, C++ und so weiter. Ja, ich griff auf vieles zurück, was ich vorher an der Uni gelernt hatte, und das machte den Einstieg wirklich leicht. Und das andere, was bei Go hilft, ist, dass es eine eher minimalistische Sprache ist. Sie hat nicht so viele Keywords, sie hat nicht so viele Konstrukte, die man bauen kann. Man kommt ziemlich schnell durch. Ich sage normalerweise: Geh auf den offiziellen Tour, auf die Website oder was auch immer. Und nach zwei, drei Wochen bist du durch. Und man bekommt ein solides Verständnis. Bei JavaScript wäre das unmöglich. Man braucht viel länger, um überhaupt ein solides Verständnis der Grundlagen zu haben, und dann gibt es noch so viel mehr zu lernen. Ja. Dass das meine Zielsprache war, hat auch sehr geholfen, den Übergang leicht zu machen.

Jonathan: Okay. Jetzt arbeitest du also für Atlassian, und du hast ein bisschen über die Überschneidung zwischen Produkten, Tech und all dem Zeug gesprochen. Und du sagtest, FinTech gibt dir nicht wirklich viel, es war nicht besonders spannend für dich. Würdest du sagen, dass der Produktbereich und die Schnittstelle zwischen Tech und Produkt ein Bereich ist, der dir wirklich Spaß macht? Oder was im Tech-Bereich wäre speziell deine Leidenschaft, wenn du es zusammenfassen könntest? Ich weiß, das ist eine sehr große Frage, aber erzähl uns doch ein bisschen darüber.

Franziska: Ja, es gibt verschiedene Arten von Domänen oder Themen, die mich interessieren. Nicht nur da, wo ich jetzt arbeite. Zum Beispiel mag ich viel von dem Zeug in Consumer-Produkten. Es gibt Firmen wie Hello Fresh, die viele coole Dinge machen. Cooles Tech-Zeug auch, oder es gibt viel Zeug im Bildungsbereich, wie Exercism und so weiter. Und dann ist da noch der andere Bereich rund um Developer-Tooling oder Tooling für Teams im Allgemeinen. Ja, es gibt also mehrere Bereiche, und das war einer von denen, bei denen ich dachte: Hey, es ergibt total Sinn, den Leuten damit zu helfen. Und dann, speziell zum Produktmanagement, kann ich diese Anekdote von Jeremy erzählen, und auch mein CEO bei meiner letzten Firma, dem ich von diesem neuen Job erzählte und woran ich arbeiten werde, sagte dasselbe wie Jeremy, der Gründer von Exercism. Er sagte genau dasselbe zu mir, nämlich: Hast du diesen Job gewählt, weil du von meinen Produktmanagement-Fähigkeiten frustriert warst? Und das zeigt, dass Produktmanagement und es besser zu machen etwas war, für das ich mich immer begeistert habe. Denn die Sache ist: Als Entwickler kann man den allerbesten Code schreiben. Aber wenn man das Falsche schreibt, wenn man das Falsche baut, dann ist alles umsonst, oder? Wenn dein Produktmanager also keine gute Arbeit dabei geleistet hat, herauszufinden, was du bauen solltest, dann benutzt vielleicht niemand jemals das, was du gebaut hast, weil sie den Markt nicht gut analysiert und dann nicht gut priorisiert haben und so weiter. Und das habe ich in meinen früheren Jobs erlebt. Ich habe viele Dinge gebaut, die nie das Licht der Welt erblickt haben, weil es keinen guten Priorisierungsprozess gab, oder? Deshalb denke ich, dass die Verbesserung dieses Bereichs des Produktmanagements im Allgemeinen auch das Leben von Entwicklern auf der ganzen Welt viel besser macht, weil sie dann die richtigen Dinge bauen und wirklich Wert schaffen können und nicht etwas bauen, das im Müll landet oder nie von den Nutzern gesehen wird.

Jonathan: Ja, nein, das ist wirklich interessant, denn was du da aufgreifst, ist mental gesehen... Ich glaube, wir hatten oft diese Denkweise: Wenn man gut in Tech ist, dann macht man das alles im Hintergrund. Man tritt als Person nie ans Licht, weil man die Tech macht, und das ist wirklich das Klischee, könnte man sagen. Aber es fühlt sich so an, als gäbe es in den letzten Jahren eine zunehmende Überschneidung zwischen der Tech- und der Business-Seite. Und für mich habe ich immer über Agile als Konzept nachgedacht. Und dass das Agile-Konzept meiner Meinung nach eine Business-Denkweise oder eine Art, die Dinge zu betrachten, ist, die einem technischen Team übergestülpt wird. Wenn ich ehrlich bin, dann fühlt es sich so an, als wäre es hilfreich, aber ich glaube, ich habe noch nie eine Agile-Umgebung gesehen. Oder dass sie die Früchte rechtzeitig hervorbringt, wenn das Sinn ergibt. Und vielleicht liegt das daran, dass ich es in der Vergangenheit schlecht gemanagt gesehen habe. Aber es fühlt sich so an, als gäbe es mehr Überschneidung, und Entwickler fangen an, stärker in die Business-Seite einbezogen werden zu wollen, was ich wirklich interessant finde und was tatsächlich eine gute Sache ist, weil die Entscheidungen dann insgesamt besser sind.

Franziska: Ja, manche Entwickler wollen stärker einbezogen werden, aber andere wollen das auch nicht, und sie müssen trotzdem stärker einbezogen werden. Die Sache ist: Es funktioniert einfach nicht so, dass das Produktmanagement sich hinsetzt und alles aufteilt und dann über die Mauer weiterreicht und dein Entwickler es baut und dann ist alles gut. Es hat nie wirklich gut funktioniert, auch nicht in der Vergangenheit, als das das Standardmodell war. Und heutzutage liegt mehr Fokus darauf, aber es war immer richtig, einen stärkeren Dialog zwischen den Entwicklern und den Designern, den Entwicklern und den Produktmanagern zu haben. Und auch immer dann, wenn man weiter stromabwärts schaut, wenn man ein Support-Team hat und vielleicht jemanden, der Wartung für einen macht oder so. Je enger sie zusammenarbeiten und wirklich gemeinsam die beste Lösung für etwas erarbeiten, desto besser, desto mehr Wert kann man gemeinsam schaffen. Und das war immer wahr. Zum Beispiel hat das Produktmanagement derzeit viele Ideen für das Feature, an dem wir arbeiten. Was könnte Teil der ersten Iteration dieses neuen Features sein? Aber sie können es selbst nicht beurteilen. Ist das Hinzufügen dieser Sache ein weiterer Arbeitstag, oder würde das den ganzen Umfang sprengen und daraus drei weitere Monate Arbeit machen? Ja. Für sie ist das unmöglich zu beurteilen. Der einzige Weg, wie wir ein gutes Paket für diese erste Iteration finden, ist, miteinander zu reden und zu sagen: Das wäre eine einfache Sache zum Hinzufügen. Das ist eine schwierige Sache zum Hinzufügen und so weiter. Und dann finden wir einen guten Umfang. Und das Gute an meinem Job bei Atlassian ist, dass wir einen Produktmanager haben, der das genauso sieht. Er sagt immer, der Umfang ist so eine zweiseitige Sache. Ich habe hier ein paar Ideen, aber du musst mir auch Input geben, was am meisten Sinn ergibt. Und dann erarbeiten wir gemeinsam etwas. Ich sehe auch, dass beim Einstellungsprozess das ganze Thema Kommunikation mit anderen, mit anderen Teams und so weiter derzeit stark im Fokus steht. Viele Leute fragen: Wie hast du mit anderen Teams zusammengearbeitet? Und sie beurteilen wirklich, allein durch das Gespräch mit dir, wie gut du dich ausdrücken kannst, denn es ist super wichtig, dass du dich dafür interessierst, was die anderen Teams machen, und einbezogen bist. Und nur dann kannst du wirklich das Beste aus der Zeit machen, die du hast.

Jonathan: Es fühlt sich in diesem Sinne wie ein viel integrierterer Ansatz an. Und das bringt mich dann zu einem weiteren Gedanken, denn so oft...

Franziska: Oh, vielleicht bevor wir weitermachen: Du hast das Reizwort Agile erwähnt, oder? Da muss ich einsteigen. Ich weiß nicht, ob das Absicht war, nur um mich zu reizen, oder nicht. Ja. Was Agile angeht, finde ich immer, dass die Grundideen, aus denen das Ganze kommt, dass Menschen wichtiger sind als Prozesse und all diese grundlegenden Dinge, die sie vor langer Zeit entwickelt haben, dort immer noch viel Sinn ergeben. Viel Magie drumherum. Aber dann kamen all ihre Berater, und dann haben sie all diese riesigen Frameworks erfunden und so weiter, und sie haben sie verkauft, und es gibt Scrum Master und so weiter. Und auch meine Erfahrung, wie du sagtest: Viel davon hilft nicht so sehr. Wenn zum Beispiel Produkt und Entwicklung nicht gut kommunizieren, dann behebt das bloße Draufsetzen all dieser Strukturen das auch nicht richtig. Ja, ich bin auch kein großer Fan, und diese Standard-Scrum-Praktiken, Agile-Praktiken, ich habe sie nirgendwo richtig gut funktionieren sehen.

Jonathan: Das ist interessant, denn es fühlt sich so an. Wenn man auf LinkedIn nach einem Job als Product Owner oder Produktmanager sucht, dann ist überall Scrum, Agile. Überall denkt man nur: Erstaunlich. Aber es ist so lustig, wie die... wie sagt man... einfallsreichsten Entwicklungsteams, die ich gesehen habe, Kanban nutzten, wo es keinen Druck gibt, unbedingt innerhalb eines Zeitrahmens liefern zu müssen, aber es liefert Qualität. Und es ist so, dass man die Verantwortung zurück auf den Einzelnen verlagert, der dann dafür geradestehen muss, was wirklich interessant war mitzuerleben, denn junge Teams bleiben bei Agile hängen, es funktioniert nicht, sie werden frustriert, und dann landen sie bei Kanban, wo wir einfach über die Zeit hinweg stetig Stück für Stück arbeiten und die Dinge funktionieren. Aber ich finde es auch interessant, wenn man ein Produkt als Firma hat, gegenüber wenn man Produkte für andere baut. Ich weiß nicht, was dein vorheriger Job war, ob das ein Inhouse-Produkt war. Bei Atlassian baut man im Grunde seine eigenen Produkte.

Franziska: Ja, ich habe immer meine eigenen Produkte gebaut. Ich habe nie bei so etwas wie Agenturen gearbeitet.

Jonathan: Ja. Das Agentur-Zeug ist ein Albtraum, weil dort jeder jede Stunde Entwicklung oder so begutachtet, und dann sagen sie: Aber ich verstehe nicht. Warum kostet mich dieser Button 400 Dollar? Und dabei wolltest du ihn nur von hier nach hier verschieben, was eine komplette Überarbeitung des gesamten Backends war. Also, ich wollte dir eine Frage stellen, die wir schon vielen Leuten in unseren verschiedenen Podcasts und Livestreams gestellt haben. Und es geht um dieses ganze Konzept von dem Hügel, auf dem man sterben würde, oder der Sache, die man mit seinem ganzen Leben verteidigen würde, wenn es um eine Meinung oder um Tech geht. Es ist nicht so, dass wir sagen wollen, das ist die Meinung, die du haben musst, sondern eher: Welchen einen Wert oder welche Meinung hast du, von der du sagen würdest, sie ist absolut entscheidend für dich, und die du gerne überall im Tech-Bereich sehen würdest? Es ist eine ziemlich breite Frage, aber gibt es eine Sache, die du im Tech-Bereich sehr stark verteidigen würdest?

Franziska: Ich dachte, du machst das ein bisschen lockerer. Ich wollte einfach mit der lockeren, unpopulären Meinung kommen. Ist das auch okay?

Jonathan: Ja, absolut.

Franziska: Okay, ich habe nicht so viele supergroße Hügel, auf denen ich sterben würde. Eine der Sachen, bei denen ich starke Gefühle habe, ist, dass viele Leute vorschlagen, man solle sein persönliches Entwicklungssetup optimieren. Und ich finde, das wird meistens überbewertet. Leute sagen einem zum Beispiel: Oh, du musst Vim lernen, weil du dann nie wieder nach der Maus greifst und es ist so großartig und so weiter. Und die Leute glauben das, wenn sie neu in der Branche sind, glauben sie das. Und dann verbringen sie ein Jahr damit, all die magischen Shortcuts und so weiter zu lernen. Und dann, ja. Aber am Ende, ich weiß nicht, sparen sie vielleicht einen Tag im Jahr oder so. Das Jahr Schmerz hat sich also nicht ausgezahlt. Und es gibt viele solche Dinge. Leute sagen dir, du musst all deine Aliase für dein Terminal in deinen Dotfiles eingerichtet haben, und Leute sagen dir, du musst alle Tastenkürzel kennen und so weiter, und man verbringt so viel Zeit damit, diese Dinge zu lernen, aber dann spart man nur so viel. Und ich glaube, was hier passiert, ist, dass die Leute die Zeit überschätzen, die man in seinem Job mit Tippen verbringt, oder? Wie wir vorher erwähnt haben, besteht ein großer Teil des Jobs auch aus Kommunikation. Ein großer Teil des Jobs ist tatsächlich Denken. Ja. Und nur ein gewisser Teil deines Tages ist tatsächlich Tippen, Code tippen oder Befehle tippen und so weiter. Also optimieren viele Leute diesen wirklich kleinen Teil des Tages, und meiner Meinung nach: Wenn das dein Hobby ist, dann mach es. Oder wenn es dir einen ähnlichen Wert bringt. Wenn du ein SRE bist, also Site Reliability Engineer, und in Server einbrichst und so weiter, dann könnte es Sinn ergeben, Vim zu kennen, oder? Weil man keine grafische Oberfläche öffnen kann. Aber wenn du es nicht brauchst, dann mach dir keine Sorgen. Nutze einfach, womit du dich wohlfühlst. Zum Beispiel sage ich zu den Shortcuts immer: Okay, die meisten grafischen Oberflächen zeigen dir den Shortcut neben dem Ding, auf das du klickst. Wenn du das Ding also fünfmal am Tag klickst, dann okay, könnte es Sinn ergeben. Oder alle fünf Minuten. Dann könnte es Sinn ergeben, sich zu merken, weißt du was? Der Shortcut zum Speichern lohnt sich, wenn du ihn die ganze Zeit benutzt. Wenn nicht, dann bleib glücklich in deiner grafischen Oberfläche und mach dein Ding und verbringe die Zeit lieber damit, deine eigentlichen Programmierfähigkeiten zu verbessern. Mach ein paar Übungen, so etwas. Lern eine neue Sprache. Was auch immer. Aber ja, das ist etwas, das ich neuen Entwicklern immer zu sagen versuche: Lass dich nicht von diesen Leuten einschüchtern, die dir sagen, du müsstest einen dieser uralten Editoren benutzen und dort deine Produktivität optimieren und...

Jonathan: Es ist lustig, denn oft schleicht sich die Leidenschaft der Leute sozusagen mit ein, verständlicherweise. Denn es ist: Oh, ich bin super begeistert, weil ich mein Leben optimiert habe. Aber wenn man wirklich darüber nachdenkt, ist es nicht immer das Beste. So war auch meine Lernerfahrung: Es gab einfach so viele Dinge, Empfehlungen, die Leute bekommen. Und wenn man dann auf YouTube geht und eingibt: Wie lerne ich Programmieren? Dann fängt jemand bei so etwas an wie: Wie richte ich GitHub ein. Jemand anderes fängt damit an, wie man das Terminal versteht, und so weiter. Ich dachte: Ich muss doch nur etwas herunterladen, um lokal zu arbeiten, und den Online-Editor nutzen, was auch immer. Ich finde, das ist ein wirklich guter Rat. Halte es einfach ziemlich simpel. Wenn du also mehr Zeit mit Denken verbringen willst, wie gehst du vor, was machst du, um Probleme durchzudenken? Wenn du eine Situation bei der Arbeit hast, oder ganz allgemein: Was machst du so in deinem Tag? Nimmst du dir Zeit dafür? Wie sieht dein Prozess aus?

Franziska: Eine Sache, mit der ich gerne anfange, ist, das Problem im Grunde ein bisschen im Voraus zu bekommen, bevor ich es tatsächlich lösen muss, und es dann einfach eine Woche oder so im Hinterkopf zu behalten. Und dann denke ich unter der Dusche ein bisschen darüber nach. Und bevor ich schlafe, denke ich ein bisschen darüber nach und wende es eine Weile in meinem Kopf hin und her. Und normalerweise hilft mir das, ein paar Ansatzpunkte zu finden. Und von dort aus, besonders wenn es um die Arbeit geht, fange ich normalerweise damit an, einige Punkte aufzuschreiben, denn Dinge aufzuschreiben hilft mir definitiv, den Kopf freizubekommen, die Punkte zu finden, zum Beispiel wo ich noch mit dem Produktmanager sprechen muss, weil ich nicht weiß, was wir da genau für die Kunden brauchen. Ich schreibe also auf, was ich schon weiß und wie man das löst. Und ich schreibe normalerweise auch eine ziemlich große Tabelle mit offenen Fragen auf, entweder für jemanden anderen im Team oder auch für mich selbst, Dinge, die es herauszufinden gilt. Und das hilft mir wirklich, die Dinge zu klären. Und dann, von diesem supergroben Konzept her, versuche ich, es in greifbarere Programmieraufgaben herunterzubrechen. Wie sieht also die API aus? Welche Daten muss ich dafür speichern? Und wie gelangt es dann vom Story Point zu den Daten und wieder zurück, und welche Logik muss auf dem Weg stattfinden. Es kommt darauf an. Es kann sein, dass ich schon viele der Probleme, die gelöst werden müssen, vorher in meinem Denkprozess gefunden habe. Aber manchmal finde ich auch, wenn ich mit dem Coden anfange, neue Probleme, die ich vorher nicht bedacht hatte, und dann muss ich wieder einen Schritt zurückgehen und es noch einmal durchdenken und dann zum eigentlichen Code zurückkehren. Das kann auch passieren. Aber normalerweise ist das System so, dass ich zuerst versuche, die Sache ein bisschen durchzudenken. Einige Probleme im Voraus zu lösen hilft mir sehr. Und dann ist der Code entweder geradlinig, oder ich finde mehr Probleme und gehe zurück, aber das ist auch in Ordnung.

Jonathan: Okay. Nein, das ist cool. Das ist, so stelle ich mir das oft vor: Ich habe die Vorstellung, dass man als Vollzeitprogrammierer buchstäblich am Computer sitzt. Von morgens bis abends und einfach Stück für Stück arbeitet. Aber ich merke, dass die Fähigkeit, Probleme durchzudenken... Und ich glaube, das ist etwas, worauf Exercism auch viel Wert legt: das Problem gründlich durchzudenken. Sicherzustellen, dass man den ganzen Kontext hat. Und das Coden ist dann wirklich nur der Ausdruck dieses Prozesses, umgesetzt. Und Jeremy würde dasselbe sagen. Ich glaube, er würde viele Dinge durchdenken und dann ziemlich kurz coden.

Franziska: Ja. Auch. Ein häufiger Tipp ist auch, in Kommentaren aufzuschreiben, was dieses Zeug tun soll. Okay, ich muss zuerst das machen, und dann war das das Ergebnis, und dann das, und dann fülle ich die Code-Teile für den jeweiligen Teil ein. Das hilft auch wirklich sehr.

Jonathan: Es ist lustig, denn was du sagst, werde ich jetzt definitiv ausprobieren, weil ich merke: Wenn man programmieren muss, besonders beim Lernen von Go oder so. Eine der Übungen, die ich versucht habe, war: eine Eingabe von der Tastatur nehmen, sie speichern und dann etwas wie du hast diese Anzahl an Versuchen gehabt zurückgeben oder so. Aber der ganze Prozess, dieses Problem in seine wirklich granularen Aufgaben herunterzubrechen, war etwas, womit ich überhaupt nicht vertraut war. Und es war wirklich interessant zu lernen, wie man ein Problem Schritt für Schritt durchdenkt. Also, das sind coole kleine Tipps, die ich definitiv mitnehme.

Franziska: Es ist auch etwas, das... Viele Leute... Bei Exercism wird das oft angesprochen. Viele Leute haben nicht so viel Mühe damit, die Sprache und die Syntax zu verstehen. Aber mit diesem übergreifenden "Wie löse ich dieses eher allgemeine Problem?" damit haben die Leute Mühe. Und wir haben ein bisschen versucht, auch dazu etwas Dokumentation bereitzustellen, wo wir sagen: Hier, das ist eine gute Ressource, um zu lernen, wie ein Programmierer zu denken und so weiter. Aber ja, vielleicht können wir das auch noch besser machen.

Jonathan: Nein, das, nein, das stimmt. Und ich glaube, das führt zu einer interessanten Frage, die ich auch schon ein paar Leuten gestellt habe, was immer interessant war, wenn ich mit anderen gesprochen habe. Und zwar geht es um dieses ganze Konzept: Wann hat es bei dir mit dem Programmieren Klick gemacht? Ich weiß nicht, ob du jemals dieses Gefühl hattest. Es waren Konzepte und Theorie, und man hat Lehrbücher durchgearbeitet, aber dann wachte man eines Morgens auf und plötzlich dachte man: Oh, jetzt ergibt es einfach Sinn. So war oft meine Erfahrung beim Lernen von etwas. Wann war das bei dir, oder ist das bei dir passiert? Oder war es einfach allmählich: Okay, ich habe das langsam verstanden. Wie war das?

Franziska: Oh ja, ich habe ein bisschen darüber nachgedacht, und ja, ich glaube, es gab einen Klick-Moment. Aber lass mich anfangen. Es hat nicht Klick gemacht, wenn das okay ist. Als ich ein Teenager war, hatte ich so einen Spielzeug-Laptop, auf dem ein paar Spiele waren. Und er hatte auch eine Funktion, mit der man in BASIC programmieren konnte. Und mein Großvater kam vorbei, und er... Er hatte quasi mit diesen Lochkarten angefangen zu programmieren. Er war also immer in Technik vernarrt, und er sagte: Oh, cool, dass du dort programmieren kannst. Und er wollte mir zeigen, dass Programmieren etwas Cooles ist. Und er fing an, wie jeder anfängt. Er tippte print, Hello World ein, und es spuckte Hello World aus, und ich dachte: Ich kann Hello World tippen. Was machst du überhaupt? Und dann sagte er: Nein, es macht, was du ihm sagst. Und so weiter. Und dann tippte er so etwas wie 1 plus 2 ist, und dann spuckt es 3 aus. Und ich dachte: Das kann mein Taschenrechner auch. Was willst du mir hier zeigen? Ich habe es nicht verstanden. Und später hatte ich dann so einen Informatik-Kram in der Schule. Und dort hatten wir Turbo Pascal, und das hatte so ein Plugin oder so, wo man eine kleine Schildkröte haben konnte, die etwas auf dem Bildschirm zeichnet. Und dort gaben sie uns ein paar coole Übungen, bei denen man irgendeine Formel eingibt und es wirklich coole, filigrane Fraktale zeichnet. Die wie Blätter aussehen und so weiter, und das bekam man nur, indem man die kleine Formel eintippte, die der Schildkröte sagt, was sie zeichnen soll. Und das war für mich der Punkt, an dem es Klick gemacht hat, weil ich merkte, dass man durch das Geben von... supereinfachen Anweisungen so ein komplexes Ding erschaffen kann, das ich selbst nie hätte hinbekommen können. Zum Beispiel hätte ich nicht so viele Blätter zeichnen können, oder? Das war für mich die Sache: Oh ja. Das kann also mehr als ich sowieso könnte, aber ja, vorher, mit den Erklärungen, die mein Großvater mir gab, und dem, was er mir in dem Ding zeigte, ja. Das hat nicht funktioniert. Aber ja, als ich dieses Grafische sah und sah, wie wenige Anweisungen nötig sind, um den Computer dieses komplexe Ding machen zu lassen, da hat es Klick gemacht bei mir.

Jonathan: Okay, das ist cool, denn ich hatte das neulich mit Methoden. Ich dachte: Was zum Teufel ist eine Methode? Und bei mir war der Groschen einfach noch nicht gefallen. Und mit Chemie war es bei mir genauso. Ich musste es zwei Jahre lang lernen, und dann machte das Periodensystem über Nacht vollkommen Sinn. Und ich war damals 16. Und ich erinnere mich, dass ich dachte: Oh mein Gott, das ist ja das Einfachste überhaupt. Ich kann nicht glauben, dass ich das zwei Jahre lang nicht verstanden habe. Und dann war die Prüfung ein Kinderspiel. Denn ich dachte: Alle Antworten stehen im Periodensystem. Man muss nur sein kleines... alles war in meinem Gehirn synchronisiert. Und es war auch interessant, mit Leuten darüber zu sprechen, wann dieser Moment Klick gemacht hat. Und Rebecca, die du kennst, vielleicht aus dem Unison-Track bei Exercism... Ich habe sie gefragt, weil sie einen Abschluss in englischer Literatur gemacht hat. Und ich fragte: Wie bist du von englischer Literatur zum Programmieren gekommen? Und was war die Methode, die du in deinem Kopf benutzt hast, um den Wechsel zu begreifen? Und sie sagte, sie stellte sich das Programm, das sie schrieb, als Geschichte vor, als Erzählung mit einem Protagonisten, und die Funktionen waren Charaktere und so. Und ich dachte: Oh, wow, das ist einfach so interessant. So hätte ich das nie gedacht. Nein, das ist wirklich...

Franziska: Ja. Aber das passt zu dem, worüber wir bei den Kommentaren gesprochen haben, oder? Dass man vor dem Code schreibt. Genau so erzählt man zuerst die Geschichte und schreibt dann den eigentlichen Code dafür.

Jonathan: Das ist wirklich cool, dass du das erwähnt hast, denn ich glaube, wenn man merkt, dass man in seinen Kommentaren tatsächlich eine Geschichte schreibt... das werde ich definitiv mitnehmen. Nein.

Franziska: Und noch eine Sache zu diesem Thema: Es gab auch Studien darüber, welche Leute gut im Programmieren sind und so, und sie fanden heraus, dass tatsächlich die verbalen Fähigkeiten, also wie viele Wörter man kennt und so weiter, dabei eine große Rolle spielen. Wenn man zum Beispiel gut darin ist, Dinge zu benennen, was ja immer als schwierig im Programmieren gilt. Wenn man gut darin ist, gute Wörter zu finden, die beschreiben, womit man es zu tun hat, dann macht das den Code viel besser. Es geht also tatsächlich nicht nur um Mathe und analytisches Zeug. Es geht auch viel darum, gut mit Worten zu sein, was man vielleicht zunächst nicht erwartet.

Jonathan: Nein, das ist... Es ist letztlich Sprache, schätze ich, was ein interessanter Gedanke ist, den ich hatte. Für dich: Du bist von Natur aus Deutsche, aber das ist sozusagen deine Sprache. Entwickelst du jetzt bei Atlassian auf Englisch? Und warst du vorher auf Englisch? Wie ist das, denn ich würde sagen, vielleicht ist leider alles auf Englisch. Und du sprichst großartiges Englisch, aber hast du Englisch in der Schule gelernt, und war das Programmieren dann alles auf Deutsch, oder wie hast du das alles gelernt, aus dieser Erfahrung heraus?

Franziska: Ja, vor allem hatte ich das Glück, dass das meiste Programmierzeug auf Englisch war und alle Kommentare auf Englisch und so weiter. Es ist nicht immer das beste Englisch, aber. Aber es ist okay. Ja, was das Englischlernen angeht: In der Schule war ich nie gut in Englisch. Aber an der Uni hatte ich das Glück, ein Jahr zu verbringen, ein Austauschjahr in Großbritannien. Das war also das, was es wirklich war. In der Sprache. Und dann wurde mein Englisch viel besser. Und danach war es ein Kinderspiel, aber vorher war es wirklich schlecht. Und ja, dieses Jahr, in dem ich die Sprache wirklich lernte, half mir dann später auch, mit Kollegen zu kommunizieren, die nicht aus Deutschland kommen und so weiter. Und dann in der... Das ist definitiv ein Faktor. Oder wenn Englisch nicht deine Muttersprache ist, dann macht es das wiederum schwerer für dich, um den richtigen Namen für Dinge zu kämpfen, oder? Und Dinge benennen. Das machst du in jeder Zeile Code, die du schreibst, oder? Du weist immer etwas etwas zu und musst dieses Ding so gut wie möglich benennen, damit der Code klar ist.

Jonathan: Nein, es... Es erscheint mir nicht so einfach für Nicht-Muttersprachler des Englischen. Es ist etwas, das sich meiner Meinung nach auch zu verändern beginnt. Ich habe neulich einen Artikel gesehen, dass Indien derzeit der am schnellsten wachsende Tech-Bereich der Welt ist. Und Englisch, ob sie bei Englisch bleiben oder bei ihren lokalen Dialekten, von denen es in Indien, wie ich weiß, viele gibt. Es ist einfach interessant, über all das nachzudenken. Wir nähern uns also fast einer Stunde. Es hat mir wirklich Spaß gemacht. Ich habe noch eine Frage an dich, Franziska. Und hier darfst du eine Empfehlung abgeben. An die Exercism-Community. Was wäre deine eine Empfehlung? Es kann alles sein, von einem Essen, das man ausprobieren sollte, bis zu etwas wie einem Spaziergang oder was auch immer du der Community empfehlen möchtest. Was wäre deine Empfehlung für die Exercism-Community diese Woche?

Franziska: Ja, ich komme auf dieses Produktivitätsthema zurück, über das ich bei der unpopulären Meinung gesprochen habe. Meine Empfehlung wäre also: Mach eine Pause, schau dir in einem Rutsch die Netflix-Serie an, die du schon immer sehen wolltest, oder was auch immer. Normalerweise sind die Leute sehr darauf fokussiert, den ganzen Tag produktiv zu sein. Und das ist nicht gut für dein Gehirn. Es ist nicht gut für dein Gehirn, so stark zu optimieren. Dein Gehirn muss gut bei der Arbeit sein, kreativ sein und so weiter. Dein Gehirn braucht Pausen, denn in diesen Pausen erledigt dein Gehirn bestimmte Dinge. Und ja, dann einfach auf dem Sofa sitzen und ein bisschen eine Serie schauen oder was auch immer, das ist gut. Das ist eine gute Sache, um deinem Gehirn einfach etwas Zeit zu geben, im Hintergrund sein Ding zu machen. Und ich finde, Pausen zu machen, sich Auszeiten zu nehmen, das wird unterschätzt. Und das wäre meine Empfehlung. Fühl dich nicht schuldig, wenn du Pausen machst und einfach entspannst.

Jonathan: Cool. Nein, das gefällt mir sehr. Also, Leute, wenn ihr das hier hört, das ist die Empfehlung, der Rat für diese Woche von Franziska. Franziska, vielen Dank für deine Zeit, für alles, was du in Exercism steckst, und für all das Nachdenken und Engagement, das du für die Community aufbringst. Ich weiß, dass du dich enorm bei Exercism engagierst, es verbesserst und unterstützt, und das wissen wir sehr zu schätzen. Ich wollte also einfach Danke sagen und danke für deine Zeit heute Morgen. Ein Feiertag, an dem du draußen feiern oder etwas Schönes machen könntest. Und du hast uns hier deine Zeit angeboten, das wissen wir sehr zu schätzen. Ich bin nur noch im Call, nachdem ich die Aufnahme gestoppt habe, aber ich wollte mich einfach noch vielmals bedanken, und ja, hab einen wunderbaren Rest des Tages. Cool.

Franziska: Danke, dass ich dabei sein durfte.

Weitere Geschichten aus unserer Community

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