Stefan Haas

Senior Software Engineer at

Hi 👋🏻, I am Stefan.

I work on one of the largest Angular apps in the world at Microsoft. I am being called a 'monorepo-guy' because I am a big fan of scaling frontend development with Nx. I would describe myself as a frontend platform engineer. This means I am either fighting compilers, bundlers, linters or CI/CD pipelines.

This blog is about my journey as a software engineer, my learnings, and my experiences. I am trying to learn in public and share my knowledge with the community. I am planning on writing about internals of Angular, Nx, and monorepos in general.

#LearningInPublic, #FrontendOps, #TypeScript, #Angular, #Monorepos

Blog Posts

Creating a typescript-eslint Plugin

Jan 15, 2025

Learn how to create a custom typescript-eslint rule for your TypeScript project. If you ever wanted to enforce a certain pattern in your codebase, this article is for you. I will show you how to create a custom rule based on a real-world example.

Incremental Builds with Nx

Jan 7, 2025

If you have a monorepo with multiple projects and libraries, you might run into the problem of long build times. This article explains how incremental builds with Nx work under the hood and we will explore Nx's internal codebase to understand how it works.

Refactoring TypeScript at Scale

Nov 30, 2024

Refactoring a large codebase can be a daunting task. In this article, we will explore some strategies for refactoring at scale using the TypeScript Compiler API to programmatically analyze and transform TypeScript code.

Enhancing Angular Signals

May 17, 2024

Angular signals are a reactive primitive that offers synchronous state management at the heart of the framework. But it is a very low-level primitive that can lead to a lot of confusion and bugs if not used with an abstraction layer that hides imperative APIs.

SSR and SSG with Analog

Mar 19, 2024

AnalogJS describes itself as the meta-framework for Angular similar to Next.js for React, Nuxt for Vue, SvelteKit for Svelte or Solidstart for Solid. It is a framework that provides a set of tools and conventions to build Angular applications with server-side rendering and static site generation.

Module Boundaries with Nx

Dec 21, 2023

Module boundaries are a great way to enforce architectural rules in your monorepo and manage dependencies. They allow you to define strict boundaries, which can be used to enforce architectural rules and prevent accidental dependencies between modules.

Talks

Professional Experience

10/2024 - todayMicrosoft
Senior Software Engineer

Working on frontend tooling and monorepos...

01/2024 - 09/2024Blockpit AG
Senior Frontend Developer

Working on the Blockpit platform, a tax reporting tool for cryptocurrencies. I am responsible for the frontend architecture and the development of new features. Shipped a new mobile app using Capacitor.

09/2022 - 09/2024Self-employed
Frontend Consultant / Freelancer

Worked as a frontend consultant and freelancer on various projects. Worked on frontend architecture, monorepos, and developer experience. Gave talks and workshops focusing on Nx and Angular and scalable frontends in general.

10/2021 - 11/2022L'AMIE direkt GmbH
Fullstack Developer

Lead the development of multiple frontends for an embedded insurance CRM. Worked on the backend in .NET and Azure on a micro-service-based architecture.

07/2020 - 09/2021Hermes Software GmbH
.NET Developer

Worked on a progressive web app for self-scan-and-go solutions in the point-of-sale software industry. Worked on traditional desktop applications for point-of-sale.

  • analogjs logoPowered by Analog - The Meta Framework for Angular
  • © 2025 Stefan Haas
    All Rights Reserverd