Gå til innhold

Sliter med å finne nok utviklere. Det kan tvinge «årets startup» ut av Norge


Gjest Marius B. Jørgenrud

Anbefalte innlegg

For meg er et fokus på språk når man snakker om systemutvikling et tegn på at man angriper problemstillingen på helt feil nivå. Når noen snakker om en flink snekker er det ingen som bryr seg om hvilke verktøy han bruker.

 

Er man ikke snekker, så er man lite interessert i hvilke verktøy snekkeren bruker for å bygge huset, men for snekkeren er det jo fremdeles vesentlig å bruke riktig verktøy til rett jobb, og at snekkeren kan bruke verktøyet, for å gjøre en god jobb.

 

For de som ikke kan programmere, og som besøker en nettside, bruker en app eller et hvilket som helst program på en datamaskin, så spiller det liten rolle hvilket språk det er skrevet i.

For utvikleren bør det dog være temmelig elementært at man benytter det rette språket til den rette jobben, og at man kan språket godt, for å gjøre en god jobb.

Det holder liksom ikke å kunne rekursjon og noen algoritmer for å lage en Android app, man må faktisk kunne Java, å vite hvordan ting gjøres.

Lenke til kommentar
Videoannonse
Annonse

 

Poenget er at man - om man har lært seg CS på et skikkelig nivå - forstår prinsippene bak så godt at implementasjon blir greit uansett paradigme og språk (etter litt tilvenning såklart).

 

Det er jo forsåvidt greit nok at visse basiskunnskaper gjør det enklere å lære nye språk.

Har man først lært seg ett C-lignende språk og forstår det elementære, så er det selvfølgelig enklere å lære seg et annet C-lignende språk, men det betyr fremdeles ikke at man automatisk forstår alle nye språk.

 

Har man lært seg Java, forstått rekursjon, variabler, datatyper, lister, trær, heaps og hva det ikke for noe alt sammen, lest spesifikasjonen og forstått de vanligste bibliotekene, så har man en hel del grunnleggende kunnskap som er lik i de fleste språk.

Det betyr likevel ikke at man kan lære et hvilket som helst annet C-lignende språk, si for eksempel C# eller JavaScript, uten å også lese spesifikasjonen, bla igjennom det meste på MDN eller MSDN, å bruke noen uker på å forstå hvordan ting fungerer, minst.

 

Skal man virkelig forstå et programmeringsspråk, tar det år, ikke dager, ofte er det store forskjeller i hvordan ting fungerer desto mer av språket man lærer seg.

 

Nå kan det også være at det bare er meg som er ufattelig treg, eller ikke forstår programmering i det hele tatt?

Hver gang jeg skriver noe som helst som er relatert til programmering på Diskusjon dot no, så finnes det alltid noen som har lært seg tre programmeringsspråk på tre dager, og hevder jeg ikke aner hva jeg snakker om, og at det er såre enkelt å bli utvikler.

 

 

Det er en enorm forskjell på "prinsippene for X er slik at ..." og "i språk Y gjør man slik...".

 

Kan man prinsippene, kan man finne ut hvordan man gjør hva (best practice) i ulike språk, men man vet hvordan man gjør hva.

 

Kan man ett språk, må man ikke nødvendigvis vite hva som er prinsippene, og vet ikke nødvendigvis hvordan man gjør hva, utover å tilfeldigvis stable noen tegn i riktig rekkefølge. Man vet kanskje ikke engang hvorfor man stabler tegna i denne gitte rekkefølgen. Man vet heller ikke om det faktisk er korrekt at man stable tegna i den rekkefølgen denne gangen, eller om man skulle stablet de annerledes.

 

Det er rett og slett ikke en dobbelt-implikasjon her.

Lenke til kommentar

Steria - er ikke det kjent for å skulle ha 100 nye medarbeidere i hver artikkel. Så hvorfor er de ikke større? Slutter alle etter 1 år?

 

http://www.proff.no/selskap/sopra-steria-as/oslo/it-konsulenter-og-r%C3%A5dgivning/Z0ISLTAM/ - 1390 ansatte i år.

 

https://www.digi.no/artikler/tjener-mindre-men-ansetter-flere/205728 - 420 ansatte i 2009.

 

Økning på 970 på 8 år - altså godt over 120 ansatte i året samt at store konsulenthus som Sopra Steria har relativt høy turnover. Så jo, Sopra Steria har definitivt klart å vokse det de har påstått at de har ønsket å vokse, og mer til.

 

De har også en (relativt sett) høy andel 45+ ansatte og høy andel kvinner.

Lenke til kommentar

 

Gi meg en utvikler som forstår SOLID, forstår at kode er til for at mennesker skal lese den og teknisk gjeld må betales tilbake så har vi en stjerne uansett språk.

 

SOLID sier du? Hva mener du med SOLID? De betyr til dels forskjellige ting i forskjellige språklige paradigmer. Og løses innimellom VELDIG forskjellig.

Her er definisjonen på SOLID, som er temmelig spesifikk.

https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

 

