Stefan Haas

Senior Software Engineer at Microsoft

I am a Senior Software Engineer working at Microsoft. I live in Austria and I am passionate about frontend tooling and monorepos. I am a big fan of Angular and TypeScript. Outside of work, I am a husband and father of two.

I care about developer experience and making the life of developers easier. The frontend ecosystem excites me, as it is constantly evolving. I am always eager to learn new things and share my knowledge with others. As a writer and author of technical blog posts, I enjoy exploring ideas and sharing them with the dev community.

Blog

typescript-eslint Cover Image

Creating a typescript-eslint Plugin

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 Cover Image

Incremental Builds with Nx

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 at Scale Cover Image

Refactoring TypeScript at Scale

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 Cover Image

Enhancing Angular Signals

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.

Analog cover image

SSR and SSG with Analog

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 Cover Image

Module Boundaries with Nx

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

Podcasts

Satisfied Clients

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
  • Imprint
  • Data Protection