Författararkiv: Eric Henziger

Kurser på Mjukvaruteknik

Inspirerad av Mayukos video i vilken hon går igenom hennes Computer Science-examen på UCSD kurs för kurs tänkte jag göra detsamma för Mjukvaruteknik (U) på LiU. Eftersom jag gick ut 2018 har det hunnit ske vissa förändringar i programmet, men de övergripande dragen är sig lika.

Termin 1

TDDE23 – Funktionell och imperativ programmering, del 1
Första kontakten med programmering på U sker i den här kursen med hjälp av programmeringsspråket Python. Jag hade redan programmerat i Python i ett par år innan jag tog den här kursen så jag tyckte den var jätterolig, men det tyckte de flesta av mina kursare också. Utöver att programmera i Python får man även lära sig om LiUs dator-miljö, och lära sig lite bash, scriptspråk och kommandoprompt i Linux, och Emacs, en texteditor som är bra men lite annorlunda.

TATA65 – Diskret matematik
En av de roligare matematik-kurserna med bra synergier till första programmeringskursen och datavetenskap i allmänhet. Fick lära sig ett och annat om permutationer och kombinationer m.m.

TDDD70 – Ingenjörsprofessionalism, del 1
Kursen Ingenjörsprofessionalism går i långsam takt över de första tre åren. I kursen tas olika ämnen upp som berör ingenjörsrollen, bland annat social kompetens, ledarskap och etik. Till varje ämne skriver man en reflekterande text om sin inställning till att vara ingenjör. En ”flumkurs” enligt vissa men de individerna brukar inte klara sig så bra med studierna i helhet så det är mer av en mognadsfråga om man gillar den här kursen eller inte.

TDDE25 – Perspektiv på data- och mjukvaruteknik
En kurs med lite av varje inom datavetenskap med roliga projekt. När jag gick kursen gjorde vi en AI till spelet XPilot, men numera kan man även programmera AIs till Starcraft II.

TDDD72 – Logik
Många nya begrepp och ett annorlunda sätt att tänka på. Logik-kursen lägger grunden för några kommande kurser som t.ex. Formella språk och automatateori och kompilatorkonstruktion så det är lika bra att lära sig den här kursen bra för det får man igen senare. Till tentan får man ta med sig ett kompendium med massa logik-regler så det krävs inte så mycket memorering, bara ett logiskt tänkande 😉

TDDE24 – Funktionell och imperativ programmering, del 2
Fortsättning på TDDE23, med ännu mera Python! Bjuder på en datortentamen på slutet där man får sitta och programmera. Jag fick ett halvt fel på den tentan, och grämer mig fortfarande över det. Vet man inte hur rekursion fungerar sen tidigare får man lära sig det i den här kursen.

Termin 2

TDDD78 – Objektorienterad programmering och Java
Bra kurs med många viktiga OOP-koncept och massa programmering i Java. Föreläsningarna var ett bra sömnpiller men laborationerna och projektet var utmanande och stimulerande, man får till exempel programmera Tetris. Mitt personliga projekt hette ”Seven Letters” och var en sorts hänga gubbe-spel. Jag hade problem med att använda designmönster i mitt projekt så jag fick bland annat ta till Singleton-mönstret. Spelet fungerade tillsammans med ordlistor från Wiktionary och kunde använda reguljära uttryck för att filtrera ord.

Skärmbild av spelet Seven Letters, med dialogrutan för konfiguration av ordlistan

I kursen används IntelliJ IDEA, en av de bästa IDE:erna på marknaden.

TDDD80 – Projekt: Mobila och sociala applikationer
En ökänd kurs pga dess historiskt höga avhopp. Den här kursen har omarbetats i flera iterationer sen jag tog den, men grundstommen är densamma: Du ska lära dig mycket om lite allt möjligt. Webb- och applikationsprogrammering, UX och användbarhetstestning, enhetstestning, kodgranskning och versionshantering. Täcker in många av de områden som man ställs inför i arbetslivet, men är väldigt individuell. Jag gjorde en Android-app som hette Poetry Party, där användarna tillsammans skriver dikter. Dessvärre avslutades projektet innan appen nådde Play Store, för koden var full av buggar.

TSEA28 – Datorteknik Y
Assembly- och lågnivåprogrammering. Har aldrig använt kunskapen jag fick under den här kursen, men den är väl allmänbildande och viktig på det sättet att man ska veta hur en dator fungerar.

TDDD85 – Formella språk och automatateori
En mysig kurs om automater och reguljära uttryck. Bra uppladdning inför kompilatorkonstruktionen om man väljer att läsa den. Likt logiken är det ett nytt sätt att tänka på.

Termin 3

TATA24 – Linjär algebra
En kurs jag la ner mycket tid på, men klarade godkänt med minsta möjliga marginal. Har inte haft mycket användning av linjär algebra i arbetslivet, men det förekommer. Dessutom ger det mycket street cred att vara bra på linalg, mest för att det är så svårt.

