Ivaylo Dimov, System Architecture Developer in Sofia, Bulgaria
Ivaylo Dimov

System Architecture Developer in Sofia, Bulgaria

Member since April 3, 2018
Ivaylo has worked as a software engineer for the past 16 years and as a tech lead, architect, and consultant specializing in the .NET stack and the front end for the past six. He’s built highly scalable and customizable SaaS platforms for airlines, non-government organizations, online gambling providers, direct sellers, online bookers, and clinical laboratory solution providers. Ivaylo implements best practices and efficiency into everything he does.
Ivaylo is now available for hire

Portfolio

  • IteraFlow
    Visual Studio Team Services (VSTS), Office 365 API, Azure Queue, Azure Blobs...
  • Freelance
    Angular, .NET, Architecture, REST API Architecture, Web Architecture...
  • IGSoft
    TeamCity, NUnit, NLog, Moq, Json.NET, PostSharp, Validation, T4, Modeling...

Experience

Location

Sofia, Bulgaria

Availability

Full-time

Preferred Environment

Windows 10, SQL Server Management Studio, Git, VS Code, Visual Studio, Azure PaaS, Angular CLI, Bootstrap

The most amazing...

...thing I’ve made was a very parallelized algorithm hosted on Azure Functions that extracts flight parameter values and detects events from aircraft black boxes.

