8 must have kwaliteiten van een goede software ontwikkelaar

Gepubliceerd: Laatst bijgewerkt:
10 ontwikkelaars sterke punten van super succesvolle ingenieurs

Toen ik DevSkiller zeven jaar geleden oprichtte, was het doel van mijn team om bedrijven te helpen geweldige ontwikkelaars te vinden. Sindsdien heb ik de kans gehad om te werken met Fortune 500 bedrijven, maar ook met kleinere wereldwijd. Ik sprak met technische mensen zoals CTO's, IT-managers, teamleiders, teamleden en HR-vertegenwoordigers. Al deze mensen waren verantwoordelijk voor het vinden en aannemen van top tech talent. Ze werden allemaal geconfronteerd met een universeel probleem: hoe goede programmeurs aan te nemen. Zij zaten ook achter dezelfde ontwikkelaar krachten aan.

Het begint allemaal met een goede ontwikkelaar herkennen als je er een ziet. Dit brengt ons bij de cruciale vraag: Wat zijn de belangrijkste sterke punten van de ontwikkelaar? Er is veel gediscussieerd over dit onderwerp. Ik raad u aan dit te lezen Quora draad. Het zit vol met inzichten van een aantal serieuze industrie meesterbreinen.

Op basis van onze eigen ervaring, honderden gesprekken en tientallen pivots op onze weg, moeten we een bijdrage leveren aan de discussie. We zijn gekomen met een lijst van de belangrijkste kwaliteiten van een software ingenieur.

Sterkte en zwakte voor software ontwikkelaar

1. Nieuwsgierigheid

"Nieuwsgierigheid is, in grote en grootmoedige geesten, de eerste passie en de laatste", zei Samuel Johnson. Dat is ook waar als we kijken naar de kwaliteiten van een goede programmeur (en hun grote en genereuze geesten). Laten we eens kijken naar een meer hedendaagse referentie die het standpunt van Johnson verder ontwikkelt. Dan Pupius zegt dat "nieuwsgierigheid belangrijk is in het leven van een ingenieur". Het dwingt je om nieuwe talen leren, experimenteren, en nieuwe oplossingen zoeken. Dat is precies wat je wilt in een ingenieur. Het drijft je ook om de architecturale keuzes van anderen te onderzoekenen ook aannames in twijfel trekken. Pupius beweert dat veel kwaliteiten die gewoonlijk met grote ingenieurskunst worden geassocieerd "voortkomen uit een rijk gevoel voor nieuwsgierigheid".

John Allspaw, Chief Technology Officer bij Etsy maakt een goed punt in zijn post "Over het zijn van een senior ingenieur". Hij zegt dat top-notch ontwikkelaars zijn leergierig. Zij hebben de neiging zichzelf en hun collega's vragen te stellen terwijl zij werken.

  • "Wat zou ik kunnen missen?"
  • "Hoe kan dit niet werken?"
  • "Wil je alsjeblieft zoveel mogelijk gaten schieten in mijn denken hierover?"
  • "Zelfs als het technisch goed in elkaar zit, is het dan begrijpelijk genoeg voor de rest van de organisatie om het te bedienen, problemen op te lossen en uit te breiden?"

Daar ben ik het helemaal mee eens. Op het eerste gezicht lijkt het misschien dat deze vragen worden gesteld door een seriepessimist. Dat is eigenlijk niet het geval. Ze worden gesteld door een leergierig individu met een passie om te schrijven elegante en zelfconsistente systemen. Verwar grondigheid niet met een "we zijn allemaal verdoemd" houding.

ontwikkelaar sterke nieuwsgierigheid het einde is nabij teken

Bron: Campagne Briefing

2. Technische vaardigheden

