With approximately a decade of experience, I have been actively involved in a variety of software engineering roles. I have engaged in freelance projects on platforms such as Upwork, Fiverr, and Freelancer, successfully completing over 150 small to mid-level projects for clients spanning various industries, consistently delivering on time and within budget.
Additionally, I have held remote positions and worked in corporate settings, contributing to a diverse range of projects. This includes remote roles where I collaborated with teams from around the world, and corporate positions that provided valuable experience in large-scale software development environments.
Demonstrating a firm commitment to staying current in the industry, I consistently invest in professional development, including courses related to software architecture and continuous learning. This proactive approach enables me to provide cutting-edge solutions to clients.
I specialize in various areas, including, but not limited to:
Designing scalable applications in C# .NET
Confidently shipping well-architected, production-ready apps using N-Layer Architecture and Clean Architecture. While Clean Architecture remains very pure and adheres strictly to its principles, I always tend to take a pragmatic approach towards it.
Utilizing best practices to design a Rich Domain Model with Domain-Driven Design (DDD), with a particular focus on the most important DDD tactical patterns.
Applying OOP principles such as SOLID, DRY, KISS, and YAGNI.
Implementing design patterns like the Repository Pattern, Unit of Work Pattern, CQRS Pattern, Mediator Pattern, and Options Pattern to effectively address cross-cutting concerns.
Applying best practices to EF Core and achieving incredible query performance with Dapper.
Developing Interactive, Rich Client-Side, and Progressive Web Applications Using Blazor.
Developing .NET MAUI Blazor Hybrid applications.
Skillfully implementing Structured Logging through Serilog.
Ensuring code quality and reliability through comprehensive testing using xUnit.
Proficiently managing deployments through Azure DevOps CI/CD and GitHub Actions.