Gå til innhold

Hvordan kan jeg bli en bedre programmerer?


Anbefalte innlegg

Jeg har en 3-årig informatikk-utdanning (Java og C# var de to største språkene jeg var borti). Jeg studerer en 2-årig master i informatikk idag. Folk forventer at jeg kan programmering. Men jeg synes programmering er noe jeg er svak i. Jeg klarer å løse de fleste oppgaver jeg får, men i gjengjeld bruker jeg altfor lang tid på å løse oppgavene. En blanding av forståelse, og det at jeg ikke kan språkene jeg har lært i studieperioden godt nok. I tillegg til det har mye gått i glemmeboksen. Jeg må hele tiden slå opp ting hvis jeg skal løse en oppgave. Drevet med lite programmering utenom skoletiden, ganske sikker på at det er en av hovedfaktorene i hvorfor jeg er så svak.

 

Et eksempel er while (utfordring) - tråden. Mange av oppgavene er noe jeg burde klare å løse, men jeg synes det er veldig vanskelig. Dette er ting jeg kan bruke mange timer på, og da gjøre mye research på forhånd til hvordan jeg skal gå frem. Det er greit å slå opp ting, men med bakgrunnen min innen programmering burde jeg klare å løse slike oppgaver innen korttid (selv når jeg slår opp ting).

 

Nå studerer jeg jo en 2-årig master, og det er ikke lenge til jeg skal ut til arbeidslivet. Innen da ønsker jeg å bli en bedre programmerer, en bedre problemløser. Ønsker å ha evnen til å løse/komme opp med en løsning til komplekse oppgaver innen kort tid.

 

Jeg lurer derfor på om dere har noen tips til hva jeg kan gjøre for å bli en bedre programmerer? Hvordan kan jeg bli bedre til å analysere et problem (som de ulike utfordringene i while (utfordring) - tråden)? .

 

Ekstraspørsmål - Dette semesteret er Python og PHP to av språkene jeg skal bruke på skolen. Ved siden av det ønsker å programmere på fritiden, så jeg lurer på om dere har noen anbefalinger til språk jeg kan bli bedre på? Plukke opp noe nytt, eller fortsette på det jeg kan fra før (java og C#). Et språk jeg kan si jeg "mestrer". Hva slags språk bør jeg lære godt nok før endt utdanning?

 

Forslag til noe jeg kan lage i fritiden, som også jeg kan vise fram på CV-en? Et eksempel kan være en web-applikasjon (tenkte et enkelt forum), med angularJs (for å lære meg JS) og ruby (har hatt lyst til å lære meg det språket), java (hvis det finnes noen gode rammeverk for web) eller C#/.NET.

 

Takk for at dere tok dere tid til å lese! :)

 

tl;dr - har en 3-årig informatikk-utdanning (tar master nå). Jeg er en veldig dårlig programmerer/problemløser, dårlig til å analysere problemstillinger, glemt utrolig mye fra bachelorutdanningen.

Er ute etter tips til hvordan jeg kan bli en bedre programmerer, bedre analytiker, evnen til å kunne løse problemer innen kort tid! Språk jeg bør lære meg godt nok før arbeidslivet, forslag til prosjekt jeg kan drive med på fritiden (f.eks webapp, eller mobilapp). (ble litt lang tl;dr)

Endret av iPlay
Lenke til kommentar
Videoannonse
Annonse

Som rasjonelt sier, ikke fokuser på å bli mester i et programmeringsspråk. Sats heller på å bli flink til å programmere. Dette betyr å lære nye konsepter - og konseptene kan gjerne brukes i alle språk.

 

En ting man kan se på er grafteori. Se hvordan du kan bygge grafer og trær - samt lære deg ulike søke algoritmer og fordelene og ulempene med de forskjellige. Og gjerne implementere et par selv slik at du virkelig forstår det.

 

Kanskje se på paralell-programmering, fordeler og ulemper med dette. Hvordan man skriver kode for det - og spesielt hvordan man kan unngå "Race conditions" uten å ødelegge for mye ytelse. Også greit å få en følelse for hvilke oppgaver det er naturlig å paralellisere - og hvilke som ikke er det.

 

Man kan og se på databaser. Her er det mye å lære. Alt fra SQL-databaser, hvor man ser på oppsett og normaliseringer samt hvordan man skriver gode spørringer som henter den dataen du trenger (men fortsatt ta hensyn til ressursbruk).

Endret av etse
  • Liker 1
Lenke til kommentar

Når det gjelder Java, C#, Python og PHP så er de så like at de praktisk talt er samme språk (nå overdriver jeg veldig), så det handler egentlig ikke om å bli bedre i ett språk, men om å bli bedre til å programmere.

 

Det er to måter:

1. Finn ut noe du virkelig har lyst til å lage, og begynn på det. Slå opp nye algoritmer når det trengs. Begynn helt på nytt når det trengs.

2. Løs "frittstående" oppgaver og utfordringer, f.eks. fra bøker og internett.

 

Alternativ 1 er overlegent best, for da har man en "indre" motivasjon. Noen anbefaler at man begynner med prosjekter som er på "sitt" nivå, men jeg synes det er viktigere at man virkelig har lyst til det man holder på med. Spiller ingen rolle hvor vanskelig det er. Det vanskelige i programmering er dessuten å holde orden og "videreutviklbarhet" i store/vanskelige prosjekter, og den eneste måten å bli god på det er å trene, lære av sine feil, og gjerne lese litt om det man holder på med underveis. Altså så du leser om det du programmerer, istedenfor alternativ 2, som er at du programmerer det du leser om.

  • Liker 1
Lenke til kommentar

Du har det ikke så travelt, iPlay, det tar gjerne 10 år å lære seg programmering.

 

Vil ikke oppfordre til å ikke bekymre deg over hvor raskt du finner løsninger. Det er bedre å skrive bra kode enn å bli ferdig raskt. Det er det samme med håndverkere, hvem ønsker du skal fikse hjemme hos deg? De som du må klage på, eller de som gjør jobben ordentlig fra starten av?

Endret av rockPaperScissors()
  • Liker 1
Lenke til kommentar
Gjest Slettet-qfohT7

Du skal ikke være en mester i å programmere ut av skolen, ingen blir det. Utdanningen legger grunnsteinene for å kunne lære seg mer i arbeidslivet. Trening gjør mester. De aller fleste må slå opp ting til enhver tid også etter skolen. Trikset er bare å vite hva du ser etter, og hvor du skal finne det ;)

 

