/* Modernizing legacy software, one clean commit at a time. */
const developer = "Marko Andersson";|

About Me & Expertise
Building Web Applications
Java/Spring, C#/.NET Core, JavaScript
Cloud native solutions
Azure, AWS
Modern Software Development
Clean code, Constant feedback, TDD, DevOps, CI/CD
Caring about the Legacy
Appreciating, improving, and evolving existing systems
Pragmatic Agile Methodologies
Focus on principles instead of practices
Leveling Up the Team
Mentoring, knowledge sharing, pairing, code reviews
AI in Software Development
Exploring and utilizing AI tools
My Journey
As a senior developer with over 18 years of experience, I've learned to focus on what really matters: understanding the business context, working closely with teams, and creating sustainable solutions. I connect technology with business needs through clean code that speaks the language of the business domain. This makes communication clearer between technical and non-technical people. For me, Test-Driven Development is a practical tool for designing maintainable software that works as expected.
My biggest lesson over the years is simple: the best solutions are usually the simplest ones. I deliver value in small, frequent iterations with constant feedback, so we can adjust quickly to changing requirements without creating unnecessary complexity. Since every problem exists in its own unique context, I don't believe in one-size-fits-all approaches. Instead, I try different solutions and pick the one that works best for the specific situation.
Let's connect and discuss how I can contribute to your next project.
How I Can Help?
With over 18 years of experience in software development, I bring a pragmatic and sustainable approach to solving complex technical challenges. Here's how I might be able to help you:
My Manifesto
I'm uncovering better ways of developing modern software by doing it and helping others do it. Through this work I have come to value:
-
Sustainable solutions over quick fixes
-
Context-driven problem solving over universal methodologies
-
Adapting to new insights over following the initial plan
-
System thinking over isolated optimizations
-
Customer-centric problem solving over implementing feature lists
-
People collaboration over siloed expertise
-
Understanding root causes over treating symptoms
-
Iterative evolution of legacy systems over immediate, high-risk rewrites
That is, while many think there is value in the items on the right, I only value the items on the left.
I follow these principles:
-
I aim to create code that is not only technically sound but also readable and maintainable for the long term.
-
I write code for humans first, computers second. Clarity and maintainability outweigh clever optimizations.
-
I believe in "leaving the campground cleaner than you found it," consistently producing clean, well-tested code.
-
I understand knowledge sharing multiplies the impact of good solutions. Documentation and mentoring are essential parts of the process.
-
I understand that technical challenges are often symptoms of underlying organizational patterns.
-
I focus on investigating the underlying needs and the "why" behind the "what" when solving problems.
-
I aim to create a shared understanding between developers and business stakeholders where the code reflects real-world actions and concepts.
-
I understand that each system and its organizational context is unique, and "ready recipes" for improvement rarely succeed.
-
I recognize that significant change is a team effort requiring buy-in and collaboration from other developers, business stakeholders, and those skilled in navigating organizational dynamics.
-
I view TDD primarily as a tool for designing software that precisely meets requirements and exhibits good internal structure.
-
I prioritize a pragmatic approach to delivering working software that truly meets user needs.
-
I recognize the inherent business value in systems that have served their purpose over years instead of calling them legacy.
-
I focus on strategic, iterative evolution rather than immediate, high-risk rewrites.
-
I leverage techniques for safely refactoring and introducing tests into systems lacking adequate test harnesses.
-
I believe that true value comes from deeply understanding the problems customers are trying to solve.
-
I think business value is the ultimate measure of technical success. Technology serves people, not the other way around.
What People Say
"He understand context, technical limitations and weaknesses well. He fixes or mitigates problems proactively and helps make a plans for better implementations."
"He helps the whole team to work better with professional attitude and skills."
"He is not afraid to raise issues and has logical and pragmatic approach to solving issues or designing new developments."
— Lead Developer
"Responsible and proactive. Competent in the field. Good communicator and team player."
— Senior Developer
"Skilled, self-directed, helpful, execution and also great design skills."
— Technology Director
"With great cooperation, you have struggled through difficulties to implement a new solution. Good work!"
— Director
"Marko Andersson has been adopting great to the stream and way-of-working from Nortal team and he has been also developing further the working models incl. scrum mastership role for the technical development."
— Technology Director
"Marko just might be the cleanest coder I have ever had the pleasure of knowing. Having worked with him for about a year, I have learned to really appreciate his drive to improving the maintainability and elegance of the code around and ahead of him. And: his approach is practical and supportive of others."
"However, to me the greatest thing about him is that he is a team-first -kind of guy. He will accept responsibility of the team’s deliverables, can do any role (architect, coder, tester, scrum master) and do it well, will strive for perfecting the processes and Is always ready to help a team member in need. He is the kind of guy you really want in your team."
— Entrepreneur
"If you want an experienced software development professional in your team, look for guys like Marko. He is equipped with excellent technical skills and can handle any technical problem. Every team also needs members who want to create solutions with excellent quality and push team's technical standards forward. That's why me and other Marko's team members greatly appreciate his attitude of not being satisfied with mediocre results. Marko also is one the guys who is not only familiar with agile and lean ways of working but knows how to do it in practice. "
— Product Manager
"Marko's enthusiasm to clean code is unparalleled. But more importantly, Markos aura generates clean code around him. I owe him a great thanks for teaching me how to imagine code. It is not the syntax or the functions, but a poem which describes your intentions. With this in mind, I can write readable and robust code that every developer after me will understand. "
— Senior Software Developer
"Marko is a wonder-boy on what comes to Java and especially Spring! I had the honor to work with him for a year, and learned soooo much about the good practices what comes to keeping code in order and patterns in place."
"Marko is an avid learner who manages to inspire others as well, as teach ways to become a better programmer. +10 would work with him again!"
— CO-Founder
"Marko is a hard working, analytical professional, and a pleasure to work with. His contribution to server system design and development has been invaluable. I will gladly recommend Marko for his software design, development, and communcational skills."
— Founder
Featured Projects
Digital Media Platform Modernization
As a senior developer, I contributed to modernizing a legacy self-service platform in the media industry. I implemented CI/CD pipelines and helped establish domain-aligned architecture principles. My role included designing and implementing integration between the legacy database system and a modern third-party SaaS service platform, which enabled new capabilities while maintaining system stability. I created robust test harnesses that supported confident feature development in a complex environment where multiple applications shared a single database.
I set up automated CI/CD pipelines for the legacy application using Azure DevOps, helping transform the process from manual to automated deployments and enabling more frequent, smaller releases. I suggested practical improvements to team dynamics, such as establishing shared sprint goals and limiting work-in-progress within my areas of influence.
I participated in planning sessions with stakeholders to better align priorities before development began when possible. I provided technical guidance to team members, demonstrating clean code practices and domain-driven design principles through practical examples in my contributions.
I focused on deeply understanding the business domain to ensure my technical solutions aligned with real user needs and business objectives. I balanced addressing technical debt with new feature development in my work areas, ensuring continuous delivery of business value despite the challenges of a large-scale rewrite. This project demonstrates my commitment to creating sustainable value through quality engineering practices, even when working within constraints of broader project decisions.
I iteratively reimplemented old stored procedure logic as C# code by incrementally moving the SQL to the C# project and then refactoring it to EF Core queries and C# logic, all while maintaining the working system. The partial rewrite was secured with extensive blackbox and integration tests to ensure reliability and business continuity.
Product Lifecycle Management System
Developed a product lifecycle management system that streamlined the entire process of product changes, including Bill of Materials (BOM) management and structured review workflows. Created a Java/Spring backend and web UI, while also developing a companion mobile client that enabled field technicians to document investigations of damaged products with photos and evidence, significantly improving report quality.
Implemented a detailed investigation module for damaged or malfunctioning products, allowing engineers to document findings and track resolution progress. The mobile client significantly improved the quality of field reports by providing real-time data collection capabilities.
Designed an web UI for the main system that streamlined the review and approval workflows, making it easier for stakeholders to collaborate on product changes. Integrated document management capabilities to ensure all product specifications and change documentation were properly versioned and accessible.
Mentored junior developers on the project, providing guidance on best practices in software development, code reviews, and architectural decisions. Established coding standards and documentation practices that improved overall code quality and team productivity.
High Security Government Project
Enhanced a high-security system for the Finnish government that involved complex integrations with various government systems and third-party platforms. Established a more effective workflow for demoing the software directly to end-customers, which significantly improved feedback cycles and stakeholder satisfaction. Improved feature design using UI sketches and mocking to design UI features with stakeholders.
Sharepoint Application Modernization
Led the successful modernization of a legacy Sharepoint application by reimplementing outdated views with modern React components while porting selected C# code to .NET Core. This transformation improved user experience, application responsiveness, and overall performance. Designed a clean architecture that separated frontend and backend concerns, making the system more maintainable and easier to extend while establishing automated testing practices to ensure feature parity.
Carefully analyzed the existing codebase to identify components that could be reused and those that needed to be rebuilt, ensuring an efficient modernization process that preserved valuable legacy functionality while eliminating technical debt.
Completely reimplemented the outdated Sharepoint views with modern React components, improving the user experience and application responsiveness. The new architecture made the system more maintainable and easier to extend.
Established automated testing practices that ensured the modernized application maintained feature parity with the legacy system while enabling safer future enhancements. Worked closely with the client to prioritize features and deliver incremental value throughout the modernization process.
Order Tracking System
Led the end-to-end development of a cloud-native order tracking system with worldwide usage, from initial sales and requirements gathering to final delivery. The system allowed customers to track orders in real-time and receive status notifications through a responsive UI. As scrum master, implemented an approach where customers directly tried the software in test environments during weekly demos, creating high trust and earning recognition from the client.
Created a integration layer to pull data from the legacy internal order management system that previously couldn't provide data to external users. Architected the solution to run entirely in Azure, leveraging cloud services for scalability, reliability, and global accessibility.
Implemented a secure data synchronization mechanism that protected sensitive information while providing customers with the details they needed. Advocated for and implemented DevOps practices, setting up continuous integration and delivery pipelines that enabled frequent, reliable deployments.
Collaborated with UX designers to create an intuitive interface that received positive feedback from international users. The weekly demo approach where customers directly tried the software in the test environment, instead of us presenting finished features, created high trust between the client and the team and resulted in recognition for this project management approach.
PIM to Webshop Integration
Helped to implement a serverless, cloud-native integration between a legacy Product Information Management (PIM) system and a new webshop frontend using JavaScript and AWS Lambda. Created robust data transformation services that normalized and enriched product data while implementing optimized caching strategies to ensure fast response times and efficient resource utilization in the cloud environment.
Developed a seamless data flow between the systems that enabled the modern webshop to access and display product information from the legacy PIM system without requiring major changes to either system. The serverless architecture provided cost-effective scaling to handle varying loads.
Collaborated closely with both the PIM team and frontend developers to ensure the integration met all requirements and provided a consistent user experience. Established monitoring and alerting for the serverless functions to ensure reliability and quick response to any issues in the production environment.
Transportation Management System
Participated in the development and improvement of established transportation management system. Successfully established API specifications and coordinated development efforts between two companies, ensuring seamless integration and data flow while maintaining data integrity and functionality. Implemented highly praised features that significantly improved user experience and operational efficiency in the logistics domain.
Applied clean code practices and test-driven development to ensure high-quality, maintainable code. Collaborated closely with stakeholders to understand business requirements and translate them into technical solutions that addressed real user needs in the logistics domain.
Participated in planning steps to modernize and simplify the existing system that had become too complex over time. The system had accumulated numerous features over the years without removing unused ones, leading to maintenance challenges and decreased development velocity. Our team analyzed usage patterns, identified obsolete features, and created a phased approach to streamline the system while maintaining critical functionality. This modernization initiative improved system performance, reduced maintenance costs, and enhanced the overall user experience.
Multiplayer Game Communication Servers
Participated architecting and building pioneering high-performance communication servers for multiplayer mobile games that enabled real-time interaction between game clients. This custom solution, developed before such functionality became commonplace via Unity and cloud services, included a complete ecosystem with CMS for game developers, JMS-based messaging, clustered Cassandra databases for scalability, and comprehensive monitoring systems that maintained 99.9% uptime for mission-critical gaming infrastructure.
Created a CMS system for game developers to modify, synchronize, and publish game-related data to test and production databases. This significantly streamlined the game development workflow and reduced time-to-market for new game features and updates.
Implemented an enterprise communication system based on JMS (Java Message Service) to ensure reliable message delivery between system components. Developed server monitoring and controlling systems to maintain high availability and performance.
Built data collection mechanisms and visualization tools to present historical performance data, enabling proactive system optimization. Designed and implemented various REST interfaces for client applications, optimizing data access with clustered Cassandra databases for high scalability.
Created user interfaces using Vaadin framework for internal tools and administration panels. Introduced strong unit and integration testing practices to the team, significantly improving code quality and reducing errors in the mission-critical back-end servers. Led project teams and mentored other developers in best practices for high-performance server development.
Test Data Generation Utility
Developed a sophisticated test data generation framework for energy meter systems that significantly reduced test setup time and improved test coverage by simulating diverse energy consumption patterns, meter readings, and customer scenarios. As the first consultant on the project, delivered such exceptional value that the client expanded their consulting engagement. The solution maintained complex referential integrity and business rules while creating realistic test scenarios that helped identify critical issues before production deployment.
Designed the framework with flexibility in mind, allowing testers to easily configure different test scenarios without requiring deep technical knowledge of the underlying database structure. This democratized testing and enabled more thorough validation of system behavior under diverse conditions.
Developed utilities to clean up generated test data after test execution, ensuring the test environment remained in a consistent state between test runs. Created documentation and training materials to help the testing team effectively utilize the data generation tools.
Worked closely with quality assurance teams to understand their testing requirements and continuously improved the data generation utility based on their feedback. The solution significantly reduced the time required to set up test scenarios and improved test coverage across the application.
Certificate Management System
Participated of developing a secure certificate management system for a Finnish telecom company that simplified complex PKI operations while maintaining security standards. The system handled the complete lifecycle of CA certificates—managing, signing, revoking, and listing—with Microsoft Active Directory integration and comprehensive audit logging for compliance. Created intuitive interfaces that made certificate management accessible to non-technical users while automating workflows to reduce manual errors.
Enhanced an existing custom configuration management system before participating in creating a completely new system based on the existing platform. The new system significantly improved security compliance and operational efficiency for the telecom company's certificate management processes.
Developed robust integration with Microsoft Active Directory for secure user authentication and authorization, ensuring that only authorized personnel could access sensitive certificate operations. Implemented comprehensive logging and audit trails to maintain security compliance and traceability of all certificate-related actions.
Collaborated closely with security experts to ensure the system adhered to industry standards and best practices for public key infrastructure (PKI). Participated in code reviews and security audits to maintain the highest level of security throughout the development lifecycle.
Books That Influenced Me

Clean Code
Robert C. Martin

The Pragmatic Programmer
Andrew Hunt, David Thomas

Design Patterns
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Refactoring
Martin Fowler

Domain-Driven Design
Eric Evans

Fixing your Scrum
Ryan Ripley, Todd Miller

The Phoenix Project
Gene Kim

The Unicorn Project
Gene Kim

Accelerate
Nicole Forsgren

User Story Mapping
Jeff Patton

Working Effectively with Unit Tests
Jay Fields

Working Effectively with Legacy Code
Michael C. Feathers

Clean Coder
Robert C. Martin

Team Topologies
Matthew Skelton