Uansett, jeg ser ikke etter noen som har pugget SOLID, men forstår du prinsippene der er du bedre enn 90% av utviklerene i verden og kan settes til å gjøre det meste.

Lenke til kommentar

SOLID er jo uansett bare en buzzwording av det som alltid har vært fornuftig. Stadig nye navn på de samme gamle tinga :)

 

For meg er det viktigste noe av det som sies tidligere i tråden her: Kode er primært til for å leses av mennesker. Mange "eksperter" feiler på dette og skriver uleselig kode som kanskje gir 20% høyere ytelse, men som koster masse i etterkant fordi den er vanskelig å forstå. Da foretrekker jeg gode generalister som skriver vedlikeholdbar, klar og enkel kode uten smarte triks. Så får man heller gjøre unntak de gangene de siste 20 prosentene virkelig teller, men det er jaggu ikke ofte.

 

Noe av det jeg husker best fra da jeg lærte dette faget er professoren som prenta inn i oss at "cpu-tid er veldig mye billigere enn utviklertid".

Endret av Audun_K
Lenke til kommentar

SOLID er jo uansett bare en buzzwording av det som alltid har vært fornuftig. Stadig nye navn på de samme gamle tinga :)

 

Definisjonen på Buzzword er "A buzzword is a word or phrase that becomes very popular for a period of time". Nå har SOLID levd med oss siden tidlig 2000 tallet så om det er ett buzzword er vel diskutabelt.

 

Prinsippene i SOLID er fra før den tid og er også godt dokumetert. Fordelen med ordet SOLID er som i Gang of fours pattern bok, vi får en felles forståelse for det som er der, de samme gamle tinga.

 

Jeg synes det er bra at vi oppretter felles ord for forståelse, så lenge de er meningsfylte og har konsistens. SOLID er meget presist og konsistent og er ett bra verktøy for å ha f.eks en samtale med noen for å diskutere CS prinsipper.

Lenke til kommentar

 

SOLID er jo uansett bare en buzzwording av det som alltid har vært fornuftig. Stadig nye navn på de samme gamle tinga :)

Definisjonen på Buzzword er "A buzzword is a word or phrase that becomes very popular for a period of time". Nå har SOLID levd med oss siden tidlig 2000 tallet så om det er ett buzzword er vel diskutabelt.

 

Prinsippene i SOLID er fra før den tid og er også godt dokumetert. Fordelen med ordet SOLID er som i Gang of fours pattern bok, vi får en felles forståelse for det som er der, de samme gamle tinga.

 

Jeg synes det er bra at vi oppretter felles ord for forståelse, så lenge de er meningsfylte og har konsistens. SOLID er meget presist og konsistent og er ett bra verktøy for å ha f.eks en samtale med noen for å diskutere CS prinsipper.

 

Altså, prinsippene i SOLID ble grundig beskrevet sånn cirka rundt 1930...

 

Så har noen plukka opp det igjen og gjort det litt halvsnuskete og buzzy i senere år.

 

GoF er per definisjon DRITT!

 

SOLID og GoF er halvferdig møkk for å fikse ett problem. Nemlig at det finnes for mange som ikke kan programmere, og at man ikke kan OOP, i tillegg til at OOP (med noen få språklige unntak) MÅ fikses med patterns og en haug med regler, best practice etc.

 

Utenfor OOP er det ikke så mye snakk om SOLID og patterns. Og i hvert fall ikke GoF.

 

Lambda calculus og propositional logic er grener innen matematikk, som i teori er 100% mappbart til programmering. Slenger man på kategori-teori så er koden så godt som bevislig korrekt (for så vidt uten også...).

 

Og nei man må ikke nødvendigvis kunne dette for å kode, men det hjelper mye å vite litt om det.

 

Og merk at det er en STOR forskjell på å finne opp "prinsipper" (lokale som for eks GoF) innen computer science og oppdage prinsipper (universelle og faktiske også LIKE for eventuelle aliens andre steder i universet som de fleste andre naturlover!)

 

Så å drive med koding som IKKE er universell, er litt som å regne med newtonsk fysikk, og tru man kan bygge GPS-systemer med det. Jeg vet ikke engang om det er mulig, jeg tviler, men det blir uansett jævlig unøyaktig!

 

Beviset er jo alle sikkerhetsbrudd i alle inkarnasjoner i (nesten!) alle systemer. Spesielt i de systemer der man har OOP eller verre.

 

I kode utenfor OOP har man eksempler på nedetid (ja det er også relatert til (drifts-)sikkerhet!) på noen få minutter over 20 år.

 

Det er jækla solid!

 

Endret av Roger Olsen
Lenke til kommentar

 

 

SOLID er jo uansett bare en buzzwording av det som alltid har vært fornuftig. Stadig nye navn på de samme gamle tinga :)

Definisjonen på Buzzword er "A buzzword is a word or phrase that becomes very popular for a period of time". Nå har SOLID levd med oss siden tidlig 2000 tallet så om det er ett buzzword er vel diskutabelt.

 