Rahul Varshneyazegt dat "beeldende kunst en programmeren zijn vergelijkbaar in die zin dat grote technische vaardigheden nog geen groot artiest of programmeur maken". Grootheid komt niet alleen van technische vaardigheden. Je kunt echter geen uitzonderlijke resultaten verwachten van mensen die niet de juiste vaardigheden voor de job hebben. Je moet vaardigheden zien als een van de elementen van de puzzel die op zichzelf niet veel uitrichten. Het kan echter wonderen doen als het gepaard gaat met andere sterke punten van de ontwikkelaar. Gelukkig is de aanwezigheid van de belangrijkste sterktes en kwaliteiten van een software engineer super eenvoudig te verifiëren met codeertests.

Onthoud dat kennis van technische details belangrijk is. Maar als je een veelbelovende kandidaat tegenkomt die alle sterke punten van een ontwikkelaar heeft, maar nog steeds aan het leren is, overweeg dan om hem of haar aan te nemen voor een junior positie. Je zult verbaasd zijn hoe ver ze kunnen gaan.

Snelheid en productiviteit

A Sackman, Erikson, en Grant bestuderen ontdekte een 10-voudig verschil in productiviteit tussen programmeurs. Het onderzoek is niet zonder gebreken, dat wel. Er wordt niet "gecontroleerd voor verschillen in individuele capaciteiten". Het combineert ook resultaten van gebruikers die werken in low-level en high-level programmeertalen.

ontwikkelaar sterke punten onderzoek 1960s productiviteit grafiek

Beeldbron: Construx.com

Steve McConnell stelt dat het beschikbare onderzoek over het onderwerp over het onderwerp is niet vrij van beperkingen. Het is niet maar is zeker suggestief. En dat is precies hoe je het moet bekijken.

Salarissen weerspiegelen dit vaak niet verschillen van een orde van grootte tussen ontwikkelaars. Is er een manier om de productiviteit van ontwikkelaars te meten en zou je dat zelfs maar moeten proberen?

Helaas is het meten van de productiviteit van ontwikkelaars ons tot nu toe ontgaan. We weten dat code lijnen (SLOC, of Source Lines of Code) geen maatstaf is die synoniem is aan de waarde van de ontwikkelaar. In feite is minder meer in de wereld van code (zolang het maar zelf-consistent en volledig functioneel is). Volgens Phil Haackdie beknopte, onderhoudbare, en begrijpelijke code is superieur aan het snel ponsen van grote hoeveelheden code. Waarom? Denk aan wat er gebeurt als je nieuwe functies of updates wilt toevoegen. Het kost meestal uren om broze code te ontcijferen en op te lappen. Daar hangt meestal ook een stevig prijskaartje aan. Laat ik het zo zeggen: Wat je bespaart op een snelle maar onzorgvuldige ontwikkelaar, besteed je uiteindelijk aan het QA team..

dilbert cartoon met ontwikkelaar sterktes grap

Bron: Dilbert

Als u geïnteresseerd bent in productiviteit in IT, lees dan "De mythe van de productiviteit van ontwikkelaars"door Dustin Barnes.

Bewustwording

Paul Haack zegt dat beste ontwikkelaars weten wanneer te coderen en wanneer niet. Hij stelt dat het wiel opnieuw uitvinden onnodige druk op het project legt. Gebruik in plaats daarvan bestaande bibliotheken om tijd te besparen. Klinkt logisch, nietwaar? Alles vanaf nul doen is echter nog steeds een van de grootste tijddieven.

Bewustzijn ook manifesteert zich via de risicotolerantiedrempel. Dit is cruciaal omdat je vaak live systemen moet refactoren. Dat is waar dingen fout kunnen gaan. In staat zijn om het risico realistisch in te schatten zonder dat je ego in de weg zit is zeker een van de belangrijkste sterktes en kwaliteiten van een software ingenieur.

3. Intuïtie

Zoals Varshneya stelt, terwijl sommige ontwikkelaars worstelen om met een oplossing te komen, komt het bij anderen vanzelf. Het is "alsof een openbaring hen treft op het moment dat ze programma's maken of een probleem oplossen."

