About me

A Senior .NET Developer with excellent understanding of the best coding practices and hands-on experience with Azure Cloud services.

Experienced working as a Team Lead on multiple software development projects in different industries while following recent technologies and processes. Proactive and team-oriented with strong passion for learning new technologies and developing new skills.

Experience

Senior .NET Developer

Sept 2021 - Present
MentorMate
  • .NET Team Lead in a large project, leading a team of 4 BE devs - tasks distribution and delegation, code reviews and mentoring
  • Responsible for high-level architecture decisions
  • Solving challenging problems and refining business specifications to code
  • Mentoring two Junior Devs - providing guidance, reviewing tasks, tracking project performance and setting yearly goals
  • Managing an internal full-stack project (.NET/React) built by 3 interns as part of their internship program

.NET Developer

Aug 2016 - Sept 2021
MentorMate
  • Experience in multiple projects, varying in complexity, scale (1-35+ people), industry (medical, education, energetics and inventory management)
  • Experience with microservice architecture and making global architecture decisions
  • Participating in the full software development process - design, development, unit testing, documentation
  • Analyzing root cause of issues and debugging complex functionality
  • Estimating new project phases and iteration scopes
  • Collaboration with the whole development team to ensure process and quality
  • Participation and enhancement of an established daily SCRUM process

Junior .NET Developer

Jul 2015 - Aug 2016
MentorMate
  • Working on an internal project for gamified estimating/planning
    • Discussed, planned, estimated and implemented new features of the system
    • Researched handling the SignalR communication between the BE and the FE
  • Solo developer in an existing project - responsible for new development, supporting existing features, DB migrations and deployments (incl. Production)

Certifications

Projects

Veterinary Services Provider (2023 - 2025)

A global leader in veterinary services, delivering animal care in around 2,500 locations across 20 countries.

The project utilizes a mono-repository containing multiple Azure Functions based microservices. Event-driven architecture backed by Azure Cosmos DB.

Responsibilities:

  • Participating in creating an MVP for an app feature providing video consultations
  • Creating and maintaining a microservice responsible for queuing up people for a video consultation
  • Creating and maintaining a microservice responsible for managing video rooms for scheduled appointments (creation, URL generation, token generation)
  • Working with event-driven architecture, collaborating with other teams to ensure the proper workflow with related events and event handlers
  • Syncing from and updating an external veterinary management system
  • Maintaining high test coverage for all new features

Technologies: .NET 8, Azure Functions, Azure Cosmos DB, Azure App Configuration, Terraform, Twilio, NSubstitute

Ascend Analytics (2022)

Management of price prediction for electricity produced by power plants.

The project replaced the client’s old desktop app with a web based solution using a React frontend, NET Core 3.1 backend and leveraging the project’s legacy Oracle database.

Responsibilities:

  • BE team lead of 3 BE developers
    • Collaborating with TLs that work on other parts of the project
    • Actively participating in planning and estimation
    • Task distribution and delegation
    • Mentoring the team to ensure good code quality, performing code reviews
  • Migrating existing features, ensuring they are compatible with the existing desktop app
  • Optimizing existing features for performance, considering the slow existing DB
  • Developing new features & enhancements
  • Developing a lot of reusable core logic, so the development is faster and more consistent - custom SQL query builder, CSV importer, CSV validator, CSV exporter, localization
  • Creating manual SQL queries to the legacy Oracle DB for all data retrieval
  • Introducing localization to the project

Technologies: .NET Core 3.1, SignalR, Azure Cloud, Azure DevOps, Oracle SQL

Junior Achievement (2021)

The PAS platform is an internal system where JA can create surveys/tests, whereas teachers and volunteers can access and share those according to their programs. Users are able to upload learning materials, structure them in a learning path for a program,and share them with the particular Google Classroom that needs the materials.

The Integration Management System is a hub for all JA integrations with external providers, it allows secure management of API credentials and certificates for each school. External providers include Google Classroom, Google Drive, Zoom, Microsoft Teams.

The Asset Management System is a centralized CMS (based on Orchard Core), through which the users are able to upload learning materials, structure them in a learning path for a program, and share them with the particular Google Classroom that needs the materials.

Additional microservices were created to handle different background tasks and external integrations via REST calls and ServiceBus messages. Examples - uploading the contents of a Google Drive ZIP file to Azure Blob Storage as a static website; syncing the contents of multiple ZIP files to a Google Classroom.

