Fem nivåer av utvecklare - från nybörjare till expert

Tråden skapades och har fått 24 svar. Det senaste inlägget skrevs .
1

Jeff Atwood från Coding Horror har delat in utvecklare i fem nivåer:

Level 1: Beginner

* Little or no previous experience
* Doesn't want to learn: wants to accomplish a goal
* No discretionary judgement
* Rigid adherence to rules

Level 2: Advanced Beginner

* Starts trying tasks on their own
* Has difficulty troubleshooting
* Wants information fast
* Can place some advice in context required
* Uses guidelines, but without holisitic understanding

Level 3: Competent

* Develops conceptual models
* Troubleshoots on their own
* Seeks out expert advice
* Sees actions at least partially in terms of long-term plans and goals

Level 4: Proficient

* Guided by maxims applied to the current situation
* Sees situations holistically
* Will self-correct based on previous performance
* Learns from the experience of others
* Frustrated by oversimplified information

Level 5: Expert

* No longer relies on rules, guidelines, or maxims
* Works primarily from intuition
* Analytic approaches only used in novel situations or when problems occur
* When forced to follow set rules, performance is degraded

Coding Horror: Level 5 means never having to say you're sorry

Håller ni med? Vilken nivå är du?

Bra att uppdelningen inte är konkret kunskap, utan olika tankesätt. Något jag saknar i listan är t ex att kunna applicera koncept på andra områden än det först är tänkt, och dylikt. Men det känns som att det borde stämma.

Själv skulle jag kalla mig en 3'a, med viss igenkännelse från några av 4'ans punkter.

  • Medlem
  • Söderfors
  • 2008-07-09 09:39

Iofs är det väl inte Jeffs uppdelning utan Andrew Hunts...
Gillar egentligen inte konceptet att dela upp folks kunskap i nivåer men det här är i alla fall en av de bättre sätten...

Måste lägga mig på en 5:a där...

Jag tror jag befinner mig mellan 3 och 4 ungefär, beroende på dagsformen

De flesta dagar känner jag mig dock mer som en hackare än en programmerare, det finns stora brister i helheltsgreppet som en mera "äkta" programmerare ofta har.

  • Medlem
  • International user
  • 2008-07-09 15:25

Nr 4 stämmer rätt bra på mig. Ibland plockar man väl pkt 1-2 från nivå 5.

  • Medlem
  • Gävle
  • 2008-07-09 15:26

Enligt den där beskrivningen så tycker jag att fyran känns rätt träffande för mig. Dock känns femman som en ganska dålig beskrivning på de programmerare som jag själv ser som experter och förebilder. Femman låter mer som en beskrivning på en andra-tredje klassens programmerare men som tror sig kunna allt redan.

  • Medlem
  • International user
  • 2008-07-09 17:37
Ursprungligen av Jogin:

Dock känns femman som en ganska dålig beskrivning på de programmerare som jag själv ser som experter och förebilder. Femman låter mer som en beskrivning på en andra-tredje klassens programmerare men som tror sig kunna allt redan.

Jag tänkte faktiskt samma sak när jag läste beskrivningen. Det låter som en beskrivning av en självutnämnd "leet über-kodare" som kodar som han själv behagar, vilket inte alltid är särskilt lyckat.

Ursprungligen av rhesus:

Det låter som en beskrivning av en självutnämnd "leet über-kodare" som kodar som han själv behagar, vilket inte alltid är särskilt lyckat.

Precis vad jag tyckte oxå.

  • Medlem
  • Malmö
  • 2008-07-09 19:02

Personligen skulle jag nog placera mig mellan nivå 4 och 5 enligt punkterna specificerade, alla punkter på 4:an stämmer, men punkt fem stämmer två och en halv.

Däremot brukar jag vara lite blyg i mina kunskaper och skulle kanske säga 3-4 om jag inte fick "riktlinjerna".

På den där skalan skulle jag placera mig på nivå 11. Tillbringar man så mycket tid framför datorn som jag så blir datorns elektriska impulser en förlängning av min egen hjärnas med tiden. Så numera sitter jag bara framför datorn intensivt koncentrerad och ser de meningar och programkod jag tänker rulla fram på skärmen. Eller så var det något jag drömde efter en rejäl bläcka.

Senast redigerat 2008-07-10 00:29

Men faktum är att femman till mångt och mycket stämmer. Man använder alla principer utan att tänka, de sitter lixom i ryggmärgen. Man kan titta på tio rader kod och känna att det känns rätt eller fel. Det är först när någon frågar varför man valt en viss lösning som man verkligen funderar över varför man löst det på ett visst sätt. Det är väl här refaktoriseringen kommer in också. Varje ändring medför refaktorisering och generalisering av kod. Det är väl här jag har problem Putsar ofta lite väl mycket på mina lösningar.

  • Medlem
  • Gävle
  • 2008-07-13 10:58

Jag tror att den som skrev den där listan själv är en fyra, för han/hon verkar inte riktigt kunna konkretisera vad det är som gör rockstar-kodarna så bra.

