Photo of Henrik Becker

Henrik Becker

Senior .NET Developer

  • 34 38 224 37 64+
  • es.rekcebkirneh@tcatnoc
  • www.henrikbecker.net

Wasa Kredit

Lead Developer

Context

I joined Wasa Kredit (now LF Finans) as Lead Developer, working with a team responsible for several internal financial systems. The environment had accumulated years of technical debt, duplicated logic, and inconsistent architectural patterns. My role combined hands‑on development with guiding the team toward more sustainable ways of working.

Work

Reducing Complexity & System Decay

  • Refactored legacy components to reduce unnecessary complexity and slow ongoing system decay
  • Applied architectural patterns — primarily the Strategy pattern — to bring structure and consistency to previously divergent code paths
  • Analyzed older, tightly coupled components that were impractical to refactor and produced clear proposals for how they could be rewritten in a more maintainable form

Guiding Iterative Development

  • Helped shift the team toward a more iterative and collaborative way of working
  • Facilitated sessions where developers, testers, and business stakeholders sat together to discuss requirements and write Gherkin examples before implementation
  • Strengthened shared understanding by grounding discussions in concrete examples rather than abstract requirements

Living Documentation & Executable Specifications

  • Introduced the concept of living documentation using SpecFlow
  • Translated business rules into executable specifications that served as both tests and documentation
  • Helped the team understand how BDD/TDD practices could reduce ambiguity and improve long‑term maintainability

Application Development

  • Worked across a broad technical stack including C#, WinForms, ASP.NET MVC4, WCF, XML, and XSLT
  • Contributed to both backend services and user‑facing applications
  • Used Team Foundation Server and continuous integration to maintain build quality and support iterative delivery

Outcome

  • Reduced technical debt and improved the structure of key systems through targeted refactoring
  • Helped the team adopt a more collaborative, example‑driven approach to requirements and development
  • Established executable specifications as a practical tool for clarifying business rules and improving test coverage
  • Provided architectural guidance for rewriting legacy components that could not be safely refactored

Reflection

This role blended technical leadership with hands‑on engineering. It was a chance to bring order to a complex environment, support healthier development practices, and introduce tools that made requirements and system behavior easier to understand. It also marked a shift in my career toward roles where architecture, process, and code quality intersect.