Hi, my name is Karl. I’m a passionate software developer from Sweden with a penchant for open-source software. 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 1 million downloads.
Additionally, I’m also the founder and developer for the license discovery website LicenseDiscovery.io. LicenseDiscovery.io allow the user to search for Java dependencies to discover which licenses these dependencies and the transitive dependencies are licensed under.
Today, I work as a Backend Tech Lead for the leading shopping comparison site PriceRunner.
My main expertise: Backend, Java, REST, Spring
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.
Founder and Lead Developer
2019 - Present
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.
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
Backend Tech Lead
Jun 2018 - Present
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”.
Akka Amazon S3 Apache Kafka Atlassian Jira Consul Docker GigaSpace XAP GitLab Grafana Hibernate Java Jetty Kibana Maven Microservice MongoDB MySQL Nomad PostgreSQL Prometheus REST Spring Spring JPA Spring Reactive Swagger
Datawatch Panopticon Visual Analysticshttps://www.altair.com/panopticon/
and Backend Developer
Apr 2015 - Jun 2018
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
IT Consultant and Backend Software Engineer
May 2014 - Apr 2015
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
May 2013 - May 2014
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 Sciencehttps://dsv.su.se/
Amanuensis / Teaching assistant
January 2011 - May 2013
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#.
C++ C# Java Python
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.
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.