Profile

Jim is a highly experienced software engineer with over 14 years of industry experience in design, architecture and development of advanced systems and algorithms. He also has over 12 years experience as Tech Lead for small teams.

He is characterized as taking ownership and showing dedication to set targets. Jim sets a high standard for quality where important, both concerning his own work and the work of his team members. Jim enjoys working with complex or hard problems, a bonus would be problems relating to a positive impact on society or the environment. In his leadership capacity Jim is described as helpful, giving constructive feedback and leading by example. He is good at prioritizing tasks and helping co-workers focus on what is important.

Jim can quickly absorb problem formulations, identify opportunities and find solutions to problems both on the detail level and in the larger abstract perspective. He is a pragmatic, analytical and efficient person that likes learning new skills.

Specializes in

HappiHacking

⬦ Consultant 2020/01 - present

Kindio - Fintech/money-transfers 2022/12 - 2023/06

Architecture and implementation a proof of concept backend solution for a fintech startup. A transaction system for making peer-to-peer money transfers through integration with WhatsApp, SMS and other text-chat based services. The system handles currency conversion and is integrated with external payment providers. A minimal frontend for registering and managing users using bootstrap and thymeleaf was also created.

Keywords: backend, AWS

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

Role: Senior Software Engineer, Architect

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

Architecture and implementation of a media and communications backend.

Keywords: backend, Tech Lead, SaaS, API, microservices, AWS

Technologies: 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

Role: Tech Lead, Senior Software Engineer, Architect

Deutsche Telekom - High performance data pipeline 2020/01 - 2020/09

Designed and implemented a high performance data-pipeline for processing IoT device messages from customer devices. The pipeline was verified and load-tested for handling 17 000 messages/s. Consumed external messages in MessagePack and produced Avro for the kafka part of the pipeline. All messages are continuously backed up to AWS S3. Part of the project was balancing the resource requirements on service instances in kubernetes. Created an SDK for iOS (swift) and Android (java).

Keywords: backend, SaaS, API, microservices, AWS, IoT

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

Role: Senior Software Engineer

Tomologic

⬦ Head of R&D / Tech Lead 2010 - 2020

Jim was responsible for the overreaching design of the distributed knowledge-based/AI optimization service. This also included envisioning future development needs and directions from a technical viewpoint. His position also included: coordinating government funded research projects, basic project and team planning activities and hiring new team members.

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

Role: Head of R&D, Tech Lead

⬦ Consultant 2019

Tobii - Algorithm developer 2019

Developing a machine learning framework and algorithms to use with Tobii’s eye tracking-products.

Technologies: C++ 11/17, Ubuntu, bazel, CLion, Python 3, deep-learning

Einride - Specialist advisor 2019

Support with requirements, engineering and technology choices for developing an optimization system for sustainable transports. Evaluating specific technologies. Organized discussion on technology choices and defining the main strategic deliverables for MVP.

⬦ Senior Software Engineer 2010 - 2020

Jim was responsible for designing and implementing combinatorial optimization algorithms and geometric algorithms for solving 2D packing problems, creating internal tooling and coaching new team members.

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

Role: Tech Lead, Architect

⬦ Software Engineer 2009 - 2010

As the first employee and only software engineer at Tomologic Jim was tasked creating a fully automatic optimization service for the sheet metal (laser cutting) industry, based on Tomologic’s patented technology and the founder’s know-how.

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

Education

PhD, Uppsala University 2002 - 2009

Researching combinatorial auctions. 80% research, 20% teaching. Combinatorial auctions is an interdisciplinary research field spanning combinatorial optimization, economics and game theory. I approached this field from a computer science point of view.

MSc Computer Science, Uppsala University 1997 – 2002