TDDC93 – Programutvecklingsmetodik, teori
Mjukvaruteknik är ju mer än bara programmering och i den här kursen får man lära sig lite om kravhantering, design, utvecklingsprocesser (t.ex. Scrum), testning och kvalitet. Inte den roligaste kursen, men inte heller den svåraste. Har man jobbat på ett mjukvaruföretag tidigare, till exempel på ett sommarjobb mellan år 1 och 2 så är den här kursen en bit kaka.

TDDD86 – Datastrukturer, algoritmer och programmeringsparadigm
En stor kurs som täcker in många olika moment, men den absolut roligaste under mina första tre år på programmet. I kursen lär man sig att man inte kan vara naiv om man vill lösa svåra problem, då får man istället vara smart och använda rätt algoritm för jobbet. Man skriver en del C++ och inser att det är språk som har det mesta men som man hoppas slippa i arbetslivet. Jag låg sömnlös några nätter över att jag inte kunde lösa Rotate to root, en kluring om hur binära sökträd ska balanseras, men med lite tips och idéer från min medkursare löste det sig till slut och jag rekommenderar alla att lösa lite Kattis-problem eller liknande för att stimulera intellektet.

TATB04 – Inledande matematisk analys
I den här kursen får man lära sig att skriva matematik på ett korrekt sätt enligt MAI, matematiska institutionen på LiU. Det finns oftast bara ett rätt sätt och det är lika bra att lära sig det här från början så slipper man det fruktlösa käbblet under tentavisningen senare, som annars kommer låta såhär:

Student: Men det är ju uppenbart vad jag menar här!
Examinator: Fast vi är ju inte tankeläsare, därför får du 0 poäng på uppgiften.

Termin 4

TATA41 – Envariabelanalys 1
En rolig men utmanande matematikkurs. Här får du derivera och integrera (glöm inte +C) och enda sättet att lyckas, om man inte är ett matematiskt geni, är mängdträning.

TDDB68 – Processprogrammering och operativsystem
En rolig och allmänbildande kurs med en svår laborationsserie (dubbelpekare är inte intuitivt). Trådar och processer, minneshantering och filsystem och mycket mer. Viktig kurs för att bli en bra programmerare. Minns att jag tyckte om kurslitteraturen Operating system concepts, AKA dinosaurieboken. Mycket memorering till tentan!

TDDE35 – Storskaliga distribuerade system och nätverk
Eftersom jag läst två år nätverksteknik på MDH innan jag började på LiU tyckte jag den här kursen var ganska lätt och rolig, men generellt är den ganska utmanande med mycket att lära sig och göra. Att lyckas väl i den här kursen är nyckeln till framgång, det var så för mig iaf då jag fick möjlighet att vara labbassistent för labbserien under ett par år framöver och sedan skrev exjobb med Niklas som examinator vilket ledde till två publicerade artiklar. Det finns ju dock andra vägar till framgång, men god kunskap om nätverk behövs i princip alltid, så plugga hårt under den här kursen!

TATA91 – En- och flervariabelanalys
På min tid läste vi TATA90 istället för TATA91, och en skillnad är att Taylor- och Maclaurin-utvecklingar är med i TATA91 men var inte med i TATA90. Hursomhelst tyckte jag att den här kursen var rolig och var den enda kursen på MAI som jag fick 5:a i, ett av mina stoltaste ögonblick som student. Jag minns dock att jag spenderade påskledigheten med att plugga den här kursen, och jag minns inget av det jag lärde mig och har inte behövt använda det i arbetslivet heller. Men att lösa matematiska problem ger en inre tillfredsställelse och att applicera det i verkligheten är sekundärt.

Termin 5

TDAB01 – Sannolikhetslära och statistik
En kurs som jag bedömer som ganska svår, jag fick skriva tentan tre gånger innan jag äntligen blev godkänd, men då var jag å andra sidan bara en poäng ifrån 5:a. Det kan helt enkelt vara så att när den här kursen klickar så är det ganska logiskt och trevligt med sannolikhetslära och statistik. Viktig kurs för de som går vidare med maskininlärning tror jag, själv har jag sällan behövt använda mina kunskaper i statistik, men grundläggande kunskaper är viktiga för att förstå omvärlden och inse att människor är typiskt dåliga på att tolka statistik.

TDDC17 – Artificiell intelligens
Bra balans mellan teori (inte så intressant) och praktik (lite mer intressant). Jag fastnade aldrig för AI, men det är ju ett hett ämne så man får väl vara nöjd att det ingick i utbildningen för allmänbildningens skull.

TDDD92 – Artificiell intelligens – projekt
Jag skrev en individuell rapport om Monte Carlo tree search (MCTS) och hade ingen aning om vad jag skrev om, men fick ändå 4:a i betyg på rapporten och 5:a i kursen tack vare ett bra projektarbete, min grupp gjorde en AI för generella spel med hjälp av GVG AI. Nuförtiden tror jag de flesta gör en AI till Starcraft II. Lärde mig att även om plugget ibland känns hopplöst så löser sig det oftast bra om man ringer en vän och ber om hjälp. Blev inte mer intresserad av AI efter kursen, snarare tvärtom.