Employment

  • System Architect | Full-stack Developer

    2013 - PRESENT
    IteraFlow
    • Architected and developed a framework based on serverless computing, messaging, DDD, CQRS, ES, Hypermedia-driven RESTful APIs, and implemented it in a few corporate applications for business process automation.
    • Used serverless computing with Azure Functions and a consumption plan which supported on-demand horizontal scaling to implement compute-intensive tasks with rare but very high peaks.
    • Designed and implemented a messaging mechanism based on Azure Blobs and Queues for communication between the ASP.NET Web API hosted on an Azure web app and the Azure Function/Azure Job apps.
    • Architected and developed UI libraries (Angular and Bootstrap) that enable rapid development of new features and a consistent UI across the entire application. The libraries were published as npm packages and consumed in several solutions.
    • Implemented the authentication in ASP.NET Core and Windows Azure Active Directory Bearer Authentication.
    • Installed the aggregate root level distributed optimistic locking based on Azure Blob leases to ensure data integrity.
    • Set up an Azure environment and multi-tenant Azure web app that authenticates against clients Azure active directories and enables a single sign-on with clients of Office 365 tenant.
    • Used ADAL.JS to implement an OAuth 2 implicit grant flow in an AngularJS application and authenticated users against the Azure Active Directory.
    Technologies: Visual Studio Team Services (VSTS), Office 365 API, Azure Queue, Azure Blobs, Azure WebJobs, Azure Websites, Azure Active Directory, Angular, AngularJS, TypeScript, Azure Functions, Microsoft SQL Server, Entity Framework Core, Web API, ASP.NET Core, Domain-driven Design (DDD), Bootstrap
  • System Architect | Full-stack Developer

    2019 - 2020
    Freelance
    • Architected and implemented the MVP of a web-based SaaS platform for tracking inventory items via RFID codes.
    • Designed and developed a back-end API that collects tracking information, processes it, and then exposes a variety of API endpoints to show different analyses and reports as well as manage inventory, users, etc.
    • Designed and developed a web-based Angular and Bootstrap-based single-page application with a responsive design.
    • Implemented support multitenancy and impersonation of the SaaS provider users to act on behalf of different clients at the API and back-end levels.
    Technologies: Angular, .NET, Architecture, REST API Architecture, Web Architecture, Bootstrap, ASP.NET Core, Entity Framework Core
  • Lead Developer

    2011 - 2013
    IGSoft
    • Led a team of 4-6 developers who were responsible for the architecture and development of an online gambling back office system which manages all the internal processes related to running such a business; also the integrations with external systems and reporting.
    • Implemented the UI of the system using Knockout.js, Kendo UI, and the bridge library, Kendo-Knockout.js.
    • Installed a data access layer for CSLA business objects based on repository pattern and Entity Framework.
    • Developed an ASP.NET MVC Model Binder for CSLA business objects.
    • Designed and implemented a DSL that was based on the Visual Studio Modeling SDK for defining metadata for modules, entities, and entity associations; also implemented T4 templates to generate entities and other classes from them.
    Technologies: TeamCity, NUnit, NLog, Moq, Json.NET, PostSharp, Validation, T4, Modeling, Visualization, jQuery, Kendo UI, Knockout (Knockout.js), Unity (IoC Container), CSLA, ASP.NET MVC, ASP.NET Web API, Microsoft SQL Server, Entity Framework Core, C#
  • Software Architect | Lead Developer

    2010 - 2013
    alex+von
    • Architected, developed, and maintained the .NET-and-nopCommerce-based direct selling web platform for a California-based startup—automating the business processes and provided much-needed reports to drive the company forward.
    • Designed and developed a customizable incentive program engine that supported stages, challenges, and achievements; and that was also available for each consultant who met the eligibility criteria.
    • Designed and developed a notifications engine that supports custom templates with contextual placeholders for different events in the system as well as different notification channels like email, within the site, and SMS.
    • Implemented a single sign-on between the nopCommerce app and direct-selling platform apps based on WCF and form authentication.
    • Implemented two-way communication and data synchronization between nopCommerce and a direct-selling platform engine; using WCF web services with WSHttpBinding.
    • Implemented customizations on top of a default nopCommerce implementation for a functional web design perspective that included vendor-based order splitting, additional checkout steps, and bonuses.
    Technologies: jQuery, Bootstrap, Moq, NUnit, T4, Unity (IoC Container), IIS, Facebook API, PayPal API, NopCommerce, OAuth, LINQ, ADO.NET, Microsoft SQL Server, Windows Communication Framework (WCF), ASP.NET MVC 4
  • Senior Software Engineer

    2009 - 2010
    Mirchev Ideas
    • Implemented, redesigned, optimized, and refactored a documents module which automates all the operational processes as well as the reporting, store, and discounts modules in a custom ERP system for a client in the auto-parts-and-auto-services industry. The work included an implementation of missed requirements, removal of unnecessary couplings, dealing with extensibility and reliability issues, and more.
    • Redesigned the business layer of an ASP.NET-based invoice processing and approval system. The concept of a unit of work was added by using Unity IoC Interception. Some repeated data access logic was abstracted into reusable methods and the code was significantly simplified.
    • Implemented WCF with MSMQ endpoints for communication between a WPF-based player-vs-player RPG game and the game servers.
    Technologies: Unity (IoC Container), DevExpress, Windows Presentation Foundation (WPF), Microsoft SQL Server, MySQL, MSMQ, Windows Communication Framework (WCF), Ajax, ASP.NET
  • Senior Software Engineer

    2007 - 2009
    Software Technologies
    • Contributed to the development of the OOA and OOD of an ASP.NET-based online booking system for hotel rooms, car rentals, and tickets; it integrates booking items from several suppliers and provides best possible offers for the user.
    • Designed, developed, and unit-tested a booking engine prototype that simultaneously checks the best possibly hotels prices from different sources based on a chosen criteria.
    • Implemented user management and security in an ASP.NET app based on membership and forms authentication using NHibernate.
    • Implemented an engine for localizing an ASP.NET website by using a live on-page localization editor and storing the localization texts in a database utilizing a custom virtual path provider.
    Technologies: FinalBuilder, TeamCity, NLog, NUnit, Unity (IoC Container), PostSharp, NHibernate, CSLA, Windows Communication Framework (WCF), Microsoft SQL Server, Telerik, Ajax, ASP.NET
  • Software Engineer

    2005 - 2007
    Gugga (recently acquired by Wacom)
    • Developed the core components, business logic, and the data access layer of a public interface and back-office module for an intranet content management system for the Bacardi company. Used extensively Telerik ASP.NET controls, especially the grid, editor, and upload components.
    • Extended the business logic in the training system for Panasonic resellers.
    • Developed tough B2C and B2B marketing applications based on .NET and Flash/ActionScript 2.0 for clients like Mazda, Bacardi, and Dewars. Had a leading role in two of the projects.
    • Participated in the development of an ActionScript 2.0 based framework for building rich internet applications.
    Technologies: ActionScript 2, Microsoft SQL Server, ADO.NET, Telerik, Ajax, ASP.NET
  • .NET Developer

    2004 - 2005
    Skyware Group
    • Migrated the registration module of a laboratory information system (still used in more than 30 laboratories in Bulgaria) from VB6 to a VB.NET Windows Forms application.
    • Integrated fiscal and barcode printers.
    • Implemented reporting using Crystal Reports.
    • Implemented an ASP.NET-based web app for checking and printing patient results online.
    Technologies: Crystal Reports, SQL Server 2000, Windows Forms, VB.NET