doge meme zeer inzichtelijke ontwikkelaar sterktes grap

Geweldige software ontwikkelaars algoritmen en architecturen intuïtief te begrijpen. Dit vermogen stelt hen in staat snel te leren, wat ons bij de volgende kwaliteit brengt.

4. Liefde voor leren

Volgens John Krystynak, "oprecht engagement om voortdurend bij te leren"is een van de belangrijkste sterke punten van de ontwikkelaar. "Je moet van de fundamentele praktijk houden om van niet-weten naar weten te gaan, elke dag" anders zul je er niet goed in worden.

Dit geldt vooral in de wereld van IT. Hoewel het nuttig is om je eigen manier van doen te hebben, is het essentieel dat je je buiten datgene wat je kent begeeft. Zoek snellere manieren om dingen gedaan te krijgen. Een van de manieren om dat te doen is door patronen opmerken en conclusies trekken.

Er zijn heel veel manieren om te ontwikkelen als je een goede ontwikkelaar bent (woordspeling bedoeld).

  • Het bijwonen van evenementen in de industrie, zoals conferenties en hackathons. Thomas So van AppLovin noemt ze opleiding in beroepsvoorbereiding.
  • Het vinden van een mentor.
  • Ik werk aan een nevenproject.
  • Vragen om peer feedback.

5. Aanpassingsvermogen

De IT-wereld verandert snel en als goede ontwikkelaar moet je je kunnen blijven aanpassen. Het is een veilige gok om mensen aan te nemen die altijd op zoek naar nieuwe hulpmiddelen en manieren om dingen te doen. Ze zijn vaak volg industrie nieuws en gewoon geven om het vak.

Hoe meer je weet, ook buiten je favoriete technologie, hoe meer je een aanwinst bent voor zowel je team als de hele organisatie. Zoals Marius Mazilu stelt dat "de diversiteit van de technologie zo groot is geworden dat een specialist zijn in één bepaalde technologie niet noodzakelijk een gegarandeerd succes is". Mazilu gelooft dat veelzijdiger zijn van cruciaal belang is. Dat komt omdat volwassen technologieën stabieler zijn en niet kunnen bijbenen. Dat betekent dat je vaardigheden snel verouderen. Aan de andere kant vereisen nieuwe frameworks meestal een enorme tijdsinvestering omdat ze instabiel zijn. Zoals hij stelt, "kun je op een dag tot je schrik ontdekken dat ze niet van je houden".

Mazilu heeft 7 eenvoudige regels die je moet volgen om bij te blijven met de technologie.

  1. Vertrouw op je buikgevoel.
  2. Ga altijd terug naar de basis.
  3. Kijk uit voor de zilveren kogels. Dit zijn onder meer goed in de markt gezette technologieën die op grote schaal worden gebruikt, ondanks het feit dat ze niet bij het project passen.
  4. Leer debuggen.
  5. Leer te schrijven.
  6. Raak niet geobsedeerd door hoe je code eruit ziet.
  7. Ga met de massa mee.

6. Een positieve houding

Een positieve instelling is een van de belangrijkste kwaliteiten van een goede softwareontwikkelaar. Een van de kwaliteiten van een goede programmeur is dat hij dag in dag uit problemen oplost, maar dat betekent niet dat hij bij hen stilstaan. Een "getting sh*t done" houding is hard nodig, deels omdat taken en tickets de neiging hebben zich op te stapelen. Het is belangrijk om te beslissen wanneer het tijd is om een goed genoeg oplossing de deur uit te duwen en verder te gaan met het volgende ding op de lijst. Het voorbehoud hierbij is dat u uw ontwikkelaars niet overstelpt met meer taken dan ze aankunnen en dat u de zaken realistisch houdt.

