Who am I?
I am a versatile back-end developer with a passion for building robust systems and optimizing development processes. With extensive experience in DevOps- and platform technologies, I have a deep understanding of the entire software development lifecycle, from coding to deployment and maintenance.
My technical repertoire spans multiple programming languages and tools, and I have successfully delivered scalable and reliable solutions to meet clients' needs. My ability to create streamlined development workflows and automate previously manual processes has resulted in faster deliveries with fewer bugs and more robust systems.
Skills
Languages
- TypeScript
- JavaScript
- C#
- F#
- Python
- Elixir
- Bash
- Ruby
Frameworks
- Node.js
- Express
- React
- AngularJS
- ASP.NET
- Ruby on Rails
- Sinatra
Test automation tools
- Jest
- Mocha
- Chai
- Sinon
- xUnit
- NUnit
- Selenium
- SpecFlow
- TestCafé
- Cucumber
- RSpec
- ESpec
Cloud and DevOps
- Azure
- AWS
- Azure DevOps
- GitHub Actions
- Terraform
- Azure ARM Templates
- Bicep
- Docker
- Jenkins
Databases
- Redis
- CosmosDB
- MongoDB
- PostgreSQL
- Neo4j
- SQL Server
- SQLite
- Elasticsearch
Collaboration and Version Control
- Git
- GitHub
- GitLab
- Bitbucket
- Jira
- Confluence
- Trello
- Slack
Previous roles
Svea Bank
Mainly worked on development and maintenance of core banking systems such as integrations with Swish and other banks. Also spent some time refactoring older systems to be more up to date and easier to work with and deploy, and implemented centralized CI/CD pipeline template management.
Implemented new REST endpoints and accompanying pages in their internal portal using Fable+Elmish.
Set up and configured CI/CD, repos, automated testing, vulnerability scanning, and more for a greenfield project.
All systems were written in F# using functional programming techniques.
Handelsbanken
Development, maintenance, and improvement of CI/CD pipelines in Azure DevOps for their customer meeting places.
Evaluation and implementation of different versioning approaches for internal packages and pipeline templates.
Designed and built a solution for code owner approvals with everything-as-code to allow for granular control over code changes. The code owner approvals solution was built in Node.js and vanilla JavaScript to avoid having to set up unnecessary build chains and -pipelines.
Scrive / Esignatur
Was responsible for Esignatur's entire CI/CD setup in Azure DevOps.
Refactored and split their existing pipeline into multiple smaller pipelines each deploying a part of the system instead of one big bang deployment. Implemented automated build validations on PRs for all active repositories.
Designed and implemented an automated release strategy complete with semantic versioning and automatic updates for their Electron desktop app.
Set up Mac app code signing and notarization in the desktop app deployment pipeline.
Introduced automated UI-testing with Selenium and SpecFlow written in C#/.NET.
H&M Group
Worked with building tools and services for automating tasks such as DNS configuration, Azure AD identity management, TLS/SSL certificate issuance, and app service authentication configuration via CI/CD pipeline tasks/actions and via REST APIs.
Designed and built an internal URL shortener system in F# in .NET 5-7 using as purely functional programming techniques as possible. The system was deployed as a few Azure Functions backed by a CosmosDB database.
Designed, built, and maintained an event-driven Azure subscription creation automation system written in TypeScript and Node.js as a cluster of microservices.
Supported teams in following DevOps best practices such as writing and running automated tests, implementing everything-as-code, configuring automated deployments via CI/CD pipelines, and setting up comprehensive monitoring.
Telenor Connexion
Worked on an IoT device management system written in JavaScript/Node.js, mainly focusing on CI/CD pipeline optimization and test suite feedback loop improvement. Project build time was successfully shortened from 20 minutes to 5 minutes.
Magine AB
Development and maintenance of the audio/video transcoder stack and automated perceptual quality tests, as well as the transcoder support systems and subtitle pipeline. The systems were built in Elixir utilizing purely functional programming techniques.
Worked on a smart TV application for Tizen and Orsay (Samsung TV OSs) including a buffered real-time subtitle decoder due to a lack of support for modern subtitle formats in Orsay.
Board Intelligence Ltd.
Developed and maintained a board reporting tool written in Ruby-on-Rails, mainly focusing on the backend API and the PDF generation pipeline. Migrated the system from a single server to a self-hosted UK-wide distributed server cluster.
Planned and executed a migration of the web frontend from AngularJS to React w/ Redux.
Flow XO LLC
Developed a tool for automating integrations between different external services and APIs in JavaScript/Node.js, leading to a big reduction in time needed to configure a new integration in the pre-existing integration automation system.
Tuzame AB
Designed and implemented a large-scale centralized multi-vendor product database backed by a graph database and a Redis cache, complete with a web UI for administration. All systems were written in JavaScript and Node.js with the frontend built in AngularJS.
Built a white-label cross-platform mobile application solution and built several mobile apps on top of it.
Vendre AB
Analyzed and evaluated if their e-commerce platform could be migrated from PHP to Node.js in a cost- and time efficient manner.
Majorly improved the query performance for one of their client’s online store by reconfiguring their Solr search engine instance.
Hogia Terminal Systems AB
Designed, built, and maintained a web-based terminal management system and helped out with maintaining their old application server written in VB6. The new web platform was built in C# .NET.
Svensk Lånemarknad AB
Migrated and refactored a pre-existing loan application system and peripheral support systems to a more modern, performant, and fault-tolerant solution written in Ruby.
ComAround AB
Maintenance of an older self-service support platform and design, development and maintenance of a new version of the platform built from the ground-up using modern web techniques. The original system was built in ASP.NET Web Forms (C#) and the new system was built in ASP.NET MVC (C#) with an AngularJS frontend.
Responsible for designing, implementing, and configuring a search engine solution based on Apache Solr.
Sphinxly AB
Implementation of websites from designs on top of an in-house built Content Management System (CMS) in parallel with some development and maintenance of the CMS itself. Everything was built in C# and ASP.NET Web Forms.
Thank you for reaching out!
Your message has been sent. I will get back to you as soon as possible.
Something went wrong
Your message could not be sent. Please try again later or reach out to me via LinkedIn or GitHub.
Contact me
If you are interested in hiring me for a project or if you have any questions, feel free to reach out to me via the contact form below.