Som jeg har nevnt tidligere også, selve kodingen er bare sjarmøretappen. Arbeidet med å forstå hvordan ting skal løses før du tenker på språk er mye viktigere, altså metodikk.

 

Jeg hadde en 3-årig Bachelor utdanning da jeg gikk ut i arbeidslivet, og ser jeg tilbake på ansettelses tidspunktet, så vil jeg jo si at jeg ikke kunne en dritt :) Men det er viktig å ha den tekniske forståelsen for faget, og det vet arbeidsgivere også.

 

Men klart, er du helt ubrukelig, så er det bare trening som gjelder..hehe ;)

Endret av Slettet-qfohT7
Lenke til kommentar

Takk for mange gode råd! Dette er ting jeg skal ta med meg videre fremover. :) Skal lese litt om de ulike tingene som har blitt nevnt her (grafteori f.eks), og finne frem de gamle databasekunnskapene mine.

 

Å lage en enkel versjon av reddit hørtes kult ut, mulig jeg begynner der. Og da kommer det et par ting jeg lurer på; hvordan begynner jeg? Har tenkt sånn cirka på teknologier jeg skal bruke. Si at jeg har mye klart (modellering, uml), planlagt mye altså. Spørsmålet er hvordan jeg "henter" reddit data inn til min enkle utgave (som subreddits, tråder, kommentarer til tråder).

 

Jeg ser at reddit har et API, antar dette er noe jeg skal bruke? Har aldri drevet med API-programmering før, så lurer litt på hvordan jeg skal begynne. Noen som kort kunne skrevet hvordan jeg begynner her? Om dere kunne nevne noen stikkord til teknologier, så kan jeg prøve å finne frem ting selv.

 

Takk på forhånd! :)

Lenke til kommentar
Gjest Bruker-182691

Takk for mange gode råd! Dette er ting jeg skal ta med meg videre fremover. :) Skal lese litt om de ulike tingene som har blitt nevnt her (grafteori f.eks), og finne frem de gamle databasekunnskapene mine.

 

Å lage en enkel versjon av reddit hørtes kult ut, mulig jeg begynner der. Og da kommer det et par ting jeg lurer på; hvordan begynner jeg? Har tenkt sånn cirka på teknologier jeg skal bruke. Si at jeg har mye klart (modellering, uml), planlagt mye altså. Spørsmålet er hvordan jeg "henter" reddit data inn til min enkle utgave (som subreddits, tråder, kommentarer til tråder).

 

Jeg ser at reddit har et API, antar dette er noe jeg skal bruke? Har aldri drevet med API-programmering før, så lurer litt på hvordan jeg skal begynne. Noen som kort kunne skrevet hvordan jeg begynner her? Om dere kunne nevne noen stikkord til teknologier, så kan jeg prøve å finne frem ting selv.

 

Takk på forhånd! :)

 

Programmering er nok mye vanskeligere enn du tror, det er lurere å hoppe over programmering med bruk av eksterne API i første omgang.

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...