共用方式為


Vad lär sig utvecklare på universitet och högskolor?

Jag fick idag möjligheten att presentera Visual Studio Team System för Software Engineering kursen på KTH i Stockholm och det har satt några funderingar i mitt huvud... Det är möjligt att detta redan existerar och isåfall ber jag om ursäkt för att sparka in redan öppna dörrar.

Jag är rädd för att många av dagens studenter (jag vet att så var fallet för mig själv åtminstone) tar examen ganska oförberedda på vad som egentligen finns på marknaden för utvecklare. Många tror att de kommer att få sätta sig i nystartade projekt och utveckla nya applikationer, när vardagen för utvecklare oftast består av att sätta sig in i redan befintliga system och förvalta alternativt vidareutveckla dessa.

Jag tror att IT-utbildningarna skulle tjäna på att efterlikna andra utbildningar såsom arkitekt-, läkare- eller lärarutbildningar. I dessa utbildningar ingår alltid många praktiska moment och ofta även ett eller ett par år av praktik innan examen tas. Inom IT verkar det vara praxis att allt utbildas med hjälp av teori... Det känns också som att det skulle finnas ett intresse hos marknaden och företag att bidra med praktikplatser för kommande ingenjörer under ett halvt eller ett helt år.

Jag har själv läst 120 poäng datateknik med inriktning på programvaru-utveckling på högskolan Dalarna, nästan hela kursen var teoretisk. Det fanns vissa undantag med lärare som verkligen engagerade sig för att bidra med praktiska moment, men jag måste nog erkänna att jag var ganska oförberedd på vad som egentligen fanns på marknaden när jag slutade 1998... Så här med facit i handen så skulle jag gärna ha gått en utbildning med 2 teoretiska år, där olika programmeringsspråk, objektorientering och systemdesign skulle finnas bland ämnena, men där det tredje året fick antingen varvas med ytterligare fördjupningskurser samt arbete hos ett företag.

Finns dessa utbildningar redan idag, skulle det finnas ett intresse från marknaden att bidra med praktikplatser, tror du att universitet och högskolor skulle vara intresserade?

Eller är detta helt ointressant och omöjligt att genomföra?

