The Codest Kernwaarde #1
The Codest gelooft in vier cruciale waarden die de kern vormen van alle acties die door The Codest teams. In dit artikel, onze CEO en mede-oprichter, Greg Polec, legt uit wat...
Hallo en hartelijk welkom in de 2e aflevering van onze TheCodesReview serie. Deze week hebben we ons gericht op kwaliteit in software engineering projecten, het belang van frontend architectuur en de overgang van technisch naar operationeel leider en wat er nodig is in de remote setup tijden aan de hand van het voorbeeld van Dailymotion.
Refactoringtips voor kwaliteitsverbetering.
Waarom frontend architectuur belangrijk is en hoe deze schaalbaar en onderhoudbaar te maken?
Overgang van CTO naar COO-rol in tech-organisatie.
Als je geïnteresseerd bent in het onderwerp van de overstap van een technologieleider naar een operationele rol, kun je dieper duiken in de extra bronnen die onderaan dit bericht zijn gelinkt.
Het refactoring- en architectuurcommentaar van deze week is afkomstig van onze Ruby- en React-engineers.
Refactoring code is altijd enorm populair geweest, maar niet iedereen weet hoe het goed te doen en wanneer het een goed moment is om het te doen. Ik heb veel pogingen gezien om te refactoren die eindigden met een mislukking (vooral in productie, wat niet iets is om trots op te zijn). Het leren van tips uit het genoemde artikel zou veel programmeurs kunnen helpen om hun cruciale vaardigheden op het gebied van refactoring te verbeteren.
De nummer één tip uit het artikel is "de code begrijpen" en dat is altijd het eerste wat op mijn checklist staat om te doen voordat ik ga refactoren. Je zult geen betere code maken als je niet weet wat de huidige code doet. Het kan veel moeite kosten om rommelige code te begrijpen, maar dit is de prijs die je moet betalen om je codebase te verbeteren. Toch is de ROI van deze investering hoog en het zal lonen.
De volgende tip die het vermelden waard is, is om "vroeg en vaak te testen". Dit kan niet alleen worden toegepast in de context van refactoring, maar ook in het dagelijkse werk van ontwikkelaars. Het onderwerp testen is enorm. Het gaat niet alleen om het leren van de syntaxis voor het schrijven van tests, maar je moet ook verschillende soorten tests onderscheiden. Om meer te leren over testen, raad ik je aan de testpiramide te leren kennen en vervolgens de verschillen tussen de klassieke en de Londense school.
Samenvattend, het artikel richt zich op lokaal refactoren, wat goed is en het geluk van programmeurs met hun werk kan verbeteren. Maar om een eersteklas applicatie op architectuurniveau te maken, moet je verder gaan dan dit artikel en leren over zaken die te maken hebben met applicatiearchitectuur. Dit kan je helpen om een eindeloze reis te beginnen en dat wens ik jullie allemaal toe, inclusief mezelf.
Hoe bereik je een schaalbare en onderhoudbare architectuur?
De juiste manier om je app te structureren op basis van MVVM-architectuur?
Hoe voorkom je extra werk als je app groeit?
Waarschijnlijk is iedereen in zijn carrière wel eens een geval tegengekomen waarin een slechte architectuur de tijd die nodig was om een taak te voltooien aanzienlijk verlengde. Rommel in mappen, inconsistentie in de naamgeving van bestanden of catalogi kunnen de project helemaal aan het begin.
De auteur van het artikel laat duidelijk de voordelen zien van het kiezen van de juiste aanpak van de projectstructuur. Te beginnen met de maak-react-app en geïnspireerd door de MVVM-architectuur, laat hij de voordelen van zijn oplossing zeer nauwkeurig zien. Beginnend met de basisconfiguratie, doorloopt hij elke map terwijl hij per geval uitlegt waarom hij deze aanpak geschikt vindt. De aanpak zelf lijkt vrij ingewikkeld en waarschijnlijk in eerste instantie onnodig wanneer het project zich in de beginfase bevindt, maar laten we niet vergeten dat het introduceren van de juiste regels vanaf het begin ons zal helpen tijdrovende herstructureringen te voorkomen wanneer we het project uitbreiden met nieuwe componenten en functionaliteiten. Een goed gekozen projectstructuur zal nieuwe leden van het project ook in staat stellen om gemakkelijk componenten en diensten te verwerven. Laten we niet vergeten dat niet elke manier van structureren perfect past in elk project.
Van mijn kant zou ik de basisregel willen toevoegen dat het kiezen van de optimale architectuur voor het project nutteloos is als niet elk bemanningslid de vastgestelde regels volgt.
Lees meer: Hoe kun je Vue.js-apps verbeteren? Enkele praktische tips
De overstap maken van CTO naar COO.
Werken in een volledig externe omgeving. Hoe houd je de team energiek en betrokken.
Vertrouwen op gegevens vs. buikgevoel.
In de 236 aflevering van Modern CTO praat Joel met de COO van Dailymotion, Guillaume Clement. Dailymotion heeft als missie een zinvol en voedzaam videocontentplatform te zijn tussen een aantal platforms die puur op entertainment zijn gericht en het doel van "video fast food" dienen. Om dat te bereiken in een business die sterk gedreven wordt door algoritmen en data science engineering, moet je moeilijke beslissingen nemen op basis van onderbuikgevoelens tegenover wat data je vertellen.
De doorgaans nauwkeurige metriek voor videoplatforms, media en Adtech bedrijven als "bestede tijd" niet de voor de hand liggende KPI is om aan te werken als je er echt naar streeft om je gebruikers zinvolle inhoud te bieden en niet alleen hun aandacht zo lang mogelijk voor het scherm wilt houden. De verwijzing naar de documentaire "The Social Dilemma" op Netflix is onvermijdelijk. Guillaume is onlangs ook overgestapt van een CTO naar een COO-rol in het bedrijf, wat nieuwe uitdagingen met zich meebrengt op het gebied van operations en people management. De uitdaging is nog veeleisender tijdens de pandemie, wanneer de opstelling op afstand een test is voor leiders om teams betrokken te houden en de mentaliteit op hoog niveau te houden. Het is belangrijk om tegemoet te komen aan de individuele behoeften van werknemers die socialer of introverter zijn, door een beperkte mate van office mingle beschikbaar te stellen voor degenen die een regelmatige kick nodig hebben om op gang te komen.