Tycker ni att femman är en bra beskrivning av Linus Torvalds, David Heinemeier Hansson, Guido Van Rossum, Matz eller James Gosling? Tror ni att respektives verk är gjorda framförallt av intuition? Skrattretande tanke. Tror ni att de inte använt en analytisk approach eller inte följt de "best practices" som de av egen erfarenhet vet är så viktiga, utan bara har rocknroll-kodat ihop sina verk? *fniss* Näe, det där låter som en andra-tredje klassens PHP-nisse som inte överhuvudtaget är bekant med de maximer, patterns och annat som han/hon ignorerar till fördel för "intuition".

Till sist, tror man att man själv hör till det sällskapet så är man förmodligen inte hälften så duktig som man vill tro.

  • Medlem
  • Söderfors
  • 2008-07-13 12:06
Ursprungligen av Jogin:

Till sist, tror man att man själv hör till det sällskapet så är man förmodligen inte hälften så duktig som man vill tro.

The master has spoken...:tveksam:

Det kan ju faktiskt vara så att "intuiton" är samma sak som att kunna maximer, patterns mm...
En del i att vara duktig systemutvecklare är i mina ögon att veta när det är lämpligt att använda gängse principer och när det är lämpligt att avvika från dem...

  • Medlem
  • Gävle
  • 2008-07-13 12:09
Ursprungligen av lasselu:

The master has spoken...:tveksam:

Det kan ju faktiskt vara så att "intuiton" är samma sak som att kunna maximer, patterns mm...
En del i att vara duktig systemutvecklare är i mina ögon att veta när det är lämpligt att använda gängse principer och när det är lämpligt att avvika från dem...

Har du problem med läsförståelsen? Jag har inte påstått att jag tillhör den klassen — tvärtom tycker jag det saknas ett par-tre klasser ovanför klass fyra. Jag tycker bara att beskrivningen låter som den är skriven av någon som inte överhuvudtaget har någon aning om hur den högsta klassen programmerare fungerar. Det är jag ju inte heller ensam om, läs resten av tråden så ser du.

Intuition är inte samma sak som att kunna något utantill. Med den definitionen så är man ju femte klassens programmerare redan på andra-trejde nivån...

Senast redigerat 2008-07-13 12:22
  • Medlem
  • Söderfors
  • 2008-07-13 12:54
Ursprungligen av Jogin:

Har du problem med läsförståelsen?

Måste du låta otrevlig det första du gör?

Ursprungligen av Jogin:

Jag har inte påstått att jag tillhör den klassen — tvärtom tycker jag det saknas ett par-tre klasser ovanför klass fyra. Jag tycker bara att beskrivningen låter som den är skriven av någon som inte överhuvudtaget har någon aning om hur den högsta klassen programmerare fungerar. Det är jag ju inte heller ensam om, läs resten av tråden så ser du.

Har heller inte påstått att du påstått det...och jag har läst hela tråden...jag gillade bara inte ditt sätt att i princip säga att man pratar skit om man placerar sig i någon klass på skalan...

Ursprungligen av Jogin:

Intuition är inte samma sak som att kunna något utantill. Med den definitionen så är man ju femte klassens programmerare redan på andra-trejde nivån...

Intuition bygger imho på kunskap...och det kan mycket väl vara att kunna något utantill och VETA när man ska använda det...precis om jag sa; En del i att vara duktig systemutvecklare är i mina ögon att veta när det är lämpligt att använda gängse principer och när det är lämpligt att avvika från dem...

  • Medlem
  • Gävle
  • 2008-07-13 13:03
Ursprungligen av lasselu:

Måste du låta otrevlig det första du gör?

Du var själv uppkäftig och gjorde påståenden om vad jag hade sagt som inte stämde.

Ursprungligen av lasselu:

Har heller inte påstått att du påstått det...och jag har läst hela tråden...jag gillade bara inte ditt sätt att i princip säga att man pratar skit om man placerar sig i någon klass på skalan...

Ta inte åt dig i onödan. Vad jag sa var att beskrivningen av femteklassen inte påminner om egenskaperna som jag ser hos de som jag själv ser upp till som programmerare av toppklass — jag listade också några exempel på denna toppklass, och sa att om man själv tror att man tillhör det sällskapet så är man förmodligen inte i närheten av det. Har jag fel i att om man tror att man är i Linus Torvalds klass så är man förmodligen inte i närheten av den?

Ursprungligen av lasselu:

Intuition bygger imho på kunskap...och det kan mycket väl vara att kunna något utantill och VETA när man ska använda det...precis om jag sa; En del i att vara duktig systemutvecklare är i mina ögon att veta när det är lämpligt att använda gängse principer och när det är lämpligt att avvika från dem...

