Python-utvecklare: Stor guide - Löner, ramverk, utbildningar m.m

Python är språket på allas läppar. Enligt mätningar från Stack Overflow är Python det absolut snabbast växande språket just nu - tunga affärstidningen Forbes noterade en ökning med hela 456% under det senaste året. Giganter som Google, Instagram, Spotify är bara några få exempel på företag som använder Python i sina program och tjänster.

Python lanserades av Holländaren Guido van Rossum i slutet av 80-talet men fick vänta till -00 talet innan den riktiga succen blev ett faktum. Guido döpte språket efter sitt favorit tv-program, Monty Python, med motiveringen att han tyckte att programmering helt enkelt ska vara något roligt.

Språket har ett oerhört brett användningsområde och är ett bra redskap när du till exempel vill automatisera återkommande uppgifter, till machine learning, dataanalys, spel, appar, ja till det mesta faktiskt. Oavsett vad det är för projekt som ligger framför dig så brukar Python kunna fixa biffen. Kör du fast finns det dessutom en stor community att vända sig till.

Det är ett objektorienterat språk med fokus på effektivitet som hämtade inspiration från C++ och Java. Det har blivit populärt för sin enkelhet med ren kod utan en massa klammerparenteser och krusiduller. Dessutom är det relativt enkelt att läsa av, även för utvecklare med mindre erfarenhet.  

Varför Python?

Varför har Python blivit så populärt?

Det finns många anledningarna till varför Python ökar kraftigt just, men några specifika faktorer har hjälpt ge språket en extra skjuts.

Data science - behovet av att kunna samla, läsa av, och organisera data har aldrig varit större, eller enklare för den delen. Med Python får du ett språk som klarar av att göra alla delarna utan att blanda in andra språk.

AI/Machine Learning - är en annan gren som växer och Python kan vara det språket som lämpar sig bäst till detta. Några av språkets starkaste egenskaper är just att ta fram, processa och arrangera data. Den tydliga koden gör att du enkelt hittar mönster i din kod vilket i sin tur gör det smidigare att skriva intelligenta algoritmer.

Pålitliga bibliotek och ramverk - Språket har många färdiga paket och bibliotek vilket helt enkelt gör en stor del av jobbet åt dig. Eftersom många kända stora företag använder många av dessa verktygen kan du dessutom känna dig trygg i att dom levererar.

Efterfrågan av webbappar ökar - den ökade efterfrågan av webbappar fortsätter öka. Dessutom är det många utvecklare som har förstått styrkan i Python och därför gått över till att använda det i större utsträckning än förut. Att språket dessutom är eftertraktat på marknaden har lett till att många lär sig Python som sitt förstaspråk. Allt detta ger i sin tur fler ringar på vattnet.

Löner

Det är mer än framtiden som ser ljus ut för dig som Python-utvecklare. Om vi tar en titt på lönestatistiken så ser även den strålande ut. Som vanligt hittar vi de högsta lönerna i Stockholm. För er som bor i Malmö finns det dock ingen större anledning till att deppa då detta skulle kunna bero på en sån enkel sak som att det är avsevärt mycket dyrare att bo och leva i Stockholm.

50 300:- Stockholm

44 400:- Göteborg

43 100:- Malmö

Kända sajter som använder Python

Känner du dig fortfarande osäker på om Python är värt att lära sig bör du ta en titt på den gedigna listan med exempel på kända sidor som använder språket.

  • Google
  • Spotify
  • Facebook
  • Instagram
  • Dropbox
  • Reddit
  • Quora  

Ja, ni förstår ju. Python är mer än en trend, det är här för att stanna.

Ramverk och bibliotek

Django eller Flask?

När det kommer till ramverk för webbutveckling finns det två stycken som lyser lite starkare än de andra, Django och Flask. Båda är mycket kompetenta, men angriper problemen på lite olika sätt.

Django - ramverket för perfektionister med en deadline, lanserades 2005. Open source, med lättläst, ren kod vilket i slutändan sparar en hel del tid och tid är ju som alla vet pengar. Det ger dig som utvecklare möjligheten att snabbt få en känsla av strukturen på ditt projekt samtidigt som du får tillgång till de rätta verktygen för att kunna genomföra dina ideer på ett snyggt sätt. Django är en helhetslösning med många färdiga bibliotek och moduler.

Något som fattas är däremot stöd för realtids appar som är ett måste för saker som online betting eller online multiplayer spel.

Flask - Amir Ronacher, från den internationella programmerar gruppen Pocoo står som grundare och har varit tillgängligt sedan 2010. Det är ett mikro ramverk med fokus på frihet, minimalism och kontroll och kan därför vara ett bra val för den mindre erfarne programmeraren. Det kommer med få inbyggda funktioner som på så sätt ger dig som utvecklare total frihet över vilka tillägg och moduler du vill använda.

Så, hur avgör du vilket ramverk som passar bäst för just ditt projekt? Vi har sammanställt några grundläggande riktlinjer:

Storleken på projektet

