Recurse.se Yada yada on Software Development

About

Hi there

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 twenty-five years. Programming and software development is more than a job for me, it's a passion!

Employment history

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.

Projects

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. 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.

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 few years I've also worked on NoSql document databases storing aggregates as plain json documents.

Roles

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 team has won Microsoft awards for excellence but also participated (as a small component) in a multi-million-dollar project that ran way over budget without getting the expected results and was canceled.

While I mostly deliver Windows-based solutions, my primary development platform nowadays is a MacBook, and I learned Unix systems thoroughly during my years at university (where we developed on SUN Solaris systems almost exclusively) and I do miss the power and productivity of the Unix command shells when in Windows, although Powershell comes fairly close. The OS X command line is much nicer.

Languages and tools

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 fundamentals behind open source! Since joining factor10 I have expanded into a lot more diverse ecosystem, adding Mac, Linux, coding on the JVM, using Docker containers and cloud solutions to the mix. Very stimulating!

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 smaller solutions using Perl, Python and Ruby. Since about 2007 I've started to work my way into functional programming using Scheme/Racket, F#, Scala and Clojure, and I guess you can count JavaScript and CoffeeScript as well. I've never done much in Java, although I did use it to write a compiler prototype during my Master's thesis (which described a framework for compiler construction) for no better reason than the fact that Java was a hyped language at the time.

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

In short, I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the Tannhauser gate. All those moments will be lost in time, like tears in rain...

Stay a while. Stay forever!

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

No trackbacks yet.