Jeg jobber selv som systemutvikler, og det er utrolig mange forskjellige sub-felter innenfor dette faget. Personlig så har jeg desidert mest bruk for skills i følgende ting:
- C# / .NET (hovedspråk)
- Generell kunnskap om nettverk og serverdrift, primært Windows / IIS og Junos/Juniper (den andre store religionen innenfor faget er Cisco)
- Arbeidsmetodikk: Scrum, Agile, Kanban
- Webdesign og brukergrensesnitt (HTML, CSS, JS, C#, WebGL)
På et helt overordnet nivå, så er det to typer utviklere; in-house-utviklere og konsulenter. Sistnevnte er av typen som jobber for et slags "bemanningsfirma", som leier ut sine utviklere til andre bedrifter. I denne jobben kan det bli mye reising, veldig mye skiftende miljø, nye personer, og du jobber med mange ulike prosjekter - av og til samtidig. Den store fordelen med konsulent-stillingen er at du blir veldig allsidig og får svært bred erfaring. Jeg jobber in-house, som vil si at jeg er ansatt av det firmaet som trenger en utvikler. Jeg får derfor et veldig mye mer personlig forhold til de prosjektene jeg jobber med, og jeg er helt klart en stor tilhenger av å jobbe slik. Jeg får gå mye mer i dybden, og jeg kan i mye større grad forme både prosjektene og bedriften i den retningen jeg føler er best. In-house-jobber er dessverre langt mer sjeldne enn konsulentstillinger, fordi mange bedrifter er skeptiske til å ansette egne utviklere. Man vil heller bare kjøpe en ferdig løsning som funker, og være ferdig med det.
Jeg nevnte innledningsvis at det finnes mange felter innenfor utvikling. Det jeg driver med, som vi ser av lista over, er i stor grad web-baserte verktøy. Det er nettsider som tilbyr mye snedig funksjonalitet. Hensikten er at man slipper å installere programmene på hver enkelt PC i bedriften - alt man trenger er en nettleser. (Selv om verktøyene er web-baserte, så er det absolutt ingen grenser for hva de kan gjøre.)
For å nevne noen andre felter en utvikler kan jobbe på, så har man ren programvareutvikling. Det er selskaper som ansetter utviklere for å lage et nyttig program, for å deretter selge programmet til bedrifter. Du jobber da in-house, men har ikke noe direkte forhold til "kundene" dine (slik jeg har). Dette kan for eksempel være et dataprogram for å styre et hotell (booking, restaurant, resepsjon, kontrollere TV-ene på rommene og så videre og videre). Du har sikkert også hørt reklamene på radio for "Visma E-Accounting"; dette er et sånt type program.
Det finnes også programmeringsjobber hvor du lager software for elektriske bokser. Ta for eksempel TV-dekodere, alarmsystemer, routere og biler - der er det veldig mye programvare, men det er i utgangspunktet ikke selve programmet som er produkter man selger. Dette er ofte jobber som er preget av veldig mye integrasjonsarbeid, hvor du skal få to ulike systemer til å snakke med hverandre.
En siste ting jeg kan nevne, som antakeligvis er et long shot, er et spennende, "nytt", felt som vi kommer til å se mye av i årene fremover. Jeg jobber i internett-bransjen, og vi har bøttevis av nettverksingeniører som jobber med nettverk. I dag, så er nettverk i stor grad kontrollert av store switcher som har egne operativsystemer og tonnevis av konfigurasjon (ref. Junos/Juniper). Dette er veldig tungt og i mange tilfeller veldig manuelt arbeid. Det som vil skje i akkurat denne bransjen er at switcher og routere i nettverk vil bli software-styrt, og da vil nettverksingeniørene bli byttet ut med utviklere. Vi har ikke klart å få til IPv6 helt ennå, så dette her vil antakeligvis ikke bli vanlig kost før du er godt ute i arbeidslivet, men hvem vet.
Grunnen til at jeg skribler såpass mye er bare for å gi deg noen tips til ord og uttrykk du kan legge merke til. Hva vil du jobbe med, hvordan vil du jobbe med det, og hva kan de ulike studieretningene tilby? Mye av det du lærer på skolen om IT er utdatert innen du får deg en jobb, så du vil nok uansett komme borti mange generelle fag - men det er lurt å skaffe seg et overordnet bilde på hvordan bransjen ser ut, så fort som mulig.
Når du er 16, så antar jeg at du er på VGS i øyeblikket, og der skal det være en rådgiver du kan prate med. Du kan også sende en mail til de ulike skolene for å få tak i mer informasjon. Skader aldri å spørre.
Helt til slutt; jeg skrev også at jeg for det meste bruker C#, men jeg har også fått bruk for veldig mange andre språk underveis. Vil bare poengtere dette før noen sier at C#, eller hva som helst annet, er det ENESTE språket du trenger i arbeidslivet. Jeg bruker C#, SQL, HTML, CSS, JS (med
masse ulike biblioteker), PHP, Bash, Python, Java, PowerShell, VB.NET, ASP, PERL med mer. Jeg tviler på at skolen vil lære deg alt dette, så det å ha interesse for faget og tukle med programmering på egenhånd er bra.