Du kan ju omdefiniera ord så de passar din världsbild om du vill, men fortfarande är inte intuition samma sak som att kunna något utantill. Några synonymer till intuition är "känsla", "föraning", "magkänsla", eller på engelska "instinctive knowing (without the use of rational processes)". Det är inte samma sak som att inte behöva slå upp något i en bok. Att den absoluta toppklassen programmerare använder magkänsla snarare än en analytisk approach är bullshit, rent ut sagt.

Senast redigerat 2008-07-13 13:13
  • Medlem
  • Söderfors
  • 2008-07-13 18:53
Ursprungligen av Jogin:

Att den absoluta toppklassen programmerare använder magkänsla snarare än en analytisk approach är bullshit, rent ut sagt.

Du fortsätter att leverera kategoriska pekpinnar...skitsamma, orkar inte argumentera med det...du vet uppenbarligen bäst...

Min erfarenhet är i alla fall annorlunda än din...i min värld bygger intuition på kunskap...
Jag sällar mig för övrigt till fixarfrasse i tolkningen av nivå fem...

Citat:

Tycker ni att femman är en bra beskrivning av Linus Torvalds, David Heinemeier Hansson, Guido Van Rossum, Matz eller James Gosling? Tror ni att respektives verk är gjorda framförallt av intuition? Skrattretande tanke. Tror ni att de inte använt en analytisk approach eller inte följt de "best practices" som de av egen erfarenhet vet är så viktiga, utan bara har rocknroll-kodat ihop sina verk? *fniss*

Om jag förtydligar min uppfattning om femman igen. Allt man lär sig i stadie fyra sätter sig förr eller senare i ryggmärgen. Med sin erfarenhet i ryggen så kan man då säga att det känns bättre att lösa problemet på ett eller annat sätt, eftersom man aldrig med säkerhet kan förutsäga prestanda, säkerhet osv innan man har körbar kod att testa. För övrigt så säger ju även femman att personen i fråga analyserar problem när de uppstår nya obekanta problem.

Jag tycker femman är en rätt bra beskrivning. Speciellt med tanke på sista punkten. När det uppstår krav på den duktiga programmeraren att anpassa sig på något vis som inte ligger i linje med hur denne är van vid att arbeta så påverkar det prestationen. Exempelvis om man arbetar med nya ramverk som man inte är van vid.

Jag vill inte påstå att jag är duktigare än någon annan, och det finns massor av gröna programmerare som ger mig nya frågeställningar dagligen.

  • Medlem
  • Gävle
  • 2008-07-13 13:26

fixarfrasse, vi har nog tolkat betydelsen av femte klassen väldigt olika du och jag (vilket kanske visar vilken dålig beskrivning det faktiskt är). Du verkar tolka den främst som att man kan agera utifrån sin erfarenhet, jag tolkar den som att man framförallt går på känsla. Det är två väldigt olika saker. Att använda sin erfarenhet är något man enligt min uppfattning kan göra på vilken kunskapsnivå som helst.

När jag läser om hur olika programmerare av toppklass har utformat sina verk så imponeras jag av hur det de gjort har utformats med enorm eftertanke, in i minsta detalj. Inte någonting i stil med: "Äh, jag gick på känsla bara." Det känns inte träffande alls.

Jogin, det stämmer. Det är så jag uppfattar det. Först när jag läste den så blev jag naturligtvis irriterad eftersom det kändes som om de gjorde sig lustiga. Men jag tycker att det stämmer ganska bra efter att funderat på hur det är på jobbet.

  • Medlem
  • Mölndal
  • 2008-07-13 14:57

I ett tamt medlingsförsök kan jag flika in att man för att få ett stooort ramverk verkligt genomtänkt räcker det inte att vara analytisk. Kombinationerna att prova är helt enkelt för många. Då kommer magkänslan väl till pass av vilken väg som är rätt att gå vidare med.

  • Medlem
  • Söderfors
  • 2008-07-13 18:54
Ursprungligen av memark:

I ett tamt medlingsförsök kan jag flika in att man för att få ett stooort ramverk verkligt genomtänkt räcker det inte att vara analytisk. Kombinationerna att prova är helt enkelt för många. Då kommer magkänslan väl till pass av vilken väg som är rätt att gå vidare med.

Spot on!

  • Medlem
  • Gävle
  • 2008-07-13 21:40

Om användande av erfarenhet är allt som krävs för nivå fem så är jag långt förbi den, (nästan) alla andra programmerare jag någonsin träffat också, för den delen.

  • Medlem
  • Stockholm
  • 2008-07-13 22:10

Är en tvåa, som i vissa situationer och under användandet av vissa klasser sniffar på trean!

Vänligen, Ylan

Ursprungligen av Jogin:

Om användande av erfarenhet är allt som krävs för nivå fem så är jag långt förbi den, (nästan) alla andra programmerare jag någonsin träffat också, för den delen.

Sant, de är få.. vilket är ett problem, eftersom man aldrig har någon att fråga om hjälp. Men jag känner ett par, kanske tre som jag skulle betrakta som 5:or i olika areor kring programmeringens natur. Tyvärr får jag aldrig tillfälle att arbeta tillsammans med dem.

1
Bevaka tråden