
My main skills
Software architecture
Prepare design proposals based on requirements. Map existing software landscapes. Write documentation. Process large amounts of information and present/visualize it in a condensed easy-to-understand way.
Backend development
Proficient in .NET/C#, but I also have some experience with Java, C++ and node.js.
Cloud and containers
I have worked mostly with the the AWS cloud, but I also have some experience with Azure. I am familiar with Docker containers. As well as, having experience with writing infrastructure as code with Terraform.
Publish and subscribe
I have extensive experience working with message brokers like Apache ActiveMQ Artemis, AWS SQS and Azure Service Bus. I am also very familiar with the AMQP 1.0 protocol.
CI/CD Pipelines
Experienced in setting up CI/CD pipelines using Jenkins and GitLab CI/CD. Proficient in automating build, test, and deployment processes. Well-versed in version control using Git.
Golang
Recently I have been working on a “hobby project” using Go. It is using DynamoDB and GraphQL and runs as a Docker instance in AWS ECS.
Professional experiences
I worked as a system/solution architect in a scrum team that maintains and develops many systems that run either on premise Windows servers or in the AWS cloud. We used .NET/C# as the main programming language.
My main responsibility was to propose solutions when new features are developed. This is done in close cooperation with the development team and architects from other teams. Other technologies/tools that I used in this project were: MS SQL Server, Terraform, and Git.
I was responsible for a project that introduced the messaging broker Apache ActiveMQ Artemis as an integration platform used by different systems running on both the Windows and the Linux platform. My main tasks were to configure ActiveMQ Artemis and automate the deployment of these brokers. I also developed a .NET library that is used for Windows applications to communicate with ActiveMQ using the AMQP 1.0 protocol.
As this project neared completion, I performed other tasks for different development teams, including .NET development and Jenkins automation.
In this assignment I did a fair share of script programming using PowerShell and a smaller task in Java (Spring Boot).
The first 1,5 years at Scania I spent working as a system architect and developer at the Connected Services department. I was involved in multiple research projects where Scania collaborated with other vehicle manufacturers and industry partners in the Cooperative Intelligent Transport Systems (C ITS) field. In these projects, proof of concept implementations were made and demonstrated. The development was done using C# using the MS Azure cloud platform.
The last two years were a continuation of the research projects but then starting to develop similar features for production. AWS has been used as the cloud platform and I am familiar with AWS components like Lambda, Kinesis, DynamoDB, ECS/Fargate for Docker instances, CloudFormation, CloudWatch, API Gateway and IAM. During this time, I have also been the scrum master for a development team. At Scania I have worked with different publish/subscribe technologies/protocols like AMQP, ActiveMQ, Kafka and AWS Kinesis, SQS and SNS.
I worked as a team leader/scrum master for two different design teams during this assignment. The first two years I was leading a design team developing new functionality for the MultiService Proxy product. Apart from the scrum master activities I was involved hands on in development (C++, HTTP/TCP protocols, Linux), functional/system test and documentation (functional specifications and customer documentation).
From October 2014, I was the team leader for the team responsible for the product’s Linux (SLES) platform and bringing the MultiService Proxy product to the “cloud”. This involved hypervisor technology such as VMware, Ericsson Cloud System (OpenStack) and Oracle VirtualBox. I was also working hands-on with system test, script development and documentation.
I was working in the system design department writing design specifications for radio functionality in the new generation of radio base stations for GSM, WCDMA and LTE. I also participated in a SW development project working in a cross functional team, where I was the scrum master.
After HiQ purchased MobilEyes, I continued to work as a Symbian OS consultant for HiQ. I was responsible towards the customers opplysningen.no and Eniro and was one of the C++ developers in the team.
Co-founded MobilEyes, a company that grew from 2 to 60 people before being sold to the publicly listed company HiQ. Apart from the work as CTO I participated in several different Symbian OS projects.
I assisted Motorola PCS in Libertyville in the development of a Symbian OS based 3G smartphone A920 that was developed. I was working with SW architecture and as a Symbian OS expert.
Responsible for software architecture in a new smartphone, Ericsson R380. I participated in evaluating different operating systems and the selection of EPOC/Symbian OS. After that I worked with the design of software based on the EPOC/Symbian OS.
I worked as a consultant at the Stockholm office and participated in numerous projects.
My final project at Cap Gemini directed me into the smartphone business as a system designer at Ericsson. I worked with software architecture on one of the world’s first smartphones based on the GeOS operating system.
Development of new functionality for the Stressometer system, which is used for flatness measurement and control in cold rolling mills. The work consisted of real time programming for an embedded system (ABB Master). I was responsible for the MMI functionality.
Education / Courses
Linköping Institute of Technology, Linköping, Sweden
1984 - 1989
M. Sc. Electrical Engineering (civilingenjör)
Stanford University
1988 - 1989
Exchange student at department of Electrical Engineering
Citerus
2011
Certified Scrum Master, 2-day course