Experience

  • Aerosight FDM | Aviation Safety SaaS Solution

    An Azure cloud-based SaaS solution automates the processes related to the readout and analysis of parameters stored in an airplane's flight recorder (black box). The system detects flight events that need investigation, prepares detailed flight reports, and provides contextual search capabilities, charts, and risk analysis.

    The system uses a highly optimized algorithm for processing binary black-box files and extracting flight and parameter values from them. It also uses a highly customizable and reusable event-detection engine across aircraft manufacturers.

    The architecture is based on a domain-drive design, event sourcing, business artifacts, and hypermedia-reach web APIs. It is deployed as an Azure web app and uses a multi-tenant active directory app to facilitate authentications against the client's Azure active directories.

  • Security Printing Ordering System
    https://www.banknote.com/

    An Azure cloud-based system developed for a client in the security-printing business that automates the whole ordering process, from product definition and contract signing to the actual shipment and delivery. I was involved in the system architecture and the development of the front end and back end. I worked closely with the client, designer, and developers to ensure that the requirements and workflows were accurately reflected on the design screens and in the system's business logic.

  • Microservice Based Tasks and Inventory Management System for An Internet Provider

    I was involved in business requirements refinement, architecture, and development of a tasks and inventory management system that consists of around ten microservices. The system integrates with a couple of other existing methods in the organization and is used by thousands of employees. It was built using Microsoft stack and Angular for the front-end.

  • Movie Streaming Service

    A streaming service for the domestic market that could reach more than one million simultaneous users. The existing service had an outdated back end and experienced regular downtimes due to poorly designed back-end logic and caching. My role was to architect and implement a scalable approach to handle this load and at least five times more simultaneous users. The solution was to eventually synchronize the needed data in Elasticsearch and perform querying against Elastic. In some cases, we also took advantage of Redis Cache.

  • Contact Center for Business Banking Platform
    https://www.fcvl.com

    I developed the front and back end of the contact center web app, which utilizes Twilio services and ASP.NET/SignalR to provide a fully-featured web-based support solution with video, chat, and phone communication. The app was built with Angular 6 and Angular Material.

  • SaaS Company Website
    http://aero-sight.com/

    A mobile-first, responsive website based on ASP.NET Core, Angular 4 with server-side rendering and Bootstrap 3, and Sass files defined on component level. The website uses a webpack development build with hot module reloading and a seamless refresh of the website content and a web pack production build with all the content minified, optimized, and bundled.

  • Nonprofit Project Management SaaS Solution

    A cloud-based SaaS solution that enables nonprofit organizations to track their progress and manage and organize a project's information throughout its lifecycle.

    You can organize, tag, and search media content and collaborate on documents online through Office 365. It is deployed as multi-tenant Azure web app that authenticates against clients Azure active directories and enables single sign-on with clients Office 365

  • Online Lottery Platform
    https://www.lottotech.com/

    Architected and developed the software for a lotto's server core logic and web APIs for an online lotteries SaaS platform. The lotto server integrates with a back-office solution based on the Dynamics CRM, payment and affiliate systems, as well as the external systems for lottery ticket purchases.

  • Microsoft Certified Solutions Developer Web Applications

    2013 - Microsoft Certification

  • Programming for .NET Framework Book | Co-author | 2005

    I co-authored a book on programming with the .NET framework. The ISBN: 954-775-672-9; 978-954-775-672-4 (Volume 2)

  • Algorithm and Software for Aircraft Flight Data Recorders

    I wrote an algorithm and software for the readout aircraft flight data recorders. It was published in 2012 “Science” magazine which is run by the Bulgaria Scientist Union.