Comments

  • Anonymous
    May 20, 2005
    Johan jag är helt med på din linje. Jag har själv studeratr 120p programvaruteknik där problemet var att utbildningen ville ha mycket sammarbete med näringslivet men det var svårt att hitta lämpliga sammarbetspartners.

    Ska jag vara ärlig så skulle jag inte vilja ge en anställning till 85-90% av de som studerade tillsammans med mig - de var på tok för teoretiska och såg programvaruutveckling enbart inom ramarna av utbildningen.
  • Anonymous
    May 20, 2005
    Även jag håller med. Praktisk erfarenhet innan man kastar sig ut i arbetslivet gynnar alla. Dels får eleven många kontaktytor när denne praktiserar på diverse företag och dels får företagen en mer medveten nyutexaminerad.

    Jag vet att KY-utbildningar exempelvis fungerar på det sättet. Där är 1/3 av utbildningen praktik. Problemet med KY-utbildningar som jag ser det är att nivån på lärare och elever oftast är låg. Eleverna är oengagerade och lärarna är oengagerade före detta elever. Nu vet jag att det inte alltid är så, det finns en hel del duktiga och engagerade lärare också, men helheten håller inte.

    Det svåra kan vara att få tag på tillräckligt med praktikplatser för alla elverna, det ser man i de flesta utbildningarna där praktik är involverad.
  • Anonymous
    May 20, 2005
    Något direkt bra svar på din fråga har jag inte. Men tyvärr kan jag konstatera att efter ha kommit i kontakt med några praktikanter och exjobares kod att den ofta tyvärr är ostrukturerad och icke underhållsbar. Och det är naturligt när man ännu inte ägnat sig åt programmering på heltid ett antal år. Men jag tror att med lämplig handledning och regelbundna kodgranskningar av erfarna utvecklare som kan ge vägledning så är det visst möjligt och värdfullt på företag. Tyvärr har erfarna utvecklare sällan tid att ge denna nödvändiga vägledning och däri ligger problemet som jag ser det. Praktikanten eller exjobbaren är oftast, enligt min erfarnhet, utelämnat åt att på egen hand finna lösning på problem och en bra struktur i sin kod. Tyvärr. :(

    Efter en workshop jag besökte nyligen som handlade om framtida funktionalitet i en .NET applikation fick jag mig en funderare. Jag skrev ett inlägg i min nystartade blog som åtminstonde delvis berör det jag tror (?) du efterlyser. (hoppas HTML länk fungerar i din blog :): <a href="http://softwareandwhy.blogspot.com/2005/04/some-elaboration-on-what-where-how-and.html">Some elaboration on what, where, how, and finally why</a>.
  • Anonymous
    May 24, 2005
    Ett annat sätt är att ha ännu kortare utbildningar än 120p, så att människor kommer ut i verkligheten ännu snabbare om det är det som är problemet.
  • Anonymous
    May 24, 2005
    Jag upplever att detta kan vara ett problem på många skolor, men inte alla. Just Chalmers på Lindholmen har jag uppleft inte bara tar upp teori utan en del praktik. Dock binder man sig oftast till ett eller några få programmeringsspråk där det fortfarande finns språk som idag inte alls är speciellt upphetsade för markanden. Ex Ada hur många kodar det idag? Dock uppfattar jag just arkitekturbiten som en bristvara. Det produceras för mycket teknicker som jag vill se det, de är tekniskt medvetna men har svårt att sedan designa ent-system på bästa sätt.
    Det är en skillnad att känna till alla algoritmer som finns, ev koda egna samt modellera lite klassdiagram för detta eller små tekniska lösningar jämfört med att faktiskt designa upp et helt enterprise system och få in rätt teknik av de som finns idag på marknaden. Detta upplever jag saknas i skolan. Men jag kan ha fel.
    Det pinsamaste jag vart med om var att gammal arbetskollega tog till svarsargument i en diskussion i stil med, "så lärde jag mig inte att man skulle göra i skolan" eller "så här sa min lärare att jag skulle göra och skolan har rätt...för det har jag lärt mig!"
    Så får det inte vara.

    Java och C++ är vad jag vet fortfarande de hetaste ämnerna, de anpassar sig inte direkt till marknaden genom att ex ta upp Java och .Net. Jag tror det är en viktig bit att kunan förstå båda ramverken och att lärarna är opartiska till dem. Annars låser man sig lätt i en teknik och begränsar sina möjligheter på marknaden. men det är ju även en kostnadsfråga. Hur man ev löser alla dessa problem (om de nu är ett problem) vet jag ej. Egentligen borde marknaden få bestämma vad kurserna skall gå ut på då det är den som efterfrågar kompetens, det är inget skolan skall bestämma. Eller hur gör man? Lyssnar man på marknaden och anpassar sig efter den?
  • Anonymous
    May 25, 2005
    Själv har jag gått systemarkitekt-utbildningen på Borås högskola. Jag måste säga att jag är nöjd med den utbildningen. Bra blanding av teori och praktik. Tredje året fick vi utveckla ett skarpt projekt åt ett riktigt företag. Företaget stod för kraven och sedan var det upp till projektgrupperna att analysera, designa och implementera ett system som möter de krav företaget ställde.

    Visst hade det varit bra med praktik på företag men det verkar som om det är omöjligt att få tag på villiga företag.

    Sen har du nog rätt i att man alltid fick utveckla ny programvara, aldrig modifiera ett befintligt. Det hade nog varit en nyttig övning.
  • Anonymous
    June 01, 2005
    Hmm... jag tycket att man ska se Högskoletiden som en investering som ska räcka (gärna) livet ut. Frågan är om det räcker med två år för att lära sig ett sätt att tänka. Jämförelsen med läkarutbildnngen är intressant: Utbildningen börjar med ca två års teoriblock och sedan forsätter utbildningen på klinik men man släpper aldrig teoribildningen (dvs kunskap på vetenskplig grund).
    Inom data/system vetenskap finns en kunskapsmassa som är större än ngn hinner mästra. Att göra samma urval som industrin gör är lockande men ger detta livslång kunskap och nyskapande?

    Troligtvis räcker det med en kortare utbildning om man vill lära sig nutida och gänse teknologier inom dataormrådet (språk, arkitektur etc) - en slags programmerarutbildninng som man får jobb på. Men frågan är om man behöver Universitet till detta?
  • Anonymous
    June 01, 2005
    Vad är det för fel med det här? (saxat ur KTH kursbeskrivning):

    Civilingenjör - Datateknik

    Målet med utbildningen är att du skall kunna använda och utveckla dagens teknik men också ha det teoretiska djupet för att vara med och utveckla morgondagens teknik.

    Utbildningen inleds med ett basblock av matematik, fysik och mekanik. I årskurserna 3 och 4 väljer du en kompetensinriktning du är intresserad av.

    Inriktningar
    Autonoma system
    Biomedicinsk teknik
    Datasäkerhet
    Datateknikens ekonomi och organisation
    Datorsystem
    Formella designtekniker
    Informationsfilosofi
    Informationssystem och databasteknik
    Intelligenta interaktiva system
    Internetteknik
    Kommunikationssystem
    Människa-datorinteraktion
    Programsystemteknik
    Programvaruteknik
    Publiceringsteknik
    Teoretisk datalogi