Prinsippene i SOLID er fra før den tid og er også godt dokumetert. Fordelen med ordet SOLID er som i Gang of fours pattern bok, vi får en felles forståelse for det som er der, de samme gamle tinga.

 

Jeg synes det er bra at vi oppretter felles ord for forståelse, så lenge de er meningsfylte og har konsistens. SOLID er meget presist og konsistent og er ett bra verktøy for å ha f.eks en samtale med noen for å diskutere CS prinsipper.

 

Altså, prinsippene i SOLID ble grundig beskrevet sånn cirka rundt 1930...

 

Så har noen plukka opp det igjen og gjort det litt halvsnuskete og buzzy i senere år

GoF er per definisjon DRITT!

 

SOLID og GoF er halvferdig møkk for å fikse ett problem. Nemlig at det finnes for mange som ikke kan programmere, og at man ikke kan OOP, i tillegg til at OOP (med noen få språklige unntak) MÅ fikses med patterns og en haug med regler, best practice etc.

 

Lambda calculus og propositional logic er grener innen matematikk, som i teori er 100% mappbart til programmering. Slenger man på kategori-teori så er koden så godt som bevislig korrekt (for så vidt uten også...).

 

Og nei man må ikke nødvendigvis kunne dette for å kode, men det hjelper mye å vite litt om det.

 

Og merk at det er en STOR forskjell på å finne opp "prinsipper" (lokale som for eks GoF) innen computer science og oppdage prinsipper (universelle og faktiske også LIKE for eventuelle aliens andre steder i universet som de fleste andre naturlover!)

 

Så å drive med koding som IKKE er universell, er litt som å regne med newtonsk fysikk, og tru man kan bygge GPS-systemer med det. Jeg vet ikke engang om det er mulig, jeg tviler, men det blir uansett jævlig unøyaktig!

 

Du er nok for smart for meg.

Lenke til kommentar

Det eneste interessante jeg har fått vite ut fra denne artikkelen om hvilke arbeidsoppgaver som er i vente er at det er snakk om store mengder data, men samtidig så ser jeg at de bruker python til backend. Python er jo fint det, men om det er det som er i bruk for å håndtere store mengder data så kan det vel ikke være snakk om så store mengder med tanke på hvor tregt python er...men nå kan det jo være lagring det er snakk om og...

Når du bruker numpy til databehandling er ikke ytelsen så dårlig som du skal ha det til. I tillegg blir koden både leselig og lett å vedlikeholde. Og om det viser seg at et par ting kan løses 1000 ganger kjappere i C, så kan disse C-snuttene fint integreres i Python.

I mange tilfeller er algoritmen en større flaskehals enn språket som er brukt. Og jo mindre tid en bruker på kode-knoting, jo mer tid har en til å jobbe med algoritmen.

Endret av endrebjo
Lenke til kommentar

Så det er enten utviklere i Oslo - eller utlandet?!

 

Jeez - dersom et selskap ikke evner til å se utenfor andedammen i hovedstanden, så evner de kanskje heller ikke til å holde på folk.

 

Det finnes mye bra kompetanse utenfor Oslo - og bortsett fra Tromsø, så er de fleste større norske byer en liten times flytur unna.

 

Det er også ganske kjent at folk blir lengre i stillingen sin i byer som Bergen, Stavanger, Trondheim, Kr. Sand, Tromsø, mv - fremfor å jobbshoppe hvert 2. år som ikke er veldig uvanlig i hovedstaden. Det bør jo være positivt at man slipper å starte med å lære nye folk opp i kunnskapsdomenet titt og ofte...

 

Jeg er sikker på de kunne spart mye penger på å tilby konkurransedyktig lønn her i Tromsø i hvertfall. Visst noen tilbyr meg 600' i morgen så blir det vanskelig å takke nei. Ja, jeg har erfaring med "python eller lignende høynivå-språk" som Xenata etterspør.

Lenke til kommentar

 

Så det er enten utviklere i Oslo - eller utlandet?!

 

Jeez - dersom et selskap ikke evner til å se utenfor andedammen i hovedstanden, så evner de kanskje heller ikke til å holde på folk.

 

Det finnes mye bra kompetanse utenfor Oslo - og bortsett fra Tromsø, så er de fleste større norske byer en liten times flytur unna.

 

Det er også ganske kjent at folk blir lengre i stillingen sin i byer som Bergen, Stavanger, Trondheim, Kr. Sand, Tromsø, mv - fremfor å jobbshoppe hvert 2. år som ikke er veldig uvanlig i hovedstaden. Det bør jo være positivt at man slipper å starte med å lære nye folk opp i kunnskapsdomenet titt og ofte...

 

Jeg er sikker på de kunne spart mye penger på å tilby konkurransedyktig lønn her i Tromsø i hvertfall. Visst noen tilbyr meg 600' i morgen så blir det vanskelig å takke nei. Ja, jeg har erfaring med "python eller lignende høynivå-språk" som Xenata etterspør.

 

 

Ikke den skarpeste saksa nei...

 

*peker bort fra diskusjonsforum og mot Xenata*

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...