0

Bli bättre på programmering – bygg skit!

Hittade en riktigt bra artikel jag vill ta upp till diskussion här i kommande inlägg: (http://blog.programmersmotivation.com/2014/06/19/beginner-programmer-want-learn-programming-start-build-crap/). Den behandlar en fråga som man kan tycka har ett givet svar- vilket inte är verkligheten dock.

Frågan är enkel: hur blir jag bra eller bättre på programmering / ett visst språk / ett visst ramverk?
Svaret är: genom att arbeta med det.

Givet eller hur?

Fast ändock inte helt och hållet. Skulle säga av personlig erfarenhet och erfarenhet från studielivet att många angriper programmering, t.ex. ett nytt språk, på så sätt att -> Läsa bok -> Kunna språket. Vilket oftast är rätt långt ifrån sanningen.

Exemplet skribenten till artikeln ovan ger är enkelt. Hur lär du dig att cykla? Läser du en manual som cykeln, alla dess delar, hur den är tänkt att fungera, vad som händer när du trampar på pedalerna, hur bromsarna fungerar? Svaret är nej, du hoppar upp på cykeln och börjar trampa. Förmodligen ramlar, förmodligen vinglar, men blir med tid och övning successivt bättre ju mera tid du lägger på att träna och utvecklas.

Han utvecklar sedan sitt resonemang att på samma sätt måste man se på programmering. Oavsett om man förstår syntaxen och hur man rent teoretiskt skulle kunna använda språket, måste man dra igång sin editor / IDE och börja hacka för att få praktisk erfarenhet, ”bakslag” i form av kod som inte fungerar som tänkt, göra sig bekant med sin debugger osv.

Nästa fråga är: vad ska jag bygga?

Här liknar skribenten sina tidigare program med sina första teckningar. När man som liten stolt visade upp sina konstverk, skulle man snarare idag inse att de ser ut som skit. På samma sätt fungerar den tidiga kod man producerar, vilket är en del i inlärningskurvan. Det viktiga är att man faktiskt gjort något. Man har tagit tag i programmeringen, aktivt sökt svar på problem, producerat och samtidigt lärt sig.

Gör fåniga saker, onödiga, saker som redan gjorts (så länge det inte gör någon form av copyright-överträdelse), miniräknare, anteckningsapp.

Vad detta gör är även att höja din motivation som utvecklare. För även om dina tidigare kreationer är skitdåliga, har du slutfört något. Du har byggt en applikation, webbplats etc. som faktiskt kan köras och fungerar.

Vad bygger jag för skit?

För att avrunda det här inlägget så tänkte jag ge ett litet exempel på vad jag ofta bygger när jag nosar på ett nytt språk, eller ramverk/backend som skiljer sig en bit från det jag gjort tidigare. Exempel, att gå från Web Forms till MVC, eller Web Forms till att köra Node.JS

Jag bygger en gästbok ofta följt av en anteckningsapplikation. Gästboken ger en bra grund att stå på då man får implementera full CRUD-funktionalitet, arbetar man med språk/ramverk där JavaScript är inblandat också, får man även ett ypperligt tillfälle till att arbeta med asynkrona anrop mot det nya språk/ramverk man arbetar med. Det är en stabil startpunkt helt enkelt.

Anteckningsapplikationen sedan bygger egentligen vidare på de kunskaper man anskaffat sig genom att implementera CRUD-funktionalitet för sin gästbok. Bland annat vill man lägga till medlemshantering, administrationsvyer osv.

Med båda dessa i bagaget har man sedan fått känna på språket/ramverket en hel del och är redo att bege sig in på mera avancerade projekt och fördjupa sig. Eller varför inte gå tillbaka och börja refaktorera sin kod? Säkerligen dyker massor av saker upp som kan förbättras.

Nu är mina exempel rätt kopplade mot webben, men samma typ av applikationer kan faktiskt utan problem byggas även i konsolmiljö, eller varför inte i något GUI. App för Android och iOS?

0

Sista rycket

Sommaren och ledighet börjar närma sig, rent agendamässigt redan här om ~7 veckor. Förvisso har jag valt att söka ett par sommarkurser, men räknar inte dem som ett måste direkt. Dessutom kommer jag nog bara tacka ja till en av dem, för att hinna få så mycket ledig tid som bara möjligt. Kurs av rent intresse alltså, C++, så har jag sedan bekantat mig med en hel del språk inom C-familjen efter det.

Men de 7 veckor som är kvar känns riktigt tunga nu måste jag säga. Vädret har slagit om, det är varmt ute och ljusa dagar igen, snart även nätter. Likt man ställer fram klockan en timme lagom till våren, ställer UT utemöblerna, ställer man även UT motivationen.

Tror det sitter i att när man bor i dessa breddgrader blir årstiderna så pass påtagliga att det även ställer om vissa parametrar i huvudet. Det är som att värme och ljusa nätter kopplar ur pluggen till produktivitet, motivation och inspiration. För att sedan 10-15 veckor senare koppla in den igen och leva på urpluggningen resterande veckor av året.

Det finns andra aspekter av sommaren också. På många sätt en IRL-reboot, som ger tillfälle till förändring och förnyelse. En period för att hinna fundera, planera och exekvera tankar och idéer. Själv ska jag flytta, igen. Känns som att jag gjort det en hel del de senaste 4-5 åren- men det hör också till. Har under den perioden hunnit med en hel del, saker som både toppat och dalat.

Jag har också en romantiserad bild av just att flytta. Det är återigen början på något nytt. Ny stad, nytt boende, nytt jobb, nya kontakter och vänner. Faktiskt, är det nog en av de bästa saker jag vet- man får det så konkret att man rör sig framåt och inte står stilla och stampar. Jag kommer nog ha väldigt… väldigt svårt för att en dag slå mig ned på en plats permanent.

Eller så är det helt enkelt som det så ofta är, att man inte kan se så långt in i framtiden och försöka föreställa sig sina känslor då. Trots allt baseras ens persona på historia i strävan efter hur framtiden bör te sig- fantasier där det perifera ibland infaller, men alltsomoftast inget- eller åtminstone, starkt förändrat.

0

Påsk

Skönt med påsk och lite ledigt ett par dagar!

Arbetar för fullt med läsårets sista kurser, en av dem ett större projektarbete som är riktigt intressant och roligt att arbeta med. Har valt att fördjupa mig i .NET och C# då det är vad jag vill arbeta med när Microsoft ringer upp mig och erbjuder mig anställning i Silicon Valley… Stockholm / Göteborg fungerar det med. Mitt nummer, eller mail finns under filken ”om mig”, bara så att ni rekryterare vet liksom… *hrm*.

Som sagt, det är kul och givande att få arbeta med det man vill och förverkliga något jag funderat en längre tid på att sätta samman. Kastar upp resultatet här och i min portfolio efter kursavslut!

Annars- rullar på. Ansökan inför hösten är inlämnad, försöker räkna på om man kan tillgodoräkna lite utav alla tidigare kurser jag läst för att få ned 200% till 150% i alla fall. Blir slitsamt i längden att ligga på i en så hög takt konstant. Hur roligt och intressant det än är, finns det annat man vill göra emellanåt än att plugga. (Dock om du är rekryterare så kan du ignorera detta, då kan du läsa att jag älskar att arbeta, helst 16 timmar om dagen, ring!).

Men som sagt, nu tar jag ledigt tom måndag – I’ll Be Back.

0

Insnöad

a75V7Xx_460s

Galet vad det har snöat senaste veckorna. Från att knappt ha snöat alls under hela senhösten och början av vintern – vräker det ner vareviga dag nu. Vet inte vad min day-streek med skottning av bilen ligger på nu, men bra högt är det! Samtidigt rätt bra också att det får vara vinter på riktigt ett tag, så naturen hinner ställa om sig ordentligt efter årstiderna och att midsommar inte innebär att det mesta redan blommat över. Det är det sista som behövs efter en svensk vinter.

Lång men intressant vecka som vanligt, rätt kämpigt att hinna med i all litteratur och få tid till allting – men ligger helt i fas i alla fall så helgen kommer nu ägnas till lite Skyrim (passande med snöovädret utanför) kanske (nope, fortfarande inte kört igenom hela!). Dessutom ska jag sätta upp en bättre standardmall för laborationer i C# – då den jag har nu inte riktigt passar in längre.

Vad som är bra med en standardmall är att mycket av det man behöver i form av utseende och struktur redan finns på plats, så man direkt kan börja hoppa på utformandet av sina affärslogiklager istället. Spar in tid och man slipper göra om samma sak för varje delmoment eller laboration, vilket är smidigt.

0

Nothing is ever easy

Inget är någonsin enkelt, visdomsord från Zedd (Sanningens Svärd). Det här med verklighetsuppfattning är intressant, tänker ofta på hur man trodde sig veta allt av värde redan som 16 åring. Och visst kanske grundpelarna i det mesta förblir detsamma, men det är kompliceringen av allt som har så många olika vägar att man aldrig kommer förstå livet fullt ut.

I alla fall. Har arbetat vidare lite med mitt projekt, roligt att förena nöje (kodning/design) med att utvecklas allteftersom (djupare kunskaper). Känns också bra att få en växande portfolio att visa för framtida arbetsgivare. Leker runt med lite allt möjligt i programmeringsväg, men det är fortsatt .NET C# som verkligen biter sig fast. Mycket på grund av att det är roligt att koda i det för att inte tala om att det finns så mycket verktyg som gör arbetet enklare. Ta som exempel WebMatrix som gör det så enkelt och effektivt att snabbt utveckla och sjösätta en webbplats.

0

Drar ned lite på aktiviteten

Har märkt att tiden numera helt enkelt inte finns för att driva och hålla en bunt webbplatser uppdaterade och aktiva. Det är ett tidskrävande jobb att såväl hålla kod som innehåll igång överallt hela tiden – i kombination med såväl jobb som studier. Så har helt enkelt dragit ned en hel bunt med sidor idag och kommer bara att behålla bloggen och ett par andra hobbyprojekt. Intresset är det inget fel på alls, brinner fortfarande för webbutveckling. Men tror att jag kommer kunna effektivisera såväl lärandet som kvalitén på de projekt jag arbetar med genom att minska ned kvantiteten.

Bloggen som sagt är dock inget som kommer att påverkas av detta. Ser snarare detta som en av de mest lättskötta projekten/webbplatserna då allting snurrar på WordPress och i mångt och mycket sköter sig självt. Ja, förutom att skriva inläggen då – det lär jag trots allt fortsatt göra haha!

Planen framöver är mestadels att fortsätta experimentera med en rad olika tekniker, fördjupa mina kunskaper i .NET C# och eventuellt också arbeta med att förfina kunskaperna gällande design. Jag hoppas på att kunna kombinera detta på något sätt också med mina studier – vi får se helt enkelt vad framtiden håller, men det känns skönt att få mera fokuserade projekt nu framöver.

0

Sommar

Ytterst längesedan jag faktiskt skrev något här, undrar dessutom just hur många gånger nu jag börjat ett inlägg på just det sättet. Men det har vart mycket som vanligt att hinna med och i ärlighetens namn så, visst händer det saker hela tiden men i första hand är inte detta någon ”hallå bloggen, idag har jag vart på P&L” blogg. Eller så kanske det beror på en form av integritet i konflikt med att ens befinna sig på nätet? Förmodligen en kombination av de båda med en stor nypa tidsbrist.

I alla fall. Det är sommar, eller ska vara det i alla fall. Huruvida man verkligen kan kalla det sommar hittills går att diskutera, regn, regn och åter regn med ett antal soliga dagar som kan räknas på en hand. Det känns lite bistert måste jag säga efter en lång Norrlandsvinter, att bli snuvad på den välbehövliga sommaren och värmen inför ännu en lång och kall vinter – som det ser ut är enda lösningen att fly landet för en stund. Vi får se, kanske blir så mot hösten när hoppet helt om varma soliga dagar dött ut i lövens fall.

Nytt ämne. Jag har hittat tillbaka till kodningen igen efter endast sporadiska impulsprojekt under ett par år. Jag antar att det i grund och botten handlat om just att fokus legat på allt förutom det och att inget omkring i vare sig studier eller liv haft minsta koppling till kodning eller webbutveckling. I första hand så är det dock inte webbutvecklingen jag gått tillbaka till, även om den finns där, utan .NET och C# – utvecklande av programvara för Windows. Nu får jag det att låta som att jag sitter och svänger ihop avancerade program och snart, snart skall förbereda dem för försäljning. Nej, det är lite på sidan om plugg kan man säga där jag försöker hinna med att lära in grunderna igen, samt givetvis utveckla dessa. Har vart inne och sniffat på såväl Python som Java – men gillar såväl syntax (väldigt lik Java som jag också gillar) som självfallet Visual Studio – plus att samma språk går att använda till just, webbutveckling om jag så vill. Kommer förmodligen att satsa på att lära mig Java mera ingående framöver också, i och med likheten i syntax skulle det kännas givande att behärska båda språken.

Mvh Robert