Lärdomar från Pycon Sweden 2024
På Magello är kompetensutvecklingen första medborgaren i rummet där den anställda själva får styra sin utvecklings resa tillsammans med sin konsultchef. Genom att till exempel åka på konferenser, gå kurser eller egen studietid. Så konsulter kan erhålla kompetens på arbetstid för att få en hållbar fördelning mellan arbetet och fritid.
Pycon Sweden 2024 är en konferens för IT-utvecklare där temat är problemlösning i programmeringsspråket Python, som i år hölls på Clarion Hotel Stockholm under två dagar. Per Hagsten och Erik Forsgren besökte konferensen för första gången i år och delar här med sig av sina lärdomar för den intresserade.
Mässan erbjöd två spår, ett med föreläsningar och ett med labbar. Vi valde spåret med föreläsningar och här kommer några guldkorn som vi tar med oss till både till vårt nuvarande kunduppdrag och till framtiden:
Dokumentation av kod och olika markup-språk
Dokumentation har alltid varit en knäckfråga på våra uppdrag som konsulter. Dokumentationen ska skrivas men hamlar allt som oftast skym undan. Vi vill belysa de här föredraget Documenting Python Code : (slides) om dokumentationsverktyg
-
Nedan följer några guldkorn från Dokumentationen bör behandlas som källkod och finnas åtkomlig för IDE:en och därmed existera i versionshanteringssystemet.
-
Dokumentation ska alltid vara i text format, därmed går binära format så som Word och Confluence bort. Ty människor ofta glömmer att uppdatera dokumentationen när den inte är lättåtkomlig.
-
Markdown är idag en av de mest populära dokumentations språken, men det är egentligen det enda som talar för det. En väldigt negativ aspekt är en uppsjö av dialekter, och därmed avsaknad av standard. Några intressanta alternativ till markdown är:
-
AsciiDoc
-
ReStructuredText
-
MediaWiki
Då dokumentation alltid kan vara värdefull för alla anställda oavsett domänkunskap så tar vi med oss de här guldkornen till våra kunder för att förbättra deras arbete.
Hur kan vi hjälpa kvinnor och immigranter att komma in i Tech-branschen i Sverige?
Ett tankeväckande föredrag om Emigreats arbete med att hjälpa kvinnor och nyanlända att övervinna de hinner som idag finns att komma in i Tech-branschen i Sverige.
Aktiviteter som arbetsgivare kan utföra för att underlätta för kvinnor och nyanlända att komma in i Tech-branschen är:
-
Öppna upp för att internationella internships.
-
Sträva efter att ha kvinnliga eller människor med invandrarbakgrund som mentorer på arbetsplatsen för att främja inkluderingen och bidra med nya perspektiv.
-
Skapa resursgrupper på arbetsplatsen för minoriteter.
-
Håll utbildnings sessioner för chefer och anställda för att man ska lära sig att upptäcka sina förutfattade meningar.
-
Besök ungdomsklasser i skolan för att tidigt introducera Tech-yrket och främja att flera unga flickor väljer STEM-utbildningar.
Magellos slogan, “Fungerande mjukvara - Fungerande samhälle” är ett brett begrepp om hållbarhet. Ett fundament för hållbarhet är allas lika värde i samhället, någonting som ibland kan vara svårt att realisera i praktiken. Därav vill vi ta upp de här föredraget då de framhäver praktiska åtgärder som vi kan ta med oss till våra kunder för att driva utvecklingen framåt.
Site reliability engineering i praktiken hos Wolt
Wolt hade en intressant dragning om hur de använder SRE i praktiken för att underlätta för jourpersonal under nätterna.
De flesta utvecklare kommer i kontakt med jour på obekväma arbetstider under sin karriär. De flesta kan säkert känna igen sig i känslan av att vara osäker på hur man ska klara upp ett larm på småtimmarna!
Vettiga metrics som man alltid bör känna till om sin applikation är:
-
Mängden ungefärliga samtidiga användare
-
Vilka fallbacks finns om någonting går sönder i din applikation.
-
Symptom på de vanligaste felen.
-
Antalet förväntade anrop/sekund till dina applikationer.
-
Förväntad latens i din applikation för en användare.
Om du som utvecklare känner till dessa så blir de lättare att upptäcka fel och förstå fel.
Ett annat tips var vilken information som de tycker är väsentlig när man får ett larm under jourtid.
-
Vad är business impact av larmet?
-
Är de ett falskt larm eller något som kommer lösa sig automtiskt.
-
Hur mår underliggande infrastruktur
-
Vilka metrics kan hjälpa mig att felsöka felet?
-
Vilka åtgärder kan jag behöva göra för att lösa felet?
-
Vem eskalerar jag till om jag inte lyckas lösa felet själv?
Vi kommer ta med oss dessa guldkorn till vår nuvarande kund för att vidareutveckla sättet vi arbetar på under jouren över storhelgerna.
Tidstämplar och timezone best practices
Tid, tidzoner och så vidare är svårt. Alla programmerare kan säkert känna igen sig i att man har gjort något antagande om tid som sedan visat sig vara fel. Den här listan flyter runt på internet och innehåller exempel på antaganden som programmerare gör: Falsehoods programmers believe about time. Vi vill lyfta fram detta brandtal av vår kollega Petter Salminen, som på ett humoristiskt och passionerat sätt belyser problematiken. Där han pratade om vikten av att vara noggrann med hur man representerar tid och datum i sina applikationer. Samt att inte försöka uppfinna hjulet själv när de kommer till tidzoner och hur man räknar på tid.
-
Ett riktigt brandtal från vår kollega Petter Salminen som handlade om Till exempel så är datum och tidsstämplar föga värda om de saknar time zone information.
-
Tidzoner beter sig inte alltid som man tänkt sig därför ska man alltid försöka använda tzdata paket i Python.
-
Relativitet kan spela roll i din applikation, ett exempel på detta är klockor som sitter i GPS-satelliter.
-
Hur hanterar din applikation: skottår, sommar/vinter-tid, att andra länder startar på olika veckor nummer? Gör inga antaganden utan använd färdiga bibliotek för datum och tid.
-
Nyttja paketet freezegun i dina tester för att simulera tid i din Python kod.
Här är ett smakprov av föredraget som lighting talk.
Väl mött
Per och Erik
Med vår kostnadskalkylator kan du få ett ungefärligt pris på vad din app eller webbsida skulle kunna kosta.