TDDD37 – Databasteknik
Relativt enkel kurs om SQL och databaser, men lär ut viktiga koncept för att designa en databas på ett korrekt och effektivt sätt.

TFYA87 – Fysik och mekanik
Skrev 0 poäng första försöket på tentan, vilket fick mig att inse att det inte fungerar att bara skriva ner anteckningar från föreläsningar och lektioner och sen komma till tentan och hoppas att man kan få poäng under tentan genom att kolla upp formler i formelsamlingen. Tog revansch genom att spendera en sommar med att faktiskt lära mig lite om fysik, som trots allt är intressant när man väl ger det chansen. Bra kurs om man ska jobba med 3D och spel kanske, men för egen del har jag inte haft någon användning av den och minns mest små fragment av hur man räknar ut tröghetsmoment.

Termin 6

TDDD96 – Kandidatprojekt i programvaruutveckling
Äntligen någonting som är på riktigt! Jag fick göra kandidatprojektet som ensam U:are tillsammans med 8 andra D:are och insåg att de är lite annorlunda men mycket trevliga. Vi gjorde en gullig liten webbapp kallad Knekt och skrev en finfin rapport om det.

TSKS24 – Signaler och bilder
På min tid läste vi TSKS21 – Signaler, information och bilder istället för den här. Jag vet inte varför de tog bort informations-biten som var den roligaste, men kanske för att det är tillräckligt svårt med bara signaler och bilder som det är. Jag minns att jag pluggade relativt mycket inför den här kursen och det var mycket att komma ihåg till tentan och jag har glömt i princip allting. Men nog är det väl så att faltning i tidsdomänen motsvarar multiplikation i frekvensdomänen (se faltningsteoremet). Gillar man den här kursen kanske man skulle läst Y eller D istället för U.

TSRT19 – Reglerteknik
Roliga laborationer och svår teori, en väldigt ingenjörs-nördig kurs. Har inte behövt PID-reglering sedan jag läste klart den här kursen, men reglerteknik har en viss charm.

Master-kurser (Termin 7-10)

När du klarat av de tre första åren har du förmodligen fått en känsla för vad du tycker är roligt och du vill läsa mer om, så jag behöver inte beskriva kurserna i detalj här. Jag läste mest kurser som handlade om programmering och mjukvara och valde profilen ”Storskalig mjukvaruutveckling”. För mer information om U-programmets masterprofiler, se följande länk.

COVID-19: Donald Trump’s Inside Job?

On May 31st, 2017, Donald Trump made a tweet that made people all over the world baffle with confusion. The world learned about a new word not heard before, as the tweet read:

Despite the constant negative press covfefe

While the original tweet was deleted shortly after its publication, the author and his associates made it clear that it was not a typo of any sorts. White House Press Secretary at that time, Sean Spencer, commented ”I think the president and a small group of people knew exactly what he meant.”. The president himself incited the public to figure out the true meaning of ”covfefe”:

In today’s turbulent world, I believe the true meaning of covfefe has unraveled before us. I’ve finally figured it out! Let me spell it out for you:

COrona Virus Full Epidemic Fastly Execute (COVFEFE)

Critics may argue that Fastly is not a word, but let me remind you that this if coming from a man who invents his own words, and Donald Trump has previously used the word bigly.

Shinzo Abe talking with Donald Trump 01

A conspirator might even say that the timing is on point for the covfefe tweet to have been the starting signal for the development of what is now known as COVID-19. However, I would like for people to refrain from indulging in conspiracy mumbo jumbo such as what I’ve written above.

Social media can be a blessing and a curse in times like these. Sadly, people are quick to speculate and share rumors and fake news about COVID-19 with each other on platforms like Facebook and Twitter while trying to figure out how to best protect themselves and their loved ones. While the intention may not necessarily be bad, the execution is often poor.

As I’m writing this post, I feel that it is rather distasteful and should perhaps not have been published. Are you allowed to joke and make fun of Corona? Even if you’re not particularly funny? On the other hand, injecting this into people’s feeds might be what pushes them away from using social media as a news source, although I doubt I have that amount of influence on people. Anyway, I’m done with my hypocrisy and will now return to my natural quiet state.

Be well, be safe, and stay frosty.

Veganska Chocolate Chip Cookies

Jag är ingen Leila, men efter att ha sökt länge och väl efter ett bra recept på veganska chocolate chip cookies, konverterat det från amerikanska till metriska enheter och kommit fram till att kakorna blev väldigt goda kände jag att det var värt att dela med mig av mina insikter till offentligheten.

Chicklit Karatechop Cookies (ca 32 stycken)

Tjonga i följande i en bunke. Blanda ihop ingredienserna till en jämn smet, elvisp funkar bra!

  • 250 g margarin
  • 2,2 dl packat brunt farinsocker
  • 1,1 dl strösocker
  • 4 teskedar vaniljsocker
  • 6 matskedar äppelmos

Därefter behöver du följande torrvaror:

  • 6-7 dl mjöl
  • 2 tsk bakpulver
  • 1 tsk bikarbonat
  • ½ tsk salt

Tillsätt torrvarorna till smeten, ta i mjölet pö om pö och överdosera inte, hellre 6 dl än 7.

