About

Hi there Link to heading

My name is Martin, and I’m a developer from Sweden. I hold a Master’s Degree in Software Engineering and have developed software professionally since 1998, mainly as a consultant, but have been programming for fun for more than thirty-five years. Programming and software development is more than a job for me, it’s a passion! My Master’s thesis described and implemented an object oriented framework for compiler construction.

Employment history Link to heading

After university, I was a consultant at the Swedish consultancy Softronic AB for the first 10+ years of my career. I became the department development lead for any non-ERP development, and mainly did C++ and C# development for various clients, and a lot of SQL Server development. Then I got into integration/EDI, and learned BizTalk and I wrote the EDIFACT/XML conversion engine for the company’s EDI Hub offering.

In 2010 I sat down on the other side of the table when I left consulting for a job at the IT-department at Biltema, a large Scandinavian retail group, where I made good use of my development/integration skills. I was the development lead for the Development and Integration department, and was responsible for the design and architecture of the solutions we produced. I was also often asked to have an opinion on most anything IT-related.

Early 2012 I realized I was much too comfortable for my own good, and so decided to look for something more challenging. At the end of 2012 I ended up as a consultant again, this time employed by factor10 Solutions AB, which has as a core business premise that individual developer skills correlate very highly with the delivered business value, and so only employs top talent. Living up to the expectations from clients is a challenge, that’s made simpler with the help of my awesome colleagues. I joined factor10 precisely because I wanted to take on more challenging tasks in order to learn more.

Selected Projects Link to heading

Over the years as a consultant. I developed a wide variety of software for different industries, working alone or in small teams, but the retail business has been a theme for a lot of years. For one customer, we built all software needed to operate a single shop, and later scaled the system up to the needs of entire retail chains, and sold the solution as a product to other chains. I’ve also worked with EDI, or integration, for many years, connecting ERP Systems and other systems, sending and receiving documents such as orders and invoices between business partners in XML, flatfile or EDIFACT format using BizTalk or other tools, for large international customers.

Apart from integration and the retail industry, I’ve worked on Recipe Development and Nutrition Calculation tools for a customer in the food industry, and on Military Training systems for a huge global defense company. I’ve done a Risk estimation application for the insurance industry, where I worked for nearly 10 years. I also helped build a large web-based project planning toolset for a software product company, and a task workflow and progress monitoring system used by a customer in the car industry. I’ve done intranet sites, webshops and supply chain solutions. I’ve written countless in-house tools and ad-hoc utilities, automated boring manual routines, as well as a custom event monitoring and alerting system, and a lot of other stuff.

Most of these projects were custom made for a single customer, some of them spanned years, on some I worked as a contractor as part of a larger in-house team, and some was developing and tailoring a product sold to several different customers. A few assignments were abroad, and I’ve worked in all nordic countries. In most projects databases have been present some way or another. I’ve worked with single-user Access-databases up to terabyte-sized SQL data warehouses with 1,500,000,000 rows. But the last ten years I’ve also worked on NoSql document databases storing aggregates as plain json documents.

Roles and awards Link to heading

I’ve had the developer role, fiddling with bits and interfacing with various hardware over the serial port, as well as the architect role, sketching out fairly large client/server architectures for others to implement. I’ve done technical project management and I’ve worked as a designer, educator and team-mentor. I’ve even taken customer calls at the helpdesk for weeks as well as done IT-strategy and purchasing. I’ve done a lot of second-line support, finding causes of problems in production environments, and fixing emergency issues (or ended up writing tools that did).

Over the years my teams have won Microsoft awards for excellence but also participated (as a small component) in a hundred-million-dollar project that ran way over budget without getting the expected results and was canceled. I’ve won awards myself, such as being named “Sweden’s best of developer of 2017” by IDG Techworld Magazine. Obviously unlikely to be true in an absolute sense, but never the less an honor.

While I have worked the most with Windows-based solutions, I’ve had both Macs and Linux-machines as my primary development workstations for ten years now, and I learned Unix systems thoroughly during my years at university (where we developed on SUN Solaris systems almost exclusively), and I’ve also worked with cloud-based solutions for years, where doing Windows-only systems is more of a problem than a benefit.

I have been invited as a speaker to a handful of tech conferences and events, some rather big multi-track, multi day conferences with thousands of attendees, such as Øredev (Malmö, Sweden), Microsoft TechDays (Stockholm, Sweden), or IDG TechWorld Summit (Stockholm, Sweden) as well as several one-day events such as Ericsson DevDays (Karlskrona, Sweden) or RustFest EU (Berlin, Germany).

Languages and tools Link to heading

Historically I have mainly used Microsoft tools at work, such as C#, SQL Server and BizTalk, and I earned a Microsoft Certified Solution Developer title in 2000. Even though I’ve worked for Microsoft Gold Partners, and was Microsoft focused at work for a lot of years, I also use a lot of open source tools, and love the world-transforming principles behind open source! Since joining factor10 I have expanded into a lot more diverse ecosystem, adding Mac, Linux, coding on the JVM, using containers and cloud solutions to the mix. Very stimulating!

I also enjoy working with DevOps, and have done some automated environment setups using Ansible, Docker and the Amazon Elastic Compute Cloud.

I’ve written hundreds of thousands of lines of production code in both C++ and C# (not that LOC is a relevant measure of anything, really). I have done years of BASIC, C and VB programming (thankfully a long time ago now), and have built solutions using Perl, Python, Ruby, JavaScript, TypeScript and CoffeeScript and probably left out one or two languages. Since about 2007 I’ve started to work my way into functional programming using Scheme/Racket, F#, Scala and Clojure. I’ve been loving Rust since v1.0 in 2015 when I started implementing a Motorola 68000 CPU emulator, and it quickly became one of my favorite languages.