Skills

  • Languages

    SQL, TypeScript, C#, CSS, HTML, CSS3, HTML5, JavaScript, SCSS, ActionScript 2, VB.NET, T4
  • Frameworks

    Entity, .NET Core, ASP.NET Web API, ASP.NET Core 2, Angular, .NET 4, .NET 5, .NET, Json.NET, OAuth 2, Entity Framework Core, ASP.NET MVC, ASP.NET Core, AngularJS, Bootstrap 3, ASP.NET MVC 4, Windows Communication Framework (WCF), ADO.NET, Bootstrap, ASP.NET, NHibernate, NUnit, Kendo UI, Knockout (Knockout.js), Angular Material
  • Libraries/APIs

    REST APIs, Fluent API, Azure Active Directory Graph API, Office 365 API, jQuery, Moq, Web API, LINQ, PayPal API, Facebook API, React, Twilio API, SignalR
  • Tools

    Microsoft Visual Studio, Azure App Service, Git, xUnit, VS Code, Visual Studio, FinalBuilder, PostSharp, Webpack 4, Angular CLI, Elastic, RabbitMQ
  • Paradigms

    FluentValidation, Agile, REST, Dependency Injection, Refactoring, API Architecture, Continuous Integration (CI), Continuous Delivery (CD), Test-driven Development (TDD), Event Sourcing, CQRS, Azure DevOps, Behavior-driven Development (BDD), REST API Architecture, Web Architecture, Microservices, Microservices Architecture
  • Platforms

    Azure Functions, Azure PaaS, Azure, Windows, NLog, NopCommerce
  • Storage

    Azure Blobs, Azure SQL, SQL Server 2016, Azure Queue, JSON, Azure Active Directory, Azure Table Storage, SQL Server Management Studio, Microsoft SQL Server, Azure Websites, MySQL, Redis Cache, PostgreSQL
  • Other

    Multithreading, Unity (IoC Container), System Architecture, SOLID Principles, Domain-driven Design (DDD), Cloud Architecture, Architecture, APIs, Profiling, OWIN, Performance Optimization, Azure WebJobs, Coaching, Visual Studio Team Services (VSTS), Windows 10, Visualization, Modeling, Validation, OAuth, IIS, Ajax, MSMQ, SaaS, Computer Science

Education

  • Master's Degree in Technological Entrepreneurship and Innovations in IT
    2009 - 2011
    Sofia University - Sofia, Bulgaria
  • Bachelor of Applied Science Degree in Computer Science
    2004 - 2008
    Sofia University - Sofia, Bulgaria

Certifications

  • Microsoft Certified Solutions Associate Web Applications
    SEPTEMBER 2016 - PRESENT
    Microsoft
  • Microsoft Certified Solutions Developer Web Applications
    AUGUST 2013 - AUGUST 2015
    Microsoft
  • Microsoft Specialist: Programming in HTML5 with JavaScript and CSS3
    JULY 2013 - PRESENT
    Microsoft
  • Developing and Implementing Windows-based Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NET
    MARCH 2003 - MARCH 2005
    Microsoft

To view more profiles

Join Toptal
Share it with others