Smaksättning

För smaksättningen är man lite utlämnad till vilken sorts vegansk choklad som finns att tillgå. City Gross har ett bra utbud (jag är inte sponsrad) och nedan ges några alternativ listade från bäst till minst bäst:

  1. iChoc Almond Orange
  2. Vit Choklad
  3. Mörk choklad och torkade tranbär

Hacka chokladen till lagom stora bitar (ca 4x4x4 mm) och vänd ner i smeten. Forma smeten till lagom stora bollar och lägg på en plåt:

Kakorna före gräddning

Grädda kakorna i 180°C mitt i ugnen i 10/12/14 minuter för rare/medium/well done. Jag rekommenderar medium well-gräddning på runt 13 minuter, men den exakta tiden beror på ugn och personlig preferens.

Kakorna efter gräddning
Slutresultatet ser inte mycket ut för världen, men smakar väldigt gott!

Receptet är baserat på ett recept funnet på /r/veganrecipies.

ØREDEV 2019

Last week I attended Øredev, a software developer conference hosted in Malmö. With 7 parallel tracks and 17 sessions per track there’s about as many ways to go through Øredev as there are synapses in the human brain. Speaking of brains, mine’s a bit fudgy after the intensive days of conferencing. Therefore, this post will be a bit all over the place, but can serve as a selection of my favorite talks.

Intro to Data Science

Dalya Gartzman held a wholesome presentation on how to get started with Data Science. Through her demonstrations of her own creations, she made it not only seem possible but also very fun to get into the field. If you want to get started with Data Science, have a look at the talk from Dalya or head straight into the resources she presented: word2vec, CS231n, Keras, PyTorch.

Creating Escher paintings using Elm

Another inspiring talk was the one by Einar Høst. As a fan of Gödel, Escher, Bach by Hofstadter, the mention of Escher caught my attention and on top of that Elm is an interesting language. In my notes, I wrote ”What is going on?” and not much more as I had a hard time following the live coding experience. That being said, creating the Escher-inspired art did not require a huge amount of code and I did appreciate the aesthetically pleasing end results. Thankfully, there’s an online workshop available which I hope to go through some day.

TDD in JavaScript

The author of The Art of Unit Testing, Roy Osherove, is writing a new book on TDD with JavaScript. Starting off with the opening line ”Jeg snakker litt norsk”, Roy was a fun and entertaining speaker, with interesting thoughts and opinions:

  • Random input to a unit test is a bad idea, as it requires calculation of the outcome
  • He’s a happy Wallaby customer. Wallaby is a JavaScript TDD tool which indeed looked nice with its fancy colors and instant feedback.
  • Test your test by writing failing production code before writing the final, working, code.
  • VS Code is nice, IntelliJ is better

If you’d like an alternative to Osherove’s books, I’d recommend Obey the Testing Goat by Harry Percival. It’s free for online reading, open sourced on GitHub and covers git and deployment in a good way.

Product Owners – An Impossible Task?

Allan Kelly started off by asking the audience ”Raise of hands – How many of you are working with a PO?” Almost everyone raised their hand. ”Okay, and how many of you think you’re working with an excellent PO?” Almost everyone took their hand down… So that felt a little awkward. Allan then continued on explaining why the task of a PO is almost impossible, and how the task can be made feasible. For details, his talk is available on Vimeo and he’s written a blog post on the topic.

Thanks to the talk, I learned a new english term: ”dogsbody”, meaning someone who does drudge work. (which a PO shouldn’t be doing.) Drudge work would probably translate to ”hundgöra” in Swedish. Øredev had their own dog, Øredev Øredevsson, present during parts of the conference which I unfortunately never had the chance to see.

Scrum Metrics

Stephanie Gasche talked about how to quantify the work of a scrum master. Since I don’t have a Scrum master in my team, I had to take out bits and pieces from the talk and apply it to my own situation. One of the proposed metrics was an interruption tally to keep track of how many times a developer gets interrupted during a day. Since interruptions seems to be something that builds connections/culture/comfort at my workplace, the goal should perhaps not be to avoid interruptions but rather improve the quality of them.

Security

Erlend Oftedal (maintainer of retire.js) presented various ways of attacking a modern web app. A little scary, but interesting. He presented a couple of ways to keep up to date with recent hacking activity, namely by following https://hackerone.com/hacktivity and https://twitter.com/disclosedh1. The attacks included XSLT exploits, template injection, web cache poisoning and much more.

Online Communication

Dr Joanne Meredith presented interesting findings from her studies of online communication. How great is it that smileys, emojis and GIFs have helped us manage the otherwise missing queues of body language in instant messaging. This was probably my favorite talk during the conference (tied with Yuri Malishenko’s talk on Visual thinking) as it brought up many familiar situations I come across in my everyday life of communicating online.

Advent of Code

Eric Wastl comedically explained how his estimate of number of users (70) for Advent of Code turned out to be totally wrong as the project got 5000 users in the first few days and now have grown to hundreds of thousands or so. Eric’s talk was quite timely as advent is just a couple of weeks away. I did a couple of problems last year, and hope to give it another go this year. If you wanna join forces, let me know!

