Experienced software engineer who has developed a wide variety of software, web applications and services.

Skills

  • Web application development
  • Web APIs/services
  • SOA/distributed systems
  • Scala
  • Javascript
  • REST
  • Micro-services
  • Linux
  • Java
  • Markup
  • German
  • Swedish
  • English

Experience

Lead Developer

Emarsys, 2010 - 2017

I continued working on existing and new products for the Emarsys platform. Working in a constantly growing and very independent team I was also involved in product design besides the actual development.

As Lead Developer I was part of an effort to migrate existing J2EE structure to a more modern REST based micro-service architecture built using both Scala and NodeJS. Part of this effort also included automating setup of servers using Ansible. Other responsibilities included reviewing all changes to code and architecture.

Software Developer

Emarsys, 2004 - 2010

Starting at Emarsys in Vienna in 2004 I was part of a small team that developed multiple products for the Emarsys marketing platform. Most work was done in Java and J2EE using JBoss.

One of the biggest products I was part of developing, was a system for sending highly personalized marketing emails in very big volumes. I was heavily involved in database design, service architecture as well as the mail-engine development.

Apart from writing code we were also responsible for running the system, which meant doing deployments and standby duty for when things went catastrophic.

Java Developer

Densitet AB, 2004

In the early spring of 2004 I was part of a team developing a prototype system for Densitet AB located in Karlskrona. I was responsible for the mobile-access part and wrote a client in J2ME which communicated, using XML, with their existing MOSES system. Besides the client I also wrote a few Java-servlets providing the client with additional functionality.

Java Developer

Blekinge Institute of Technology, 2003

I was part of a team to develop a new system for handling courses and schedules at Blekinge Institute of Technology. The system was written following the MVC pattern and the controller layer were written in pure Java and utilizing an Oracle database in the data model layer.

The system could be accessed using two different views, one based on Java Servlets which together with template technology could be accessed from the web and another one written in Java Swing for accessing parts of the system from a normal application. Besides the actual implementation I also took part in the design of both the system architecture and the database model.

Web Developer

Karlshamn Kraft AB, 1999, 2001 & 2002

During the summer of 1999 I was hired as web-programmer and worked on their Intranet system. This was mainly done i ASP/VBScript/JScript.

The following summer I worked on their document handling system. I wrote some web-interface parts as well as some tools for converting/transferring data from their older systems into the new system.

In the summer of 2002 I continued my work on their document handling system. I continued writing tools for converting/transferring data from older systems to the new one, creating web-interface parts for searching and registering documents and also wrote stored procedures for the database backend.

Private projects

I usually have some project of my own that I am working on, it is often some small application or plugin that helps me in my daily work. Examples of some of the more serious projects are:

Take Away

A Mac app, written using Cocoa and Objective-C, for keeping iTunes libraries in sync across multiple machines. Development stopped after Apples announcement of iTunes Match.

More information

Prequel

Minimal library making handling of SQL queries in Scala a bit easier. It takes care of connection handling/pooling, SQL escaping, parameter conversion and to some extent transaction handling.

More information

Rabbel

A client for the XML-based Instant messaging platform Jabber, written for Mac OS X/Cocoa and Linux/GNUstep in Objective-C. Designed to be modular and easy to extend with new functionality it relies heavily on plugins providing protocol-specific functionality. This in order to be able to cope with the changes of the Jabber extension protocols.

More information

BeOrganised

A personal information manager written in C++ for BeOS, implemented using file attributes making it very integrated with system. Supported both appointments and todos.

More information

Olmeki

Minimal Jabber client written in C++ for BeOS. Was written out of necessity and supported only the chat-related parts of the protocol.

More information

Education

Masters degree in Computer Science

Blekinge Institute of Technology, 2004

After finishing my bachelors degree in Software Engineering I continued towards a masters degree in computer science and in the early spring of 2004 I finished my master thesis on the use of OpenGL in window systems. As a part of the masters program I also finished the following courses:

  • Risc analysis and security
  • Mobility
  • Systems Engineering
  • Advanced topic in Object storage

Bachelors degree in Software Engineering

Blekinge Institute of Technology, 2003

I began studying software engineering at Blekinge Institute of Technology in 1999 and after three years I finished my bachelors degree in software engineering.

During my time at BTH I especially enjoyed:

  • Discrete Mathematics
  • Automate and Formal languages
  • Large Software Engineering Project
  • Agent Systems
  • Applied Artificial Intelligence
  • Data communication