Dominik Czerwiński
Solution Architect | .NET | Distributed Systems | Cloud
I am a Solution Architect working primarily in the .NET ecosystem. I design business systems so they can evolve without accumulating unnecessary complexity - using DDD, modular architecture, and an approach matched to the scale and context of the system.
I am currently focused on building a practical AI-assisted software delivery model - AI as an integral part of the full development lifecycle.

What I do
System architecture
I design backend system architectures - from modular monoliths to distributed systems. I focus on clear boundaries, consistency and long-term evolution.Requirements and system boundaries
I translate business requirements into domain boundaries, APIs, and component responsibilities - working with stakeholders before the design decisions are made..NET and Cloud
I build solutions using .NET and Azure, focusing on scalability, reliability and maintainability in production environments.AI-assisted SDLC
I build practical AI-assisted software delivery models - AI integrated across the full development lifecycle, from specification through to production.Integrations and APIs
I design and develop APIs and system integrations. I maintain contract consistency, stability and the ability to evolve without frequent breaking changes.Team alignment
I help define responsibility boundaries between frontend, backend, APIs and integrations so teams work from a consistent model.How I think about architecture
How I work
Understanding the problem
I start by understanding the business problem, system constraints, and where the current solution stops scaling or becomes too costly to change.Architectural decisions
I design based on actual constraints, requirements, and scale - not on diagram-driven assumptions. I name the consequences of architectural decisions explicitly.Simplifying systems
I reduce unnecessary complexity, define clear responsibilities and focus on consistency. I design so that adding a new feature next year doesn't require significant rework of existing components.Staying close to the implementation
I stay involved beyond the design phase. I conduct design reviews, support the team on difficult cases, and make sure architectural decisions are reflected in production code.Responsibilities
- •Designing backend, integration, and API architectures
- •Owning architectural decisions from problem analysis through to production
- •Translating business requirements into system boundaries, APIs, and component responsibilities
- •Maintaining architectural consistency across teams and system layers
- •Mentoring developers and technical leads on architecture, DDD, and system design
Experience
CSHARK
Mar 2023 – Present
Domain: sales and order processing, SAP-integrated enterprise platform for a global industrial company
Senior Software Engineer (Technical Leadership / Architecture)
Mar 2023 – Present
Leading technical direction for sales and order processing capabilities.
- Designed architecture for order intake, order change and order management flows
- Introduced modular structure aligned with business domains and process boundaries
- Designed consistent APIs for internal, frontend and external integrations
- Clarified responsibilities and flows between backend, frontend, integrations and source systems
- Coordinated technical decisions across teams
- Improved documentation, onboarding and long-term maintainability
- Developing practical AI-assisted development workflows supporting analysis, specification, implementation and review
Sente IT Systems
Feb 2013 – Feb 2023
Domain: enterprise financial platform with ERP and CRM modules, covering product sales, financial settlements, accounting, and broader business operations
Lead Architect
Sep 2016 – Feb 2023
Led architecture of a large-scale financial system under legacy constraints, high domain complexity, and limited architectural capacity across the organization.
- Owned architectural direction for the entire system
- Led transformation from legacy database-driven system to distributed architecture
- Designed migration strategy using microservices and strangler pattern
- Introduced DDD, CQRS, and event-driven architecture
- Built internal frameworks and engineering standards
- Coordinated architecture across 60+ developers and multiple teams
.NET Developer
Feb 2013 – Aug 2016
Development of a financial system using .NET and Firebird.
Education
Wrocław University of Science and Technology
2009 – 2014
Master of Science, Computer Science
IT Systems Design
2013 – 2014
Grade: Very GoodBachelor of Engineering, Computer Science
2009 – 2013
Grade: ExcellentKey Projects
Legacy System Transformation
Sente IT Systems
Legacy system based on database logic and Firebird, with scalability issues and increasing operational risk.Approach
- •Migration using the strangler pattern.
- •Gradual decomposition of the monolith into microservices.
- •Moving parts of the processing to real-time.
- •Introducing DDD as the foundation for domain modeling.
Impact
- •Reduced operational risk by decoupling new service logic from high-risk legacy database code.
- •Gave teams the ability to extend and replace individual modules without affecting the rest of the system.
- •Consistent module structure and integration patterns across a 60+ developer project.
Sales and Order Management Domain Redesign
CSHARK
System with fragmented business logic, inconsistent APIs, and growing integration needs.Approach
- •Domain-driven modularization and clarification of responsibilities.
- •API redesign focused on consistency and external integrations.
- •Separation of logic between backend, frontend, and source systems.
- •Alignment of technical decisions across teams.
Impact
- •New order processing flows can be built on established domain boundaries without redesigning existing ones.
- •Stable API contracts reduced breaking changes for frontend and external integration teams.
- •Clearer responsibility boundaries reduced cross-team coordination overhead per change.
AI-Assisted Software Delivery Flow (Pilot)
CSHARK
Building a practical process for using Generative AI in team work: from project knowledge and specification through implementation to review.Approach
- •Designed a structured SDLC workflow with defined AI roles: spec writer, implementer, reviewer, and decision support.
- •Built role-based agent configurations and instruction sets for GitHub Copilot and Claude Code.
- •Applied the workflow on a real commercial project - iterating on knowledge base organisation, spec structure, and review cycles.
- •Documented the methodology as a public blog series (ongoing, EN/PL) and published an open-source reference implementation.
Impact
- •Process in active daily use on a real commercial project.
- •Open-source reference implementation at github.com/dczerwinskipl/ai-sdlc-from-scratch.
- •Blog series documenting practical lessons, tooling decisions, and control mechanisms for AI-assisted software delivery.