Je hebt onlangs op Twitter misschien een draadje zien rondgaan over “10x ingenieurs”. Als dat niet het geval is, kunt u het in al zijn glorie lezen:
Shekhar Kirani @Accel@skirani10x ingenieurs
Oprichters als u ooit dit zeldzame ras van ingenieurs tegenkomt, grijp ze dan. Als je een 10x ingenieur hebt als onderdeel van je eerste paar ingenieurs, vergroot je de kans op succes van je startup aanzienlijk.
OK, hier is een lastige vraag.
Hoe spot je een 10x ingenieur?13:02 PM – 11 Jul 2019De samenvatting ervan is, tenzij je voldoet aan een of ander super smal en stereotiep beeld van het zijn van een ontwikkelaar, ben je geen “10x ingenieur”.
Velen zullen zeggen dat een “10x ingenieur” niet bestaat, omdat het verdomd moeilijk is om ergens 10x beter in te zijn dan iemand/meeste mensen. Zelfs als de persoon niet letterlijk “10x” bedoelt, is het nog steeds proberen te zeggen dat er iemand is die aanzienlijk beter is in alles.
Persoonlijk heb ik een hekel aan de term “10x ingenieur”. Net als “rockstar developer” zijn het slechte beschrijvingen en definities van wat geweldige ontwikkelaars zijn.
Het zou onoprecht zijn om te zeggen dat alle ontwikkelaars gelijk zijn. Slechts een paar minuten van het kijken naar verschillende ontwikkelaars op Twitter, zie ik al veel ontwikkelaars die weten een hel van een veel meer dan ik doe. Dat gezegd hebbende, praten over deze “10x ingenieur” alsof ze de kans op succes van je bedrijf aanzienlijk kunnen vergroten, is behoorlijk belachelijk.
Genoeg over het neerhalen van dat vreselijke stereotype van “10x ingenieur”, laten we het hebben over de dingen die echt geweldige ontwikkelaars maken (aka de echte “10x ingenieur”).
- 1. Ze zijn slim, maar kennen hun grenzen
- 2. Sterk zelfstandig maar toch een kick-ass team
- 3. Ze helpen anderen met problemen
- 4. Ze zijn vriendelijk en begripvol
- 5. Ze dagen je uit (op de juiste manier)
- 6. Ze begrijpen dat “nieuwe glimmende” niet de oplossing is voor alles
- 7. Ze weten dat het niet uitmaakt wanneer je programmeert en welk editor thema je gebruikt
- 8. Ze gaan niet uit van hun manier om iets complexer te maken
- 9. Ze denken niet aan de “ik” in “team”
- 10. Je wilt eigenlijk met hen werken
1. Ze zijn slim, maar kennen hun grenzen
Zonder als het om een triviaal kleine code base gaat, kennen ze niet elke regel code die in productie is gegaan. Natuurlijk kunnen ze veel problemen zelf oplossen, maar ze weten wanneer ze vastzitten en weten wanneer ze om hulp moeten vragen.
Niets is verkeerd aan het vragen om hulp, ongeacht je vaardigheidsniveau!
2. Sterk zelfstandig maar toch een kick-ass team
Er zijn tijden om zelfstandig te programmeren en er zijn tijden om in een team te programmeren. Deze ontwikkelaars nemen niet zomaar een taak en rennen weg in een hoekje om eraan te werken in silo met alle anderen. Ontwikkeling voorbij de kleinste schaal vereist voortdurende samenwerking met een team – of dat nu gekoppeld programmeren, code reviews, bouncing ideeën, helpen met debuggen etc.
Dat wil niet zeggen dat een grote ontwikkelaar is niet meer comfortabel werken door zelf op bepaalde taken, maar grootschalige ontwikkeling is praktisch onmogelijk zonder sterke samenwerking.
3. Ze helpen anderen met problemen
Heb je ooit een collega om hulp gevraagd en ze deden het? Gefeliciteerd, misschien is hij wel een geweldige ontwikkelaar. We kijken misschien naar documentatie of zelfs Stack Overflow voor hulp, maar soms hebben we echt hulp nodig van iemand die onze codebase kent. Als jij een ontwikkelaar bent die iets weet dat een collega kan helpen, help hem dan!
4. Ze zijn vriendelijk en begripvol
Een geweldige ontwikkelaar zijn gaat niet over een slimmerik zijn, pronken met je intellect, vergaderingen negeren omdat je beter bent dan die mensen. Een goede ontwikkelaar zijn, betekent ook goed zijn in niet-technische dingen. Als je een collega “helpt” door tegen hem te schreeuwen en zijn code te bekritiseren, stop dan gewoon.
5. Ze dagen je uit (op de juiste manier)
Dit klinkt misschien controversieel, maar een geweldige ontwikkelaar gaat je niet de hele tijd de antwoorden geven. Dat klinkt misschien in tegenspraak met #2 en #3, maar dit is niet bedoeld om je iets op de mouw te spelden. Een goede ontwikkelaar is iemand die je net genoeg kan geven zodat je het zelf kan oplossen. Deze kleine uitdagingen helpen je een betere ontwikkelaar te worden en laten je begrijpen over welke dingen je misschien meer moet leren.
6. Ze begrijpen dat “nieuwe glimmende” niet de oplossing is voor alles
Niet om te zeggen dat deze ontwikkelaars geen nieuwe tools en talen uitchecken (ze kunnen doen wat ze willen in dat opzicht), maar ze begrijpen wel dat nieuwe tools niet magisch elk probleem gaan oplossen.
James Hickey 🇨🇦👨💻@jamesmh_devWe zijn geobsedeerd door het leren over meer tools en talen!
Als je architectuur slecht is, je de verkeerde problemen oplost, je klant het niet begrijpt als je dingen probeert uit te leggen… dan helpen glimmende tools niet.
En deze zijn fundamenteel voor het succes van je bedrijf!18:54 PM – 27 Jun 20197. Ze weten dat het niet uitmaakt wanneer je programmeert en welk editor thema je gebruikt
Stereotypen van programmeurs daargelaten, waarom zou het tijdstip waarop je programmeert eigenlijk een verschil maken? Programmeer midden in de nacht als je dat wilt/moet van het bedrijf en doe het niet als je dat niet wilt. De enige reden waarom tijd een rol zou moeten spelen is als je te lang hebt geprogrammeerd en niet hebt geslapen! De werkelijke tijd van de dag doet er niet toe, tenzij het van invloed is op je team (bijv. je werkt om middernacht te programmeren om opzettelijk iedereen te ontlopen).
Zo ook met editor thema’s, waarom zou een donker thema je eigenlijk beter maken? Ik zal je een hint geven, dat doet het niet. Donkere thema’s hebben hun doel, maar dat is het zeker niet.
8. Ze gaan niet uit van hun manier om iets complexer te maken
Dit is misschien voor de hand liggend, maar er was een andere Twitter draad de vorige week praten over het programmeren van iets complex als dat is een goede zaak om te doen. Wanneer was het moeilijker maken van ons werk en dat van onze collega’s een goede zaak?
Er zijn zeker momenten dat we een complexe oplossing moeten programmeren, omdat we het probleem misschien (nog) niet helemaal begrijpen. Dit kan gebeuren bij onze eerste poging om de oplossing te programmeren, dat is wanneer je meestal mensen hoort praten over het refactoren van code of niet “trots” zijn op code die ze de vorige week/maand/jaar hebben geschreven.
9. Ze denken niet aan de “ik” in “team”
Of ze hebben echt elke regel broncode zelf geschreven, van de compiler tot en met alle business logica, ze weten dat het een teamprestatie was. Ze proberen niet de schijnwerpers te richten op iemand anders in het team – ze benadrukken alle bijdragen die een project tot een succes hebben gemaakt.
Wanneer een project slecht loopt, geven ze niet meteen iedereen de schuld. Teamprojecten mislukken als team, niet als individu (tenzij met kwade opzet). Ze helpen het hele team te leren van de fouten en helpen voorkomen dat ze opnieuw gebeuren.
10. Je wilt eigenlijk met hen werken
Aan het eind van de dag zijn deze geweldige ontwikkelaars mensen met wie je eigenlijk graag samenwerkt. Je komt opdagen op het werk (of op afstand) en bent blij dat je met zo’n geweldig team werkt.
Als je ontwikkelaars kent die zo klinken, vertel ze dan hoe geweldig ze zijn en hoe blij je bent om met ze te werken.🙂