In Conclusion

The best part about Øredev was probably not the conference in itself, but getting to enjoy it together with my colleagues. Being able to have someone to discuss the latest talk with, and relate it to how things work at our own company, made the experience so much richer. I’m very grateful for the amazing people at this awesome company (that being Sectra if you didn’t know already) that I work for.

  • Food 3/5
  • Entertainment 4/5
  • Organization 5/5
  • Will I recommend Øredev to my friends? Yes, in 9 out of 10 times.

Tips inför jobbansökan

Efter en händelserik jobbjaktsäsong har jag mängder med nya insikter och erfarenheter. Därför känns det extra viktigt att ge tid för debriefing som till allas glädje kommer ske här på bloggen i form av en reflektionsrapport. Förhoppningsvis kommer ni som läsare kunna ta del av tips och råd inför egna jobbansökningar. Dessutom, när jag berättar om mina mest intelligensbefriade tillfällen kan det finnas ett visst underhållningsvärde.

Första kontakten

Många verktyg finns att tillgå för att etablera kontakt med företagen du kan tänka dig att jobba hos. En av tungviktarna, LinkedIn, har en profil-inställning som de kallar ”Låt rekryterare veta att du är öppen för nya möjligheter” (länk). För mig hade den inställningen en påtaglig effekt vilket jag tänkte visa med ett litet diagram.

Diagram över antalet sökträffar på linkedin över tid.

Inställningen aktiverades den 9e januari och inaktiverades den 17e februari

Som synes i diagrammet fick antalet visningar ett rejält uppsving i mitten på januari, och det var bara ett musklick bort! Med den ökade exponeringsgraden trillade det också in meddelanden och kontaktförfrågningar från rekryteringsfolk i stil med ”Hej, såg att du söker jobb, vill du komma på karriärsamtal hos oss?” dekorerat med artighetsfraser. För mig var det en jättebra möjlighet att dels få upp ögonen för företag som jag tidigare inte hade nån relation till och dessutom få erfarenhet av rekryteringsprocesser.

Andra alternativ till LinkedIn finns också. Tack vare kurser i designmönster och mjukvarutestning där vi studenter använde plattformen Piazza kom jag i kontakt med Palantir utan någon större ansträngning från min sida (Tack Ola!). Jag tror också att GlassDoor kan vara användbart för jobbsök, även om jag enbart använt det för att kolla upp lönestatistik och läsa saftigt skvaller om olika företag.

Oavsett om man väljer att gå via LinkedIn eller är lite mer pang på och kontaktar företagen direkt så kommer ditt CV och eventuellt personligt brev att dyka upp tidigt på agendan, så låt oss prata lite om det.

CV och Personligt Brev

Mitt CV

  • Använder LaTeX och git för enkel versionshantering.
  • Är baserat på en mall från OverLeaf, se även CV-mallar från ShareLatex.
  • Är två sidor långt.

Under mina intervjuer har mitt CV alltid varit utgångspunkten för samtalet. Mycket fokus läggs på förstasidan där jag har mina främsta styrkor och tyngsta erfarenheter. Jag tycker dock att det är okej att ha ett CV som är längre än en sida, men min erfarenhet säger mig att det är sällan någon läser mer än första sidan. Det finns argument för att ett CV aldrig behöver eller borde vara längre än en sida, om ni vill kan ni googla på ”Elon Musk CV” eller ”Marissa Mayer CV” för lite inspo. Mitt motargument är att det kan vara bra att lämna lite luft i CVt för att ge intervjuaren utrymme för anteckningar under en eventuell intervju, whitespace is not your enemy!

Mina personliga brev

  • Introducerar mig själv
  • Förklarar hur jag fått upp ögonen för företaget eller varför jag söker till dem
  • Är ganska korta (300-400 ord)
  • Berättar om mina främsta egenskaper
  • Innehåller kontaktuppgifter

Personliga brev är ganska tråkiga att skriva och även ganska tråkiga att läsa tror jag. Därför struntar jag ibland att skriva ett och förlitar mig istället helt på CVt, en lyx man kan kosta på sig som civilingenjör men kanske funkar det för andra också. Hursomhelst, om jag ändå skriver ett personligt brev brukar jag försöka justera bilden jag förmedlar av mig själv så att den är i linje med företaget; när jag sökte till Ericsson tog jag upp min nätverksbakgrund men när jag sökte till Potato fokuserade jag istället på mitt intresse inom webbutveckling, ganska rimligt ändå.

Lära känna-intervju

Den första intervjun brukar handla om att företaget får veta mer om dig som person och dina tidigare erfarenheter, men även en chans för företaget att presentera sig själva. Under januari-februari i år gick jag på ca 10 intervjuer och det var lite stressigt ibland men väldigt utvecklande och bra träning. Därför är min rekommendation att tacka ja till de flesta intervjuer även om företaget inte är ett du skulle sökt till självmant.

Ibland går en intervju jättebra och du och intervjuaren har en avkopplad stämning. Nedan är ett utdrag från en av mina favoritintervjuer:

Jag: *Berättar om mitt skifte från nätverksteknik till mjukvaruteknik* — ”… så jag hade rätt bra flyt.”
Hon: ”Bra hjärna kanske? 😉”
Jag: ”Hehe, mm 😍”

Från den intervjun gick jag fylld med energi och självförtroende, men det är inte alltid det går så bra. Här ett par exempel från en intervju där jag i princip låg i brygga från start till slut:

Hon: ”Berätta om något misslyckande i ditt tidigare arbetsliv.”
Jag: *Funderar* — ”Jag kommer inte på något misslyckande från arbetslivet, men jag kanske kan ta ett från privatlivet istället?”
Hurra! Förstaplatsen i SM för dåliga idéer är säkrad! 🏆
Hon: ”Go ahead.”
Om jag hade haft min advokat med mig under intervjun, och det hade inte varit helt otänkbart eftersom det var förhörsstämning under intervjun, hade vi förmodligen tagit paus här och hittat någon nödlösning. Nu hade jag tyvärr varken advokat eller rationellt tänkande till min hjälp.
Jag: *Berättar om svårigheter i en relation. Irrelevant och obegripligt. Hjärtat bankar, rösten stockar sig. Vill börja gråta. Slutar till slut att prata.*
Hon: *Skriver ner sina anteckningar på laptopen.* Vad är 25 gånger 25?

Även om jag kom fram till rätt svar (625) på en ganska imponerande tid låg jag totalt sett på minus under den här intervjun, och värre skulle det bli!

Hon: ”Finns du med i brottsregistret?”
Jag: *Börjar tänka på när jag som 17-åring blev utskälld av en rabiat MC-polis för att jag cyklade utan händerna på styret. Kommer fram till att det nog inte räknas.* ”Nej.”
Hon: ”Du fick tänka efter lite?”
Jag: ”Ja.”
Hon: ”Men du har aldrig blivit dömd för något brott?”
Jag: ”Nej.”

Ja, det var verkligen en underbar konversation vi hade där, konstigt nog hörde de aldrig av sig efteråt. Hursomhelst, under lära känna-intervjuerna vill intervjuaren veta dina styrkor och svagheter. Om du därför vill vara väl förberedd antar jag att du kan öva på att besvara frågor som ”vad tycker du är roligt”, ”vilken roll tar du i en grupp”, ”när blir du stressad” på ett positivt sätt som inte ger utrymme för misstolkningar. Personligen tycker jag inte att det är särskilt roligt att förbereda sig på ett artificiellt sätt, och därför har jag istället satsat på mängdträning i skarpt läge. Ibland blir det katastrof, men från varje intervju har jag kunnat ta med mig lärdomar. Och om intervjuaren inte lyckas använda intervjuns 30-90 minuter för att komma fram till att jag är en självklar anställd så är det deras förlust. Det säger jag inte bara för att jag vill må bättre istället för att vara sur över mina avslag, utan också för att det är viktigt att gå in med självförtroende i en arbetsintervju. (och för att det är sant förstås)

Det mest lärorika med mina intervjuer har varit att jag verkligen fått tänka på vad jag tycker är viktigt i mitt arbete och på en potentiell arbetsplats. Intervjuerna tvingar en att skaffa sig en åsikt om vad man vill i arbetslivet. En annan effekt, och det här kanske är det bästa av allt, är att få nya kontakter och lära känna kanonbra personer. Även om man inte hinner lära känna varandra jättebra på en timme så känns det ändå väldigt värdefullt att ha några extra anknytningspunkter till olika företag i sin bransch. Så för dig som ska söka jobb framöver: Var orädd, ärlig, ha roligt och lycka till!

Re-branding

Jaktsäsongen för jobb närmar sig med stormsteg och jag spenderar stor del av min tid med att leta efter potentiella arbetsplatser och finslipa mitt application game. Av samma anledning som jag inte skulle komma till en anställningsintervju iklädd en lampskärm med en stekpanna över axeln (förklaring kommer) behövde min representation på sociala medier en översyn. För under antagandet att de företag jag kontaktar drar en googling på mitt namn innan de bestämmer sig för att kalla mig till intervju blir mina online-profiler mål för arbetsgivarens första intryck av mig. Det skulle vara ett mastodont-arbete att kurera allt mitt material här på bloggen, twitter och Youtube och jag är inte säker på att det skulle finnas någonting kvar efter det, men det minsta jag kan göra är att ha en profilbild som säger ”Anställ mig!”. Med tanke på råmaterialet innebär det en viss utmaning men till slut blev resultatet detta:

Profilbild av mig hållandes en bok om kompilatorer.

”Wow, vilken anställningsbar person” – Förmodligen alla rekryterare i världen

Med bilden vill jag kommunicera ut att jag är väl bevandrad i datavetenskapens värld, vilket det inte borde råda några tvivel om med tanke på att jag håller i drakboken. En mindre detalj är att jag i bilden har mina glasögon, utan vilka jag bara är en halv människa, hängandes i kragen. Med lite inferens kan man dra slutsatsen att eftersom jag läser utan glasögon borde jag vara närsynt och som alla vet ger närsynthet +10 poäng till INT.

