Profil

Jim är en mycket erfaren mjukvaruutvecklare med över 14 års branscherfarenhet inom design, arkitektur och utveckling av avancerade system och algoritmer. Han har också över 12 års erfarenhet som Tech Lead för små team.

Han karaktäriseras av att ta ansvar och visa engagemang för att nå uppsatta mål. Jim sätter en hög standard för kvalitet där det är viktigt, både när det gäller hans eget arbete och arbete av hans team. Jim tycker om att arbeta med komplexa eller svåra problem och gärna med problem där lösningen ger en positiv påverkan på samhället eller miljön. I sin ledande roll beskrivs Jim som hjälpsam, att han ger konstruktiv feedback och leder genom exempel. Han är bra på att prioritera uppgifter och hjälpa medarbetare att fokusera på det som är viktigt.

Jim kan snabbt ta till sig problemformuleringar, identifiera möjligheter och hitta lösningar på problem både på detaljnivå och i en större abstrakt perspektiv. Han är en pragmatisk, analytisk och effektiv person som gillar att lära sig nya färdigheter.

Specialiserar sig på

HappiHacking

⬦ Konsult 2020/01 - present

Kindio - Fintech / direktöverföringar 2022/12 - 2023/06

Systemdesign, Arkitektur och implementation av en konceptlösning för ett Fintech startup. Ett transaktionssystem för att möjliggöra och genomföra direktöverföringar mellan privatpersoner. Detta gjordes genom att integrera med WhatsApp, SMS och är föreberett för ytterligare integrationer. Systemet hanterar valutaväxling och är integrereat med en extern betalningstjänst. En minimal frontend gjord med bootstrap och thymeleaf för att registrera och hantera användare skapades också.

Nyckelord: backend, AWS

Teknologier: spring-boot 3, JPA/hibernate, postgres, java(17)/maven, openapi3, REST-like, git, github, AWS, thymeleaf, docker, bootstrap

Roll: Senior Mjukvaruutvecklare,

Deutsche Telekom - Video/Chat/co-watch 2020/09 - 2022/10

Arkitektur och implementation av en medie- och kommunikationsbackend.

Nyckelord: backend, Tech Lead, SaaS, API, mikrotjänster, AWS

Teknologier: spring-boot, postgres, java/maven/kotlin, Android, openapi3, REST-like, git, gitlab, Firebase, Apple push, AWS-SNS, AWS-SQS, AWS-S3, AWS media-convert, AWS-EKS (kubernetes/docker), jira Rabbit MQ

Roll: Tech Lead, Senior Mjukvaruutvecklare

Deutsche Telekom - Högprestanda-datapipeline 2020/01 - 2020/09

Designade och implementerade en högpresterande datapipeline för att behandla IoT-enhetmeddelanden från kundenheter. Pipelinen verifierades och belastningstestades för att hantera 17 000 meddelanden/s. Konsumerade externa meddelanden i MessagePack och producerade Avro för kafka-delen av pipelinen. Alla meddelanden säkerhetskopieras kontinuerligt till AWS S3. En del av projektet gick ut på att balansera resurskraven på tjänstinstanser i kubernetes. Skapade en SDK för iOS (swift) och Android (java).

Nyckelord: backend, SaaS, API, mikrotjänster, AWS, IoT

Teknologier: spring-boot, AWS-S3, AWS-EKS (kubernetes/docker), AWS-RDS (postgres), java/maven, Kafka, avro, msgpack, openapi3, REST-like, git, gitlab, jira, swift

Roll: Senior Mjukvaruutvecklare

Tomologic

⬦ Chef för FoU / Tech Lead 2010 - 2020

Jim var ansvarig för den övergripande designen Tomlogics distribuerade kunskapsbaserade / AI-optimeringstjänst. Som FoU-chef var Jim och ansvarig för den tekniska visionen, framtida utvecklingsbehov och inriktningar från en teknisk synvinkel. Hans ansvarsområde innefattade också: samordning av forskningsprojekt finansierade av regeringen, grundläggande projekt och team planeringsaktiviteter samt rekrytering av nya teammedlemmar.

Teknologier: java, git, intellij, google cloud, python, bash, jira

Roll: FoU Chef, Tech Lead

⬦ Konsult 2019

Tobii - Algoritmutvecklare 2019

Utveckling av ett ramverk för maskininlärning och algoritmer att använda med Tobii's ögonspårningsprodukter.

Teknologier: C++ 11/17, Ubuntu, bazel, CLion, Python 3, djupinlärning

Einride - Specialistrådgivare 2019

Stöd med kravställning och teknikval för att utveckla ett optimeringssystem för hållbara transporter. Utvärdering av specifika teknologier. Organiserade diskussioner om teknikval och definierade de främsta strategiska leveranserna inför en MVP.

Teknologier: Kombinatorisk Optimering, Villkorsprogrammering

⬦ Senior mjukvaruutvecklare 2010 - 2020

Jim var ansvarig för att utforma och implementera kombinatoriska optimeringsalgoritmer och geometriska algoritmer för att lösa 2D-packningsproblem, skapa interna verktyg och coacha nya teammedlemmar.

Teknologier: java, git, intellij, google cloud, python, bash, jira, C++

Roll: Senior Mjukvaruutvecklare, Arkitekt

⬦ Mjukvaruutvecklare 2009 - 2010

Som den första anställda och enda mjukvaruutvecklaren på Tomologic hade Jim i uppdrag att skapa en helt automatiserad optimeringstjänst för laserskärning i plåt, baserat på Tomologics patenterade teknologi och bolagsgrundarens kunskap från skärindustrin.

Teknologier: java, git, intellij, bash, C++

Utbildning

PhD, Uppsala Universitet 2002 - 2009

Forskning kring kombinatoriska auktioner. 80% forskning, 20% undervisning. Kombinatoriska auktioner är ett tvärvetenskapligt forskningsområde som omfattar kombinatorisk optimering, ekonomi och spelteori. Jag närmade mig detta område från en datavetenskaplig synvinkel.

Magister i Datavetenskap, Uppsala Universitet 1997 – 2002