Responsibilities:

  • Maintaining existing codebase and microservice infrastructure
  • Making high-level architecture decisions on newly created projects
  • Developing a system for managing credentials and certificates for external systems using Azure Key Vault
  • Developing a custom CMS solution from scratch using Orchard Core and Azure Blob Storage
  • Developing a microservice that uploads multiple ZIPs from the CMS in a Google Classroom
  • Developing a microservice that uploads the contents of a ZIP file in an Azure Blob Storage static websites
  • Implementing Azure Service Bus messaging for all microservices in the project
  • Creating Azure resources for all new projects - App services, Databases, Blob Storages, etc.
  • Migrating the configuration of all existing microservices to Azure App Configuration
  • Migrating all existing microservices from .NET Core 3.1 to .NET 6
  • Setting up CI/CD and Azure resources for all new projects

Technologies: .NET 6, EF Core, MSSQL, Azure App Services & API Management, Azure Blob Storage, Azure App Configuration, Azure KeyVault, Azure ServiceBus, Azure DevOps CI/CD, Graphql, OrchardCore, Google Classroom API, Google Drive API

Diabetes Management System (Jun 2020 - Dec 2020)

Rewriting a diabetes helper platform from .NET Framework to .Net Core 3.1, hosted in Azure (App Services + MS SQL)

The platform is used by diabetes patients and their doctors to support the tracking and management of their health logs and data. It has a Web Portal, as well as a mobile app.

Responsibilities:

  • Participating in rewriting the old .NET API to WebApi 2 to .NET Core 3.1
  • Migrating existing functionality and developing new features
  • Participating in architecture discussions for the new app
  • Participating in DB architecture discussions
  • Writing and optimizing complex EF Core queries

Technologies: .NET Core 3.1, WebApi 2, EF Core, MSSQL, Azure App Services, Azure Blob Storage

Krames on FHIR application (Jan 2020 - Jun 2020)

An application that enables delivering up-to-date patient education at the point of care. It integrates with an EHR system, allowing to provide content based on the patient’s profile and clinical encounter. It also delivers content through a patient portal or in print, helping patients understand and improve their health condition.

Responsibilities:

  • Working with the team to migrate the application from .NET Framework 4.6.2 to .NET Core 3.1
  • Updating project libraries to be .NET Standard compatible
  • Upgrading packages to their respective .NET Standard version and fixing any incompatibilities encountered in the process
  • Migrating the Web project to .NET Core 3.1
  • Migrating custom DI logic from Unity to the built-in .NET Core DI
  • Migrating the logging from NLog to the built-in .NET Core ILogger

Technologies: .NET Framework, .NET Core 3.1, WebApi 2, MSSQL, EntityFramework, Moq

3Plenish (2016-2019)

An inventory management tool for businesses that want to easily see, track, and replenish their service truck and warehouse inventories. It consists of a Manager portal for company management, as well as Web, iOS, and Android technician apps, allowing easy management of your inventory when you’re on the go.

Responsibilities:

  • Managing the whole project as a solo developer for 4 years
  • Developing new features, supporting existing functionality, bug fixing
  • Troubleshooting Production issues for different customers
  • Managing 2 web-based applications - manager portal and client mobile-oriented portal
  • Managing 2 APIs - internal (for Android/iOS apps) and external (clients integrating with the system)
  • Extending 2 service apps responsible for syncing with an external inventory management system
  • Extending a service app, responsible for generating user prompts to count existing items in their physical inventory throughout the year
  • Testing all new and existing functionality, verifying new functionality on Test, Staging and Production
  • Preparing and executing DB migrations on all environments, including Prod
  • Deploying all 7 apps to two Production VMs and smoke testing
  • Creating PowerShell scripts to automate parts of the deployment process with Jenkins
  • Running the client-facing communication regarding new features, releases, etc.

Technologies: MVC5, WebAPI 2, MSSQL EntityFramework, jQuery, RabbitMQ, Jenkins, Windows Services

PlanningMate (Jul 2015 - Dec 2015)

A realtime Scrum poker app, which allows users to estimate effort or relative size of development goals in the software development process in a gamified manner.

Responsibilities:

  • Working with the team to design the architecture of the system from scratch
  • Developing new features for the system
  • Integrating the back-end with the real-time “game” rooms used for estimating user stories (SignalR)
  • Creating a JIRA integration for pulling stories in the system

Technologies: MVC5, WebAPI 2, EntityFramework, MSSQL, SignalR, jQuery

Side Projects

KAT Bulgaria - Python package đź”—

A python library that helps with checking for driving fines/obligations from the official government website. Since the website is very unstable, this handles most of the ways it can break. The motivation behind creating this is to use it as a base for my own HomeAssistant integration. I’ve split them up so that the library can be used standalone by whoever may need it.

KAT Bulgaria - Home Assistant custom integration đź”—

A custom HomeAssistant Community Store (HACS) integration, a wrapper around my Python library which enables the user to automatically check for fines and monitor their state directly in HomeAssistant.