Det är troligt att mina ambitioner med profilbilden sträcker sig långt högre än dess faktiska effekt, men det är åtminstone en förbättring jämfört med föregångarna. På tal om dessa föregångare har jag gjort ett litet homage-kollage av alla profilbilder jag lyckades hitta kopplade till mina konton runtom på internet.

Kollage med profil-bilder: Ölkorv, Vargmössa, Drömmaren, Stekpanna, lampskärm, gråskala, avril, blondie, sailor moon

I den andra kolumnen av bilder kan vi se att jag verkar uppskatta diverse huvudbonader. Raden längst ner tyder på en längtan till att vara blondin och väcker kanske allvarligare misstankar än så. Angående Avril och Sailor Moon som profilbilder har jag beslutat att behålla dessa på de sällsynta ställen jag använder dem för den glädje de ger mig och säkert många andra.

Kanske undrar ni varför jag frivilligt valt att använda alla dessa profilbilder fram tills nu. Efter att ha genomfört den här uppdateringen med att skaffa en ”normal” profilbild tänker jag att det här med att konformitet är svårt. När jag scrollar igenom flödet av ”Personer jag kanske känner” på LinkedIn ser alla (90 % iaf) likadana ut. Inget fel med det, men för mig blir det lite tråkigt. Därför tenderar jag att hamna någonstans inom spektrumet mellan obegriplig och oväntad, för att använda den här bloggens titel, och ibland blir det aningen knasigt. Men med tanke på en profilbilds förgänglighet har jag inte brytt mig så mycket om det.

Jag kommer att tänka på en scen ur den fantastiska filmen The Big Short där Michael Burry, hedgefond-chef, blir konfronterad av en irriterad investerare efter att han satsat många miljoner $$$ på att bostadsmarknaden skulle krascha. Sensmoralen, eller min tolkning av den, är att det finns viktigare faktorer än de ytliga i valet av anställd. Dialogen går såhär:

Irriterad Investerare: So, Mike Burry of San Jose, a guy who gets his hair cut at Super Cuts and doesn’t wear shoes, knows more than Alan Greenspan and Hank Paulson?

Mike: Well, Doctor Mike Burry, yes he does 😀

En annan av mina favoriter; Conan O’Brien (som i sin profilbild på LinkedIn poserar med f.d. presidenterna Bush, Clinton och Roosevelt) var inbjuden till Harvard och svarade på studenternas frågor om karriär och ett av hans svar bygger på hans talesätt “If you work really hard, and you’re kind, amazing things will happen.” De orden resonerar väl med hur jag vill vara som anställd, och är något som jag hoppas min kommande arbetsgivare värderar högt.

Jag är inte i en position där jag kan mäta mig med Burrys genialitet eller O’Briens karisma och kanske har en blomstrande arbetsmarknad för mjukvarubranschen gjort mig vårdslös med hur mycket av mitt narrspel som jag visar i det offentliga rummet. Uttrycket ”kill your darlings” är ju en bra beskrivning på något man helst inte vill göra men inför årets arbetsansökningar hoppas jag kunna visa mig seriös och duglig till spännande och intressanta jobb, utan att för den skull förlora mig själv. 🙂

Årskrönika 2017

Med jul och nyår i antågande har det blivit dags att sammanfatta året som gått. För vad är väl ett årsskifte utan alla dessa krönikor som får oss att minnas de bästa och sämsta händelserna från 2017? Min krönika har förmodligen inte samma stjärnglans som t.ex. SVT:s sportkrönika, men det kommer iaf finnas lite statistik.

I början av året satte jag upp ett gäng mål och utmaningar. Historiskt sett har jag varit tveksam till att sätta upp personliga mål men, och det här är en fullkomligt grundlös förklaring, i takt med att jag börjat leva efter devisen ”Don’t let the perfect be the enemy of the good” anar jag att mål hjälper mig att göra ”nåt bra” istället för att vänta på ”något perfekt” som aldrig kommer hända.

Bloggen

Sedan april 2015 har jag fört besöksstatstik här på bloggen. Det är inte så farligt som det låter; du som läsare läser ett blogginlägg vilket ökar på en räknare med ett snäpp. I början av det här året tänkte jag att baserat på 2016 års tillväxt jämfört med 2015 borde jag i år kunna nå upp till 2 miljarder läsare vilket skulle innebära en ökning med 38% jämfört med 2016. Siffran 2 miljarder är några storleksordningar större än det faktiska värdet, men det spelar inte så stor roll. Med tanke på att jag i 2016 skrev ”Ett öppet brev till Linköpings universitet” som är något av ett one hit wonder som gav många visningar runt publiceringen men som inte genererar visningar över tid skulle det krävas en del jobb att nå upp till det här målet.

