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
- Software Engineering - Backend / SaaS
- System design and architecture
- Combinatorial Optimization
- Tech Lead
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.
- User, groups and rooms management for video/voice communication
- Text chat-service (group/room/private)
- Cloud-based file storage & sharing and file "sending" capabilities
- Distributed synchronized co-watch media streaming provider, AWS based transcoding of video
- App messaging system (Firebase, Apple push and Rabbit MQ)
- Autoscaling microservice architecture
- Consent management, GDPR Compliance
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