Category Archives: Utvikling

Det kan jeg og – snart!

«Oi, det der så kult ut», tenker jeg ofte når jeg ser ny teknologi – uavhengig av om det er et fjernstyrt helikopter, en kul effekt på en webside eller en app. Etter det følger som regel: «Hvordan kan jeg lage noe tilsvarende?»

Merk måten det spørsmålet ble stilt på. Det er ingen tvil der om at det er mulig, og det er ingen tvil om at jeg kan klare det. For teknologi er til for å deles, og det er ingen grunn til at ikke du skal få til det andre har klart.

For tiden arbeider jeg med et hovedprosjekt der vi utvikler en iPhone-app. Dette krever at Mac benyttes som arbeidsverktøy – en type maskin jeg ikke har tatt i siden jeg var ti år gammel, og ingen av oss utviklere har noen gang forsøkt å programmere på den. Likevel kastet gruppen vår seg på utfordringen og lovte å levere en app på et språk vi ikke har sett eller vært borti før. Spørsmålet som dukker opp, er hvordan det er mulig å lære seg et (nytt?) programmeringsspråk uten å ha noen særlige forkunnskaper. For å illustrere vil jeg benytte meg av iPhones iOS som eksempel.

Det første jeg ville svart på et slikt spørsmål, er «google er din venn.» Bruk søkemotorer for alt det er verdt. For å komme i gang kan man starte med noe enkelt. iphone tutorial gir 130 millioner treff, og jeg er sikker på at mange av de første sidene beskriver oppsettet av et skikkelig utviklermiljø som du vil ha behov for. Alle disse sidene er skrevet av brukere eller utviklere som selv har erfart hvordan det er å starte med et nytt språk. Istedenfor å følge et pedagogisk løp i en lærebok kan det hende at akkurat det du lurer på er beskrevet kort og konsist på nettet.

Når utviklingsmiljøet er klart, er det viktig å få med seg den grunnleggende teorien bak programmeringsspråket.  Det er kjedelig å sitte og programmere en stund, og så finne ut at du har kastet bort mange timer på unødvendige operasjoner, som enten må kastes fordi de ikke er «best practice», ineffektive eller skaper uventede problemer. Referer til språkets opphav, som i mitt tilfelle var Apples iOS Developer Guide. Still også spørsmål til søkemotoren for å få en mer jordnær forklaring på det du lurer på. Slike guider kan ofte være tunge å lese, men kan lønne seg i lengden. Når du føler deg ferdig eller blir utålmodig, kan du sette opp en enkel «Hello World»-applikasjon for å ha prøvd deg frem litt.

Start direkte på det du egentlig ønsker å lage. Det er ingen vits i å sitte og kjøre gjennom en halv million forskjellige tutorials for å lære deg det grunnleggende. Dette vil komme underveis, og så lenge du har teorien å støtte deg til, vil antallet feilsteg være minimale. Det vil ikke være mulig å forberede seg på alle problemstillinger du møter. «Hva skjer om jeg blander disse to modellene?» vil alltid være spennende å se resultatet av, og det lærer du kun ved å prøve ut akkurat det tilfellet. Prøv å søke etter problemstillingen du står overfor. Fra starten av kan det for eksempel være så enkelt som «hvordan får jeg vist frem en tekstboks oppe til venstre, samtidig som jeg skal ha et bilde til høyre?» Det er langt fra sikkert at noen andre har stilt akkurat det spørsmålet før, men etter all sannsynlighet har noen spurt om noe som ligner. Husk alltid å ta høyde for at andre folk har andre innfallsvinkler enn du, og at dersom du omformulerer deg, kan du få en mye større base av svar.

Både tutorials og besvarte spørsmål er ofte veldig spesifikke, noe som bør passe deg bra. Del opp problemene dine i små biter. Da er det enklere å finne en mer generell guide som er enkel å følge.

Ta vare på de sidene du syns er gode. Sannsynligvis er det veldig mye annet nyttig stoff på siden, og det sparer deg for noen dårlige treff på søkemotorer, dersom du allerede vet at siden tilbyr kvalitet.

Ikke vær redd for å stille spørsmål selv. Lag deg en bruker på et forum og spør om det du ikke finner svar på. Det er nok lurt å gjøre grundige søk før du stiller spørsmål, men dersom du ikke klarer å finne et svar, er det nok veldig interessant for mottakerne å se hva problemstillingen din er. Hva er vel kulere enn en nøtt ingen har knekt?

Til syvende og sist er det bare deg selv det står på. Hva ønsker du å lære, og hvor mye ønsker du å legge i det? Holder det for deg å kunne sette opp en iPhone-app som skriver navnet ditt, eller vil du lage nye Angry Birds? Sett deg grenser, og strekk deg etter mål. Bruk ressursene dine på skolen, i nettverket ditt og på Internett.

Dersom du behersker å lære deg nye ting kjapt og får til det du, eller en eventuell kunde, måtte ønske, vil du være godt rustet for arbeidslivet. Det er en av arbeidskvalitetene jeg personlig setter høyest, og det bør du også tenke på!

Har du andre gode tips eller noen kommentarer? Diskuter gjerne med meg, for dette er noe jeg ønsker å bli bedre på!

5 kommentarer

Filed under Utvikling