Så blir du en bra programmerare

I hjärtat av Norrköping, med utsikt över vackra Motala ström, sitter Ramin och teamet på Digitalcap. I det öppna kontorslandskapet arbetar en kompetent skara utvecklare, säljare och marknadsförare. Tillsammans med konsulter ute på projekt utgör de Digitalcap-familjen.

Ramin grundade Digitalcap tillsammans med Daniel Palombo och idag erbjuder techbolaget en mängd olika digitala lösningar till företag. Sedan starten 2017 har företaget växt med stormsteg och i takt med det har behovet av duktiga programmerare ökat.

Skapa nya förutsättningar

Likt andra branscher är det tufft av vara nykläckt programmerare. Arbetsgivare kräver kunskap, en kunskap som många gånger mäts i erfarenhet, där flest år ger dig jobbet. Det kan kännas hopplöst, men Ramin är optimistisk. Det finns andra sätt att öka sina chanser på. Han har själv lyckats.

Ramin beskriver sin femåriga utbildning och sammanfattar den som sådan; i skolan lär du dig hur du lär dig snabbt. I arbetslivet får du lära dig resten. Men med rätt driv kan du lära dig på egen hand och alltid ligga steget före, trots bristen på erfarenhet. Google är din bästa vän.

Han får det att låta enkelt, men faktum är att Ramins tips kan ta dig långt. Genom att vara självlärd ökar dina chanser och du kan förändra spelplanen. Plötsligt konkurrerar du med seniora programmerare och har lika stor chans som dem att få jobbet. Du har examen och kunskapen. Resten kommer med tiden.

Ramin talar av erfarenhet. Mycket av den kunskap han idag besitter kommer från timmar av research.
– Jag brukar säga att kan du googla kan du lära dig allt. Testa dig fram och programmera hemma. Du lär dig av att prova och förbättrar samtidigt dina odds, säger han.

Erfarenhet är alltså inte allt, utan även Google kan ta dig halvvägs.

Att förstå helheten

Programmering handlar om att lösa problem. En skicklig programmerare är medveten om det och förstår vilka medel som krävs för att lyckas. Ramin berättar hur han kännetecknar en duktig utvecklare.
– Om en utvecklare förstår sig på cykeln i hur man arbetar och har kunskap om de verktyg som krävs, är det en bra programmerare. Personen kan lösa de flesta problemen, säger han.

C++. Java. C#. Programmeringens värld av system, verktyg och termer kan för den utomstående framstå som en djungel. Det är en komplex värld där alla delar samverkar. Men för Ramin och andra duktiga programmerare är det en plats full av möjligheter, där yrket blir roligare ju mer du lär dig. För att platsa bland seniora programmerare måste du bevisa att du förstår hur alla delar hänger ihop och vilka metoder som löser de olika problemen.

För Ramin går det snabbt att avgöra om en programmerare är skicklig. Han förklarar. Några till synes enkla frågor, kan med rätt person, leda till komplexa och intressanta diskussioner. Men frågorna i sig är inte viktiga, utan det är svaren som intresserar Ramin. Hur problemen diskuteras, vilka lösningar som föreslås och hur verktyg och språk används är avgörande. Med god kunskap vet du till exempel att C++ är ett avancerat språk och inte krävs för att bygga en hemsida. Däremot har du förståelse för när C++, eller andra avancerade system, bör användas.

En eftertraktad programmerare kan ett av de mer avancerade språken. Då går det att lösa det mesta. Samtidigt blir det lättare att lära sig andra delar. Däremot är inte det mest avancerade alltid det bästa. Det hela beror på uppgiften och även där särskiljer sig duktiga programmerare från resten. Genom sina frågor vet Ramin vilken kategori utvecklaren tillhör.

Metoder och arbetssätt

För att arbeta effektivt underlättar det att använda särskilda verktyg och arbetssätt. Ett verktyg, som varje programmerare ska känna till, är GIT. Utan den kunskapen står du på ruta ett. GIT är ett versionshanteringsprogram som gör det möjligt för flera programmerare att arbeta samtidigt, utan att behöva oroa sig. En fil med 2000 rader kod får inte plötsligt försvinna. Det är det fina med programmet. Allt sparas, likt en historik, där du alltid kan gå tillbaka till tidigare versioner.

Ramin fortsätter och berättar att programmering i ett projekt kan delas upp i fyra olika faser. Han beskriver det genom Continuous Integration (CI) – cykeln för projektet och den cirkulation som sker i arbetet. Syftet med CI är att beskriva hur arbetet sker, från idé till slutprodukt. Till en början har produktägaren en idé som ska förverkligas. För att göra det krävs bestämmelser om vad som ska göras och vilka krav som finns. När den informationen är dokumenterad påbörjas arbetet. Programmeraren börjar utveckla och koden arbetas fram. I projekt arbetar dessutom programmerare ofta tillsammans och det är därför viktigt att spara allt som görs. Därför används versionshanteringsprogrammet GIT i fas två.

När koden är skapad påbörjas bygget. Genom ett annat system, som också är uppbyggt på en mängd kod, gås den nya koden igenom för att godkännas. Om allt är grönt kan projektet raskt gå vidare till steg fyra. Men riktigt så enkelt är det inte alltid. Ny funktionalitet kan göra att den gamla koden säger ifrån. Därför genomförs en mängd olika tester, till dess att allt är godkänt. Därefter är det dags för releasen och koden ifråga skickas upp till servern. Produktägarens idé är slutförd.

Ramin tystnar. Programmering är ett stort ämne och kan diskuteras i timmar, men någonstans måste vi avsluta. Det sista tipset han delger är att lära sig det agila arbetssättet scrum. Åsikterna kring detta må vara delat, men Ramin har själv upptäckt att detta arbetssätt fungerar utmärkt när han arbetar med utveckling.

Behov

Lösning

Resultat

Kan du GIT, Continuous Integration och Scrum är du en bra programmerare som kan lösa diverse problem. Programmeringsspråket är inte det viktiga, till det har du Google!

Ramin Assadi

CTO
No items found.

DIGITALCAP

Framtiden är redan här!