Mateusz Bryll
Software Engineer
About me
Hello! I'm Mateusz, a seasoned software engineer passionate about crafting innovative solutions. With over eight years of experience in software development, I've journeyed from the trenches of .NET and Angular development to the leadership role of an Engineering Manager.
Throughout my professional journey, I've had the privilege of contributing to many projects, each one a unique opportunity to flex my technical muscles and deliver high-quality solutions.
One of my true passions is the practice of Domain Driven Design, a methodology that empowers me to create elegant, maintainable, and scalable software architectures. It's this blend of technical know-how and a commitment to best practices that drives me to continuously push the boundaries of what's possible in the world of software engineering.
Mystack
.NET
As a software engineer, my expertise lies in C#, my primary programming language.
In web development, I excel in ASP.NET Core and ASP.NET Core MVC.
My architectural and design skills extend to Microservices and Domain Driven Design (DDD), with a focus on Command Query Responsibility Segregation (CQRS).
I leverage technologies like Entity Framework, Dapper, and StackExchange.Redis for efficient database access.
In testing and quality assurance, I employ xUnit for unit testing, Benchmark.NET for performance analysis, and FluentAssertions and FluentValidation for expressive and robust validation.
To enhance resilience and reliability, I utilize Polly for fault tolerance.
Angular
In frontend development, I specialize in crafting engaging user interfaces using Angular, which is the foundation for creating dynamic and responsive web applications.
I have a strong grasp of HTML and CSS, ensuring seamless integration of design and functionality. TypeScript is my preferred language for enhancing code quality and maintainability, while Redux and NGRX enable me to manage application state effectively.
I'm well-versed in working with Monorepo structures and NxWorkspace, streamlining development workflows. Additionally, I leverage Angular Material and Angular Elements to build reusable components and perform unit testing using Jasmine.
For design and prototyping, I utilize Adobe XD to bring user-centric designs to life.
Databases
In terms of data storage, I possess extensive experience in managing various database systems.
I excel in working with relational databases such as MS SQL, MySQL, PostgreSQL, SQLite, and Oracle, ensuring efficient data organization and retrieval.
Additionally, I'm well-versed in NoSQL databases like MongoDB and Redis, enabling me to handle diverse data storage needs effectively.
My expertise in these systems allows for robust data management and seamless integration into web applications.
Docker
I employ Docker as a critical tool in my development workflow in DevOps and containerization.
I craft efficient Dockerfiles using best practices, such as careful layers planning, installing dependencies without caching, and utilizing the lightweight Alpine Linux distribution whenever feasible.
Additionally, I optimize Dockerfiles with multi-stage builds to ensure lean and efficient container images. I also specialize in publishing .NET applications as platform-specific containers, enhancing compatibility and performance.
Docker serves as my primary environment for CI/CD pipelines, enabling seamless automation of deployment processes.
Furthermore, I leverage Docker for integration testing, ensuring consistent and reliable application performance across various environments.
Kubernetes
In Kubernetes orchestration, I demonstrate proficiency in creating and managing clusters using platforms like AKS (Azure Kubernetes Service), EKS (Amazon Elastic Kubernetes Service), and Kubeadm.
I implement essential features such as Liveness, Readiness, and Startup Probes and define CPU and memory limits for resource allocation.
I use cert-manager, which is seamlessly integrated with the Ingress controller. This integration is configured to work with ACME Certificate Authorities. It is complemented by Azure DNS or Route 53 to enable the automatic DNS01 ACME challenge.
I employ Helm charts to streamline deployment and management, ensuring consistency and efficiency in complex environments.
Furthermore, I possess a deep understanding of Kubernetes architecture, encompassing control planes and worker nodes, and I implement autoscaling and load-balancing strategies to optimize application performance.
Git
In my Git repositories, I employ best practices to maintain an organized and efficient codebase. I utilize a mono repo structure and Git submodules for modular code management.
My repositories encompass not only application code but also infrastructure components.
I'm proficient in Git platforms like GitHub and GitLab, where I practice effective version control and collaboration.
Pull Requests are a vital part of my workflow, ensuring code quality and collaboration when working within a team. This approach extends to application code and infrastructure configurations, creating a seamless and reliable development environment.
Seamless working technologies
Seamless working technologies
.NET
As a software engineer, my expertise lies in C#, my primary programming language.
In web development, I excel in ASP.NET Core and ASP.NET Core MVC.
My architectural and design skills extend to Microservices and Domain Driven Design (DDD), with a focus on Command Query Responsibility Segregation (CQRS).
I leverage technologies like Entity Framework, Dapper, and StackExchange.Redis for efficient database access.
In testing and quality assurance, I employ xUnit for unit testing, Benchmark.NET for performance analysis, and FluentAssertions and FluentValidation for expressive and robust validation.
To enhance resilience and reliability, I utilize Polly for fault tolerance.
Angular
In frontend development, I specialize in crafting engaging user interfaces using Angular, which is the foundation for creating dynamic and responsive web applications.
I have a strong grasp of HTML and CSS, ensuring seamless integration of design and functionality. TypeScript is my preferred language for enhancing code quality and maintainability, while Redux and NGRX enable me to manage application state effectively.
I'm well-versed in working with Monorepo structures and NxWorkspace, streamlining development workflows. Additionally, I leverage Angular Material and Angular Elements to build reusable components and perform unit testing using Jasmine.
For design and prototyping, I utilize Adobe XD to bring user-centric designs to life.
Databases
In terms of data storage, I possess extensive experience in managing various database systems.
I excel in working with relational databases such as MS SQL, MySQL, PostgreSQL, SQLite, and Oracle, ensuring efficient data organization and retrieval.
Additionally, I'm well-versed in NoSQL databases like MongoDB and Redis, enabling me to handle diverse data storage needs effectively.
My expertise in these systems allows for robust data management and seamless integration into web applications.
Docker
I employ Docker as a critical tool in my development workflow in DevOps and containerization.
I craft efficient Dockerfiles using best practices, such as careful layers planning, installing dependencies without caching, and utilizing the lightweight Alpine Linux distribution whenever feasible.
Additionally, I optimize Dockerfiles with multi-stage builds to ensure lean and efficient container images. I also specialize in publishing .NET applications as platform-specific containers, enhancing compatibility and performance.
Docker serves as my primary environment for CI/CD pipelines, enabling seamless automation of deployment processes.
Furthermore, I leverage Docker for integration testing, ensuring consistent and reliable application performance across various environments.
Kubernetes
In Kubernetes orchestration, I demonstrate proficiency in creating and managing clusters using platforms like AKS (Azure Kubernetes Service), EKS (Amazon Elastic Kubernetes Service), and Kubeadm.
I implement essential features such as Liveness, Readiness, and Startup Probes and define CPU and memory limits for resource allocation.
I use cert-manager, which is seamlessly integrated with the Ingress controller. This integration is configured to work with ACME Certificate Authorities. It is complemented by Azure DNS or Route 53 to enable the automatic DNS01 ACME challenge.
I employ Helm charts to streamline deployment and management, ensuring consistency and efficiency in complex environments.
Furthermore, I possess a deep understanding of Kubernetes architecture, encompassing control planes and worker nodes, and I implement autoscaling and load-balancing strategies to optimize application performance.
Git
In my Git repositories, I employ best practices to maintain an organized and efficient codebase. I utilize a mono repo structure and Git submodules for modular code management.
My repositories encompass not only application code but also infrastructure components.
I'm proficient in Git platforms like GitHub and GitLab, where I practice effective version control and collaboration.
Pull Requests are a vital part of my workflow, ensuring code quality and collaboration when working within a team. This approach extends to application code and infrastructure configurations, creating a seamless and reliable development environment.
How
- Advocating collaboration, I work closely with diverse teams to foster innovation.
- Guided by data-driven insights, I strive for excellence in every project I undertake.
- Incorporating Agile methodologies, I ensure adaptability and iterative development.
- Leveraging mentorship, I empower others to grow and excel in their careers.
- Efficiently managing projects, I maintain an organized workflow for collaborative success.
Agile
I use Scrum and Agile methodologies to foster collaboration, adaptability, and iterative development.
Event Storming
I use workshops to visualize complex systems and maintain shared understanding.
Metrics
I leverage data-driven insights to measure performance and drive informed decision-making.
Domain Modeling
I create structured representations to capture and refine complex system concepts, fostering clear communication and design.
Mentoring
In mentoring, I provide guidance and knowledge sharing to empower others in their professional growth and skill development.
Data Analysis
I harness insights to inform strategic choices and drive data-driven outcomes.
Mytrail
Allegro Pay
Engineering Manager
I orchestrated the architectural and strategic direction of technical projects, balanced technical and business priorities, and cultivated an environment that prioritized open communication, and data-driven decision-making.
Teku.tech Poland
Lead Software Engineer, Team Leader
I held the position of Lead Full Stack .NET and Angular Software Engineer while also serving as a System Architect and Team Leader. Additionally, I played a crucial role in programming alongside my team to deliver value in an agile manner.
Forcom
Senior Software Engineer, Project Manager
I was a Full Stack Software Engineer, maintaining and developing the company's most significant product. I stepped into the role of Project Manager for a critical project with our largest client under urgent circumstances.
NetComm Technologies
Software Developer
I worked as a Software Developer. My primary responsibility was to develop products within the .NET environment for the company's most prominent client. I also had the role of collecting requirements in addition to my responsibilities as a Software Developer.
Poznan University of Technology
Faculty of Computing
Advanced Internet Technologies
Degree: Master of Science
Final grade: Very good with distinction
Thesis title: Microservice Architecture in a Distributed Web Application
Poznan University of Technology
Faculty of Electrical Engineering
Security of InformationTechnology (IT) Systems
Degree: Bachelor of Science Engineer
Final grade: Very good with distinction
Thesis title: Implementation of Token-based Authentication in RESTful Web Services
My
Let's connect and blaze new trails!
<code>
Together we can build a new application from idea to production!
</code>