Der Codest-Kernwert #1
The Codest glaubt an vier entscheidende Werte, die den Kern aller Handlungen der The Codest-Teams bilden. In diesem Artikel erklärt unser CEO und Mitbegründer, Greg Polec, was...
Hallo und herzlich willkommen in der 2. Folge unserer TheCodesReview-Serie. Diese Woche haben wir uns auf die Qualität in Software-Engineering-Projekten, die Bedeutung der Frontend-Architektur und den Übergang vom technischen zum operativen Leiter konzentriert und was es in den Remote-Setup-Zeiten am Beispiel von Dailymotion braucht.
Refactoring-Tipps im Interesse einer Qualitätsverbesserung.
Warum ist die Frontend-Architektur wichtig und wie kann man sie skalierbar und wartbar machen?
Übergang von CTO in die Rolle des COO in einem technischen Unternehmen.
Wenn Sie sich für das Thema des Wechsels von einer technologischen Führungsposition in eine betriebliche Rolle interessieren, können Sie sich mit den zusätzlichen Ressourcen beschäftigen, die am Ende des Beitrags verlinkt sind.
Die Refactoring- und Architekturkommentare dieser Woche werden Ihnen von unseren Ruby- und React-Ingenieuren geliefert.
Refaktorierung Code war schon immer sehr beliebt, aber nicht jeder weiß, wie man es richtig macht und wann der richtige Zeitpunkt dafür ist. Ich habe schon viele Refactoring-Versuche gesehen, die mit einem Fehlschlag endeten (vor allem in der Produktion, worauf man nicht stolz sein kann). Die Tipps aus dem genannten Artikel könnten vielen Programmierern helfen, ihre entscheidenden Refactoring-Fähigkeiten zu verbessern.
Der wichtigste Tipp aus dem Artikel lautet: "Verstehen Sie den Code", was immer an erster Stelle meiner Checkliste steht, die ich vor dem Refactoring abarbeite. Sie werden keinen besseren Code erstellen, wenn Sie nicht wissen, was der aktuelle Code tut. Das Verstehen von unordentlichem Code kann mühsam sein, aber das ist der Preis, den man zahlen muss, um seine Codebasis zu verbessern. Dennoch ist der ROI dieser Investition hoch und sie wird sich auszahlen.
Der nächste erwähnenswerte Tipp ist "früh und oft testen", der nicht nur im Zusammenhang mit Refactoring, sondern auch bei der täglichen Arbeit von Entwicklern angewendet werden kann. Das Thema Testen ist sehr umfangreich. Es geht nicht nur darum, die Syntax für das Schreiben von Tests zu lernen, sondern auch darum, die verschiedenen Arten von Tests zu unterscheiden. Um mehr über das Testen zu erfahren, empfehle ich Ihnen, sich mit der Testpyramide vertraut zu machen und dann die Unterschiede zwischen der klassischen und der Londoner Schule kennen zu lernen.
Zusammenfassend lässt sich sagen, dass sich der Artikel auf das lokale Refactoring konzentriert, was gut ist und die Zufriedenheit der Programmierer mit ihrer Arbeit erhöhen kann. Um jedoch eine erstklassige Anwendung auf Architekturebene zu erstellen, müssen Sie über den Rahmen dieses Artikels hinausgehen und sich mit Fragen der Anwendungsarchitektur befassen. Dies kann Ihnen helfen, sich auf eine unendliche Reise zu begeben, und das wünsche ich Ihnen allen, mich eingeschlossen.
Wie lässt sich eine skalierbare und wartbare Architektur erreichen?
Wie strukturieren Sie Ihre Anwendung auf der Grundlage der MVVM-Architektur richtig?
Wie können Sie zusätzliche Arbeit vermeiden, wenn Ihre Anwendung wächst?
Wahrscheinlich ist jeder in seiner beruflichen Laufbahn schon einmal einem Fall begegnet, in dem eine schlechte Architektur die für die Erledigung einer Aufgabe benötigte Zeit erheblich verlängert hat. Unordnung in Ordnern, Inkonsistenzen bei der Benennung von Dateien oder Katalogen können die Arbeit sabotieren. Projekt ganz am Anfang.
Der Autor des Artikels zeigt deutlich die Vorteile der Wahl des richtigen Ansatzes für die Projektstruktur. Beginnend mit der create-react-app und inspiriert von der MVVM-Architektur, zeigt er die Vorteile seiner Lösung sehr genau auf. Ausgehend von der Grundkonfiguration geht er jeden einzelnen Ordner durch und erklärt von Fall zu Fall, warum er diesen Ansatz für angemessen hält. Der Ansatz selbst scheint ziemlich kompliziert und wahrscheinlich unnötig zu sein, wenn sich das Projekt noch in der Anfangsphase befindet, aber wir sollten nicht vergessen, dass die Einführung geeigneter Regeln von Anfang an dazu beiträgt, zeitaufwändige Umstrukturierungen zu vermeiden, wenn das Projekt um neue Komponenten und Funktionalitäten erweitert wird. Eine richtig gewählte Projektstruktur ermöglicht es auch neuen Projektmitgliedern, problemlos Komponenten und Dienste zu erwerben. Wir sollten nicht vergessen, dass nicht jede Art der Strukturierung perfekt zu jedem Projekt passt.
Von meiner Seite aus möchte ich die Grundregel hinzufügen, dass die Wahl der optimalen Architektur für das Projekt nutzlos ist, wenn nicht jedes Teammitglied die festgelegten Regeln befolgt.
Lesen Sie mehr: Wie kann man Vue.js-Anwendungen verbessern? Einige praktische Tipps
Der Übergang vom CTO zum COO.
Arbeiten in einer vollständig entfernten Umgebung. Wie hält man die Team energiegeladen und engagiert.
Vertrauen in Daten vs. Bauchgefühl.
In der 236. Folge von Modern CTO spricht Joel mit Guillaume Clement, dem COO von Dailymotion. Dailymotion hat es sich zur Aufgabe gemacht, eine sinnvolle und nahrhafte Plattform für Videoinhalte inmitten einer Reihe von Plattformen zu sein, die rein unterhaltungsorientiert sind und den Zweck von "Video-Fastfood" erfüllen. Um das in einem Geschäft zu erreichen, das stark von Algorithmen und Data Science Engineering bestimmt wird, muss man schwierige Entscheidungen treffen, die auf dem Bauchgefühl und nicht auf den Daten beruhen, die man hat.
Die typischerweise genaue Metrik für Videoplattformen, Medien und Adtech Unternehmen, denn "verbrachte Zeit" ist nicht der offensichtliche KPI, an dem man arbeiten sollte, wenn man wirklich danach strebt, seinen Nutzern sinnvolle Inhalte zu liefern, und nicht nur ihre Aufmerksamkeit so lange wie möglich vor dem Bildschirm halten will. Der Verweis auf die Dokumentation "The Social Dilemma" auf Netflix ist unvermeidlich. Guillaume hat außerdem vor kurzem von einer CTO- zu einer COO-Rolle im Unternehmen gewechselt, was neue Herausforderungen in den Bereichen Betrieb und Personalmanagement mit sich bringt. Die Herausforderung ist während der Pandemie noch größer, wenn die Einrichtung von Außenstellen die Führungskräfte vor die Aufgabe stellt, die Teams einzubinden und die Mentalität auf hohem Niveau zu halten. Es ist wichtig, auf die individuellen Bedürfnisse von Mitarbeitern einzugehen, die eher sozial oder eher introvertiert sind, und eine begrenzte Anzahl von Büromischungen für diejenigen vorzusehen, die einen regelmäßigen Kick brauchen, um in Schwung zu kommen.