torsdag den 20. marts 2014

Find den rigtige udvikler type til jobbet


Når man kommer rundt og møder forskellige udviklere, kan man se hvor forskellige folks tilgang til udvikling er.
Nogle gider ikke pakke ting pænt ind i objekter, men skriver det bare mere som funktionsprogrammering i et objekt orienteret sprog.
Andre mener at redundant kode er iorden, fordi de laver ikke fejl og det er ikke så svært at rette det de steder.
Nogle udviklere holder på at det skal laves simpelt (hvilket jeg stemmer for), men deres kode er ekstremt kompleks, fylder unødigt meget, og hvis man påpeger det kan de slet ikke se hvad man mener eler kan forstå det kan gøres mere effektivt og vil hellere tage en lang debat om at deres kode ikke kan blive meget mindre og meget mere effektiv, end at indrømme det de lavede var perfekt.
Ego'erne findes også hvor alt de laver er smart, lækkert, hurtigt, men andres foreslag er underlige, overflødige, og generelt dårlige forslag man ikke kan bruge til noget.


Der findes mange forskellige typer af udviklere, som kan være nok så dygtige, men ikke kunne med andre. Andre har stjernedrømme og derfor ønsker at lave alting selv, for ingen er så god som dem og deres måde.
Andre er faktiskret dygtige, men som ikke selv mener det eller kan se det og derfor aldrig helt kommer frem og får det ordentligt vist for andre fordi de mener de skal holde sig i baggrunden uden at vise deres værd.
Nogle gider faktisk helst ikke rigtigt lave noget, hvor andre gerne vil finde løsninger som andre har lavet, men kan ikke implementere dem.

Jeg som udvikler forsøger selv generelt at lytte til andre for ofte har de oplevet noget, eller har nogle ideer jeg ikke har tænkt på, og det er den synergi jeg elsker. Samarbejdet er det som jeg synes er spændende.
Det der ping-pong man kan have kørende er fantastisk når det kører, fordi man begge to opløfter det udviklede til nye bedre højder end hver især enkelt aldrig kunne have opnået.
Det har også meget at sige hvordan man samarbejder og ordner arbejdsfordelingen fordi det skal passe til ens niveau, samt hvad de forskellige udviklere er gode til - så man spiller på deres stærke kompetencer.


Har oplevet en meget dygtig udvikler, som var meget ensporet (nogle ville kalde ham underlig), som skulle samarbejde med et team.
Det er en lille løsning til et 3-4 personers firma der skal holde styr på deres dyner, puder, etc. som ikke behøver være alt for stor.
Fordi der er nogle der ikke er de stærkeste i programmeringsdelen, så skulle niveauet holdes nede hvor de kunne være med, og fordi det var en lille virksomhed behøvede man ikke den store vilde forchromede løsning til dem.
Ham den dygtige udvikler foreslog der skulle kryptering på data, og der skulle laves en stor fin arkitektur med nedarvninger i adskillige niveauer, med events og tråde til performance og caching.
Det var ikke lige løsningen for så lille en kunde (tid og pris, plus det skulle afleveres til tiden også), samt heller ikke for de der var med som ikke var på helt det niveau, så de bliver enige om at lave noget simplere.
Dagen efter er han syg og kommer ikke, men siger han er frisk nok til at komme dagen efter. Dagen efter kommer han så klokken 15 og siger han har kodet det hele om til det han mente der var meningen, men det som de var blevet enige om 2 dage efter at de ikke skulle lave.
Han kunne ikke komme ud over at hvis han mente det skulle laves sådan så han kunne vise hvor dygtig han var, så skulle det laves sådan.
Sådan en udvikler ønsker man ikke at få, fordi det kan blive en omkostelig affære - til dels fordi han måske vil være en dårlig investering, plus der måske vil komme en masse problemer i forhold til teamet og samarbejdet. Vedligehold af det han har lavet, fra andre, kan ligeledes blive et problem.
Så sørg for at finde ham der er dygtig, men omgængelig.

Ingen kommentarer:

Send en kommentar

Kan du lide mit indlæg, har en kommentar, forslag eller andet på hjerte så skriv venligst