ik denk dat veel ontwikkelaars het werk van ontwikkeling zien als het ontwikkelen van software.
natuurlijk gaat het daarover!
echter, het gaat ook over het ontwikkelen van de ontwikkelaar.
sterker worden.
hier is een eenvoudig algoritme dat iemand kan gebruiken om een sterkere ontwikkelaar te worden:
-
begrijp het probleem volledig
-
ontwerp een abstractie
-
implementeer de abstractie
-
release de abstractie
-
vraag feedback
-
gebruik feedback om begrip op te bouwen
dat is voor sommige mensen te abstract om te begrijpen, dus laat ik een concreet voorbeeld geven dat deze ontwikkelaar contrasteert
met deze
in de ontwikkeling van een applicatie die isoscele en rechthoekige driehoeken moet maken.
ontwikkelaar een gebruikt het volgende proces:
-
haal de 'isoscele' kaart van het bord. moeite je niet om de 'rechthoekige driehoek' te lezen.
-
haal voorbeelden van isoscele driehoeken op. schrijf code die betrouwbaar alleen die soorten isoscele driehoeken kan produceren die de code verwacht. aangezien meer doen YAGNI is, check het in, zorg ervoor dat CI groen is. en ga naar huis.
ontwikkelaar twee doet in plaats daarvan:
-
bekijk het bord. lees recente commits. begrijp de 10.000 ft. roadmap de ontwikkelaar voegt de 'isoscele' en 'rechthoekige' driehoekskaarten samen tot een enkele nieuwe kaart genaamd 'bouw een driehoek domeinmodel' (begrijp het probleem)
-
ontwikkelaar werkt op papier, uiteindelijk aankomend bij (de abstractie)
-
ontwikkelaar implementeert code die generieke driehoeken modelleert met behulp van de stelling en specialisaties voor elk van de specifieke typen 'isoscele' en 'rechthoekig' (implementeer de abstractie)
-
ontwikkelaar isoleert de domeincode van niet-domeincode en duwt een bibliotheek naar github. (publiceren van de abstractie en feedback vragen)
-
ontwikkelaar voegt pull request samen voor 'delen-door-nul' bug enkele dagen later (feedback gebruiken om verder begrip op te bouwen)
uiteindelijk vinkt ontwikkelaar een een box af en versterkt hij het proces van zijn team. ontwikkelaar twee versterkt de code, het team en, bovenal, zichzelf.
door het proces te herhalen kan ontwikkelaar een zichzelf transformeren in ontwikkelaar twee door herhaaldelijk te werken aan het versterken van technische en domeinspieren. omgekeerd kan ontwikkelaar twee stoppen met trainen en zacht worden als ontwikkelaar een.
ontwikkelaarsvaardigheid is net zoals spier: je moet het gebruiken of je verliest het.