För stora och omfattande projekt rekommenderas Django, då allt som du behöver finns inkluderat. Djangos tydliga struktur gör det dessutom enklare om du skulle behöva byta programmerings teamet längre in i projektet.

Sitter du däremot på ett mindre projekt kan Flask upplevas som ett smidigare och mer flexibelt alternativ.

Typ av projekt

Planerar du att bygga en enklare app med ett innehåll som inte behöver uppdateras så ofta är Flask rätt verktyg. Ska du däremot dra igång en webbshop eller en webapp med mycket media bör du istället kika på Django då det redan innehåller moduler som lämpar sig för just detta.

Slutsats

Båda ramverken är byggda för snabb utveckling. Flask ger dig friare tyglar i val av add-ons och moduler. Django lämpar sig till större projekt. Eftersom Django har funnits längre på är det enkelt att få svar på frågor som kan tänkas dyka upp - det finns även ett stort utbud av tredjeparts tillägg. Django kommer dessutom med många inbyggda funktioner som kan ta tid att lära sig ordentligt, vilket också bidrar till en brantare inlärningskurva. The WakaTime Blog summerade det hela såhär “Pirates use Flask, the Navy uses Django.”   

Andra populära ramverk

Även om Django och Flask är det två vanligaste ramverken så betyder ju inte det att du behöver låta dig begränsas där. Kolla in de här ramverken, kanske lämpar de sig bättre för just ditt projekt.

Bottle är ett mikro-ramverk som består av endast en källfil vilket gör det till ett bra nybörjar-ramverk. Det är ett lysande verktyg att använda om du snabbt vill testa några nya ideer utan att behöva sätta dig in i en massa komplicerade funktioner.

Pyramid är precis som Django, open source och lämpar sig för större webbappar och projekt. En viktig skillnad är att Pyramid även är smidigt att komma igång med så att du kan starta smått och sedan utveckla till något större när behovet finns.

Web2py är ett full-stack ramverk med en open source, precis som Django och Pyramid. Det kräver inga installationer utan körs via deras webbaserade IDE, med inbyggda funktioner som debugger och code editor. Än så länge fungerar det dock inte med Python 3.

Tornado - Om Django känns för stort och Flask för litet så kanske Tornado är ramverket du är ute efter. Det kommer med en lagom stor mängd färdiga paket som, tredje parts “social login”-funktion och har stöd för asynkron kommunikation.

Pandas skiljer sig från de tidigare nämnda ramverken då det är ett verktyg som används inom data science. Eftersom data science är en betydande genre för Python-användare så slänger vi med dom också. Med Pandas blir det smidigt att samla in och analysera data. Ramverket kan läsa av information från till exempel en .CSV fil och strukturera upp informationen i tydliga kolumner.

Populäraste kompetenserna

Uppgifterna är framtagna med hjälp av statistik från Demandos egna rekryteringspool. Kortare information om de olika kompetenserna hittar du under bilden.

Linux är ett av de största operativsystemen som skiljer sig en hel del från mängden då det är helt gratis och har en open source som gör det möjligt att anpassa helt efter dina behov.

Git är ett versionshanteringsprogram som hjälper dig och ditt team att hålla koll på vilka uppdateringar som senast gjordes och av vem. Git är vanligt förekommande och därför en oerhört viktig kompetens.

Django - ett av de populäraste ramverken till Python. Scrolla upp om du missade avsnittet tidigare i inlägget.

Docker är byggt som ett hjälpmedel för både utvecklare och systemadministratörer. Används för att packa ihop program till så kallade containers och gör det möjligt att köra programmet oavsett operativsystem. Programmet blir dessutom lättare vilket i sin tur gör det smidigt att distribuera.

Data Analysis - seglar under samma flagga som Data Mining och är en process som innebär att man helt enkelt granskar och analyserar data. Detta är mycket användbart för att få fram viktigt information som sedan lägger grunden för besult som ska fattas.

AWS - står för Amazon Web Service. AWS erbjuder en rad olika molntjänster som lagring, analys, appar och distribuering.

Machine Learning - olika metoder för att få datorer att “lära sig” nya grejer genom mer eller mindre avancerade och intelligenta algoritmer. Läs gärna Demandos stora AI/Machine Learning-guide om du känner för en djupare inblick.

Jenkins - är ett serverbaserat system skrivet i Java. Utvecklades för att automatisera olika uppgifter vid software utveckling.

Bash - kommandotolken som levereras till alla Linux- och macOS system. Namnet Bash är lite av en ordvits då det skapades för att ersätta Bourn - Bash står alltså för Bourne Again Shell.

Tensorflow är ett matematiskt bibliotek som hjälper dig att styra flödet av data. Det är ett vanligt verktyg för dig som håller på med Machine Learning och neurala nätverk. Det är open-source och utvecklades av Google Brain Team och var egentligen tänkt att användas internt, men släpptes till allmänheten 2015.

Flask som nämndes tidigare i inlägget är alltså ett av de populärare ramverken som används till Python. Scrolla upp för en djupare inblick.

Grafana är visualiseringsverktyg som hjälper dig att ta fram snygga staplar  för dig som sysslar med analyser och som dessutom uppskattar

