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å
- Mjukvaruutveckling - Backend / SaaS
- Systemdesign och arkitektur
- Kombinatorisk optimering
- Tech Lead
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.
- Användar-, grupp- och rumsadministration för video/röst-kommunikation
- Textchat-tjänst (grupp/rum/privat)
- Molnbaserad filförvaring och delning samt fil "sändnings" -kapacitet
- Distribuerad synkroniserad 'co-watch' medieströmningstjänst, AWS-baserad video-transkodning
- Meddelandesystem för mobilapp-händelser (Firebase, Apple push och Rabbit MQ)
- Autoskalbar mikrotjänstarkitektur
- Samtyckeshantering, GDPR-efterlevnad
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