Karl Dahlgren

Senior Software Developer / Engineering Manager

About Me

Hi, my name is Karl and I’m a software developer from Sweden. I’m the founder and lead developer for the open-source REST and SOAP mocking tool Castle Mock. Castle Mock is a web application that provides the functionality to mock out RESTful APIs and SOAP web services. Today, Castle Mock has more than a 3 million downloads.

Today, I work as an Engineering Manager and Software Developer at Klarna.

My main expertise: Backend, Java, REST, Spring

Projects

Founder and Lead Developer
2014 - Present

Castle Mock is a web application that provides the functionality to mock out RESTful APIs and SOAP web-services. This functionality allows client-side developers to completely mimic a server side behavior and shape the responses themselves for when writing and conducting integration tests.

Castle Mock can create mocked services based on WSDL, WADL, Swagger and RAML definition files. The web-services defined within the files will be mocked automatically by Castle Mock. Once the mocks for the web-services are created, they can be configured to mock the service or forward the request to the original endpoint. The response from the forwarded requests can be recorded automatically and used to create new mocked responses.

Castle Mock is completely free and open source (Apache License 2.0). It is built with Java and the application itself is deployed to an Apache Tomcat server.

Apache Tomcat CSS Docker GitHub Heroku HTML Java JavaScript Jetty Maven NPM OpenAPI React REST SOAP Spring Swagger WADL WSDL Yarn

LicenseDiscovery.io

https://licensediscovery.io

Founder and Lead Developer
2019 - 2023

LicenseDiscovery.io is a webpage for discovering which license a Java dependency and its transitive dependencies are licensed under. The purpose of the webpage is to mainly help developers to get a better understanding of their dependencies and get a complete picture of what is include when depending on a Java dependency. Licensediscovery.io allows the users to search for Java dependencies by using any of the following syntax: Maven, Gradle, SBT, Ivy, Leiningen, Grape, Buildr or plain. The results will be presented either in a table, bar chart, donut chart or a network graph.

Licensediscovery.io is no longer active, but a video of the webpage can be found here.

Antlr Amazon S3 CSS Docker GitLab Heroku Hibernate HTML Java JavaScript Jetty Maven MongoDB NPM PostgreSQL React Redis REST Spring Spring JPA Yarn

Founder and Lead Developer
2020 - Present

Raccoon is a command line search tool for Apache Kafka written in Go. The tool enables users to search and grep particular messages in a Kafka topic by providing a search query. Additionally, the tool also allows the user to tail a Kafka topic and filter messages based on a provided search query. Once finished, all matched Kafka messages could either be presented in the terminal or exported to a CSV file.

CLI Cobra Go Kafka

Experience

Klarna

https://klarna.com

Engineering Manager

April 2022 - Present
Stockholm, Sweden

Smooother Shopping

Klarna is the leading global payments and shopping service, providing smarter and more flexible shopping and purchase experiences to 150 million active consumers across more than 450,000 merchants in 45 countries. Klarna offers direct payments, pay after delivery options and instalment plans in a smooth one-click purchase experience that lets consumers pay when and how they prefer to.

Sectors: Banking, Financial, Retail

PriceRunner

https://pricerunner.com

Backend Tech Lead

Jun 2018 - March 2022
Stockholm, Sweden

Act bold, be proud, stay humble and have fun.

PriceRunner is a leading shopping comparison site with a mission to become the most loved shopping comparison service in the world! PriceRunner makes shopping easier by finding the best deals for our users. PriceRunner is currently operating in Sweden, Denmark, & UK. Every month PriceRunner helps hundreds of thousands of consumers to find better, cheaper products and save money by comparing prices for a particular product.

When I first started at PriceRunner, I started as a backend developer in the team responsible for developing the platform for PriceRunner’s merchants. Within less of a year, I was promoted to backend tech lead for the operation team. The team is today the largest tech team at PriceRunner and are responsible for developing the internal systems that manage every product and all offers in all countries, Sweden, Denmark and UK. PriceRunner has over five million products and process over 200 million offer updates daily.

My responsibilities as a backend tech lead was to develop, design solutions, oversee development within the team and plan new features and solutions together with product owners, stakeholders and other tech leads. Additionally, I’ve been responsible for development of common libraries and solutions that improves response times and ease development. These solutions are used throughout the whole PriceRunner backend platform. I have also been representing PriceRunner in tech events and public speaking. Most notably, a speaker at the PriceRunner and GigaSpace Tech Event on the topic “How to Process Millions of Requests with Ever Changing Content Scaling Linearly”.

Sectors: Retail

Akka Amazon S3 Apache Kafka Atlassian Jira Consul Docker GigaSpaces XAP GitLab Grafana Hibernate Java Jetty Kibana Maven Microservice MongoDB MySQL Neo4j Nomad PostgreSQL Prometheus REST Spring Spring JPA Spring Reactive Swagger