Så kom februari och med det även ”Dating 101” vilket engagerade mina läsare mer än något annat inlägg tidigare gjort, jag blev till och med bjuden på middag och än idag kan jag jag få frågor om vad som hände sen. Även om det är ett av mina personliga favoritinlägg lyckades det inte få samma spridning som ”Ett öppet brev till LiU” så det stod klart att det både kvalitet och kvantitet var nödvändigt. Jag skrev en del inlägg i kategorin ”Utbildning” under året, och de är inga kioskvältare direkt. När hösten kom hade jag under en längre tid låtits inspireras av Prequel Memes och George R.R. Martin och resultatet blev ”Good Talk”. Likheterna med ”Dating 101” är många, men med Good Talk skruvades komiken och cringen upp några snäpp. Historien krävde också tvåspråkighet vilket var en helt ny utmaning, men jag tyckte det blev helt okej till slut.

Efter ”Good Talk” trodde jag att jag rott målet för antal visningar i hamn men med mindre än två veckor kvar på året är 2 miljarder inte riktigt uppnått. Istället för att utelämna uppdraget åt slumpmässigt förbipasserande internetbesökare, många av dem har i år kommit från Kanada vilket jag antar beror på 2016 års bloggserie ”O Canada”, skrev jag istället inlägget du just nu läser.

Att låta antalet läsare av bloggen vara en motivator kanske inte är det bästa medlet för att skapa kvalitativa inlägg, men jag tycker det har fungerat bra, hållit mig aktiv och varit väldigt roligt. Idag snubblade jag över ”10 years of professional blogging – what I’ve learned” så jag kanske ändrar strategi till nästa år.

Reading Challenge

För att bli bra på att skriva måste man läsa också. Tillsammans med Goodreads satte jag upp målet att läsa 3 böcker under 2017. Genomsnittligt antal böcker att läsa från de drygt 3 miljoner som deltar i läsutmaningen på Goodreads är 45 (”helt sinnes :O”) så där ligger ligger jag i underkant men jag är ändå supernöjd med att ha nått mitt mål. Dessutom finns det chans till att jag hinner läsa ut en fjärde bok också; hur det går kan ni följa på min Goodreads-profil.

Studierna

För studierna har jag inte satt upp något specifikt mål för året. Med kurser som grafteori skapas ett outtryckligt mål att bara hålla huvudet ovanför vattenytan när terminen forsar fram. Lyckligtvis närmar sig terminsslutet och alla kurser har gått bra vilket är jätteroligt. Jag blickar tillbaka på kurserna som lärt mig anatomi och fysiologi, kompilatorkonstruktion etc och som även lett mig till att bli en del av communityn för OpenMRS.

Att plugga är ett fantastiskt sätt att utvecklas på och jag är väldigt tacksam för mina kursare som lyckas gör även de svåraste momenten mycket roligare. Men nu hägrar exjobb och arbetsliv inom en inte alltför avlägsen framtid!

Omvärlden

Om vi låter den här krönikan lyfta blicken och inte bara tittar på mina egna gärningar så blir det genast mer balanserat mellan framgångar och misslyckanden. Det beror förstås delvis på att jag döljer mina misslyckanden för er 😉 men också för att omvärldens misslyckanden är så stora och så många. Under december har jag försökt minska mitt läsande av flöden på sociala medier; Facebook blir jag mest arg av och Reddit blir snabbt tråkigt och enkelspårigt. Twitter och Instagram känns än så länge helt okej. Häromdagen bytte jag ut social media till vanlig media och såg på Rapport istället, men det var ännu värre. Känslan blir lätt ”Asså jag kräks! Det är så j*vla dåligt!

Jag såg nyligen ett talk (ett prat/snack?) med Chamath Palihapitiya och han var ganska kritisk till sociala medier. Han verkade väldigt arg och släppte många F-bomber, men som tidigare anställd på Facebook har han nog ändå ett visst mandat. Facebook själva publicerade ”Is Spending Time on Social Media Bad for Us?” som också var intressant. Sociala medier har självklart både bra och dåliga effekter men för mig personligen tror jag det finns bättre miljöer. Till exempel kan man se på David J. Malans (världens bästa föreläsare?) föreläsningar i CS50, Harvards introduktionskurs i datavetenskap. (Från Facebook och Reddit över till YouTube, vilken förbättring! Jag är väl medveten om hyckleriet 🙂 )

REKLAMPAUS: Om du också vill spendera mindre tid på sociala medier, men inte vill riskera att missa mina uppdateringar om nya blogginlägg, så kan du prenumerera på den här bloggen via e-post. I panelen till höger, eller nästan längst ner på sidan om du använder mobilen, finns en liten widget där du kan fylla i din e-postadress och sedan klicka på knappen ”Prenumerera”, väldigt smidigt!

Sammanfattning

Vill man ha lite fördjupningsmaterial till den här krönikan kan man läsa min Sommarsummering 2017. Allt som allt känner jag att jag har varit duktig i år, och det är ju en trevlig känsla att avsluta året med. Som en sista utmaning tror jag att jag ska föra vidare den känslan till ett par vänner. Om vi alla slänger iväg ett ”Du har varit duktig i år”, eller visar vår uppskattning på något annat sätt, till minst två vänner så får vi en vacker exponentiell tillväxt av komplimanger, och det är en bra sak tror jag. Tack för i år, och jag önskar er alla en God Jul och Gott Nytt År!