Ansible är ett management verktyg som hjälper dig att automatisera en rad olika uppgifter som backups, konfigurationshantering, server- och molntjänster, och distribuering av appar. Det har en open source och är känt för att vara enkelt att lära sig.

Algorithms är en beskrivning på hur du från ett specifikt utgångsläge tar dig igenom uppgiften genom ett begränsat antal steg. Algoritmer skriver du med hjälp av ett programmeringsspråk, t ex Python och är en grundläggande kunskap för utvecklingen av AI.

Populäraste Frontend teknikerna

React.js är utan tvekan den stora favoriten bland front-end-teknikerna och föredras av nära 50% av Demandos användare. Angular.js ligger på en andraplats med ca 26%.  

Populäraste databas teknikerna

Staplarna talar sitt tydliga språk. Veteranen MySQL kniper förstaplatsen med 42,5% medans PostgreSQL knappar in ca 10% enheter under.

MySQL har många år på nacken och är idag det populäraste databashanteringssystem. Det är open-source och helt gratis. Den stora communityn jobbar ständigt på att göra systemet så bra som möjligt, vilket gör det till ett mycket kompetent och stabilt verktyg.

PostgreSQL utvecklades på Barkley Computer Science Department i Kalifornien och är känt för att vara ett kraftfullt databashanteringsystem med många avancerade funktioner som även fungerar på alla betydande plattformar.

MongoDB är en dokument-orienterad databas. Vilket innebär att den spara all data i separata dokument istället för i kolumner och rader.

NoSQL omfattar en stor mängd databas-teknologier som utvecklats för att kunna möta dagens krav vid utveckling av moderna webbappar. Precis som MongoDB är det dokument-orienterat.

Podcasts

Radions tid är förbi, för varför ska du behöva lyssna på en massa snack och musik som du inte är intresserad av. Idag finns det minst en podcast till varje tänkbart ämne och givetvis en hel drös som bara snackar Python.

Talk Python to Me Michael Kennedy beskriver sig själv som en författare, talare och ett hängivet fan av Python och MongoDB. Lyssna på hans podcast och kolla in hans kurser!

Python Bytes - även här dyker MongoDB entusiasten, Michael Kennedy, upp. I denna podcasten har han även med sig Brian Okken. Tillsammans lyfter dom allt det senaste inom Python-utveckling.

Podcast.__init__ - tar in framstående personer som använder och jobbar med Python och djupdyker ner i olika ämnen som berör alla delar av språkets ekosystem.

Test and Code - lägger sin fokus på hur man på bästa sätt testar sin kod. Till sin hjälp tar han in personer som verkar i branschen.

Utbildning

Allt pekar på att efterfrågan efter utvecklare som behärskar Python kommer fortsätta att öka, så varför inte satsa på att lägga till Python i ditt framtida CV? Nedan hittar du några förslag på utbildningar.

Online

Code academy är en stor och snygg sida där du kan lära dig många olika språk. Övningarna skriver du i deras webbaserade code editor. Stort utbud av gratis tutorials, men erbjuder även betaltjänster för dom som vill specialisera sig inom ett visst ämne.   https://www.codecademy.com/catalog/language/python

Youtube - eller, “where time goes to die”, är platsen där du hittar oändliga timmar med videos på söta katter och skrikande jätter. Som om det inte vore bra nog, finns det även ett stort utbud av guider och lektioner, helt gratis!

 https://www.youtube.com/user/sentdex , https://www.youtube.com/user/schafer5

Udemy är som en enorm bas fylld med kurser i alla tänkbara ämnen. Kurserna är oftast inte helt gratis, men utan tvekan prisvärda.  

https://www.udemy.com/complete-python-bootcamp/

RealPython är en utbildningssida som enbart riktar sig till dig som vill lära dig Python. Här hittar du allt från nybörjarkurser till mer djupgående utbildningar för dig som redan behärskar språket.

-https://realpython.com/tutorials/basics/

Utbildning i bokform/ebok

GreenTeaPress är något för dig som föredrar att ta till dig ny information i skriven form. Finns att beställa som fysiskt exemplar och ebok.

http://greenteapress.com/wp/think-python/

Svenska utbildningar

Tack vare att Python har blivit mer utbrett, hittar du idag kurser i ämnet även hos de etablerade läroverken.  

Nackademin i Solna erbjuder femveckorskurser i utveckling genom Python. Sista ansökningsdatum 03/10-18.

https://nackademin.se/utbildningar/programmering-i-python/

Göteborgs Universitet erbjuder kurser för lärare inom matematik i årskurs 7-9.

https://ait.gu.se/utbildning/uppdragsutbildning/programmeringskurs-i-python-for-larare

Folkuniversitet har kurser i Python 2 för dig som bor i närheten av Stockholm.

http://www.folkuniversitetet.se/Kurser--Utbildningar/Data-IT/Ovrig-datakunskap/Stockholm/programmering-i-python2/

Dbwebb är en lärande community som erbjuder kurser i bland annat Python.

https://dbwebb.se/kurser