Datawatch Panopticon Visual Analystics

https://www.altair.com/panopticon/

Software Architect
and Backend Developer

Apr 2015 - Jun 2018
Stockholm, Sweden

Stream processing and visualization for real-time and time series data.

Panopticon provides visual data discovery software that optimizes any data – regardless of its variety, volume, or velocity – delivering next generation analytics to reveal valuable insights for improving business. Its unique ability to integrate structured, unstructured, and semi-structured sources like reports, PDF files and EDI streams with real-time streaming data into visually rich analytic applications allows users to dynamically discover key factors that impact any operational aspect of their business.

My main responsibility was to implement the next generation for the Panopticon visualization server. This includes designing, implementing and testing the server. The server was responsible for streaming data from various data sources, such as MySQL, PostgreSQL, Onetick and many more. Furthermore, the server was also responsible for user management, authentication and authorization. Many authentication solutions were available, such as LDAP, SAML, OAuth2 or custom authentication.

Throughout my years at Datawatch Panopticon, I was involved in tier 3 technical support and also traveled to visit many of our international customers in countries such as Canada and Netherlands. Additionally, my role required me to travel to Boston and to travel to India to lead training sessions with our consultants.

Sectors: Banking, Financial, Visualization

.NET AngularJS Apache Kafka Apache Tomcat Atlassian Jira Big Data C# Gradle Java LDAP Mercurial OAuth2 REST SAML Spring SOAP Swagger WebSocket WPF WSDL

Knowit

https://www.knowit.se/

IT Consultant and Backend Software Engineer

May 2014 - Apr 2015
Stockholm, Sweden
London, England

Knowit is a consultancy firm that creates unique customer values by offering digital and cross-functional solutions.

Knowit is one of the leading consultancy firms in the Nordic region. Knowit are quoted on the Nordic Exchange and have offices in twenty locations in Sweden, five in Norway and in Helsinki, Copenhagen, Tallinn and S:t Petersburg. Their local presence ensures deep knowledge of our clients, strong commitment and high delivery security. In addition, they use the strength and specialist competence of the entire group, whenever it can be helpful.

My project at Knowit was to develop a system for telecom company in Greenland. My main responsibility mainly involved developing an enterprise service bus, ESB. Throughout my time at Knowit, I became a team leader for the team responsible for the development of the ESB. The project started in Stockholm, but was later relocated to London. I, together with a team of developers, traveled to London on a weekly basis for almost a half a year.

Sectors: Consulting, Telecommunications

Java JBoss Jenkins Git Maven REST SOAP Spring

Netlight

https://www.netlight.com/

IT Consultant

May 2013 - May 2014
Stockholm, Sweden
Munich, Germany

The combination of competence, creativity and business sense is what makes Netlight stand out as a service provider, and are also the characteristics of each individual Netlighter.

Netlight Consulting is a successful and independent IT-consultant company that offers solutions to complex problems to companies where IT is a critical part of their business concept. High competence combined with creativity and business sense has made us one of the market’s sharpest suppliers.

Netlight Consulting was my first employment after university. I was a short period in the Stockholm office, but was quickly assigned a customer in the banking sector in Munich, Germany. My main assignment was to lead the integration testing between the bank and their international partners in one of the biggest projects that involved mobile payments in France. My role included integration testing and writing testing tools. It also involved daily communication and collaboration with our international partners.

Sectors: Banking, Consulting

Atlassian Jira Java Maven Mobile Payments REST Spring

Stockholm University - Department of Computer and System Science

https://dsv.su.se/

Amanuensis / Teaching assistant

January 2011 - May 2013
Stockholm, Sweden

Throughout my master program, I was part-time employed at Stockholm University as amanuensis or teaching assistant. My responsibilities were to teach, grade and conduct lectures in software development mainly in Java and Python, but also in other programming languages, such as C++ and C#.

Sectors: Education

C++ C# Java Python

Education

KTH Royal Institute of Technology

M.Sc. Computer Science

2011 - 2013

Software Engineering of Distributed Systems

KTH in Stockholm is the largest, oldest and most international technical university in Sweden. No less than one-third of Sweden’s technical research and engineering education capacity at university level is provided by KTH. Education and research spans from natural sciences to all the branches of engineering and includes architecture, industrial management and urban planning.

Stockholm University

B.Sc. Computer Science

2008 - 2011

Computer Science / Game development

Since 1878 Stockholm University has been characterised by openness and innovation. A modern university with a multicultural environment, Stockholm University is one of the world’s top 100 higher education institutes. Department of Computer and Systems Sciences (Institutionen för data- och systemvetenskap – DSV) was formed in 1966 and is one of the oldest ICT institutions in Sweden. DSV belongs to the Faculty of Social Sciences at Stockholm University and carries all types of academic activities: undergraduate, postgraduate and research.