Damien Filiatrault zet "positieve houding" bovenaan zijn lijst van essentiële kwaliteiten die goede ontwikkelaars bezitten. Hij zegt dat je de proef op de som kunt nemen en een paar ogenschijnlijk eenvoudige "small talk"-achtige vragen kunt stellen om te zien of de antwoorden zich op de positieve of de negatieve punten concentreren. Deze vragen zijn onder andere:

  • "Beschouw je jezelf als gelukkig? (eigenwijs of nederig).
  • Hoe was je reis naar het interview? (klager of geen zorgen)".

7. Het omarmen van mentorschap

John Krystynak zegt dat "grote programmeurs niet groot worden in afzondering." Ik prijs hem om dat te zeggen. Een van de redenen waarom het mentorschap model zo goed werkt in de IT is omdat sommige goede ontwikkelaars leren het efficiëntst via het leerlingschap. Het kost gewoon minder tijd om dingen uit te zoeken als je een meer doorgewinterde collega aan het werk kunt zien. Een andere reden waarom top techneuten voorstander zijn van mentorschap is omdat het van je vraagt om zowel je sterke als je zwakke punten bloot te leggen. Dit leert je boekdelen over om je ego in toom te houden.

Een van de beste dingen die u als werkgever kunt doen om een dergelijke houding in uw organisatie te bevorderen, is doorgewinterde programmeurs koppelen aan eerstejaars. Je zou kunnen denken dat dit een belasting zal zijn voor de mentor die het waarschijnlijk al meer dan druk heeft. Bedenk dat zowel de de leerling en de mentor leren van die regeling. Als je iets niet kunt uitleggen aan je mentee, betekent het dat je het niet goed genoeg begrijpt. Of het niet goed genoeg kunt overbrengen. Dit betekent dat er voor beide partijen leermogelijkheden zijn in deze relatie.

8. Communicatievaardigheden

Damien Filiatrault stelt dat "goede communicatievaardigheden houden rechtstreeks verband met goede ontwikkelingsvaardigheden." Hier is waarom..:

  • Je moet weten welke vragen je moet stellen als je het niet begrijpt of het nog eens wilt controleren.
  • Het is mogelijk om dingen uit te zoeken op basis van communicatie met collega's. Dat betekent hoeft u niet te vertrouwen op geschreven specificaties.
  • Concepten worden snel begrepen en gecommuniceerd in een team van succesvolle ontwikkelaars.
  • Een van de kwaliteiten van een goede programmeur is dat hij overtuigend te communiceren met zowel technisch als niet-technisch personeel.

Sterke punten van de ontwikkelaars: conclusie

Het wordt moeilijker om uitstekende programmeurs te vinden. De tech industrie gaat door een talent schaarste situatie. Dit betekent dat we meer ontwikkelaars nodig hebben dan we kunnen vinden, en bedrijven zijn die hun uiterste best doen om technisch toptalent aan te trekken.

google-advertentie richt zich op belangrijke sterke punten van ontwikkelaars

Het is een must om de sterke punten van ontwikkelaars te identificeren die cruciaal zijn voor de groei van uw bedrijf. Maar wees snel! Wanneer u een veelbelovende kandidaat tegenkomt, handel dan snel. In een situatie van schaarste vechten recruiters om dezelfde kandidaten.

Wat zijn de belangrijkste sterke punten van de ontwikkelaar? Ik kijk uit naar uw gedachten!

Noot van de redactie: Dit bericht is oorspronkelijk gepubliceerd in april 2017 en is bijgewerkt op nauwkeurigheid en volledigheid.

Post delen

Meer informatie over het inhuren van tech

Abonneer u op onze Learning Hub en ontvang nuttige inzichten rechtstreeks in uw inbox.

Verifieer en ontwikkel coderingsvaardigheden naadloos.

Zie DevSkiller producten in actie.

Beveiligingscertificeringen & naleving. Wij zorgen ervoor dat uw gegevens veilig en beveiligd zijn.

DevSkiller logo TalentBoost logo TalentScore logo