Scroll To View More
Ivaylo Dimov, Domain-driven Design (DDD) Developer in Sofia, Bulgaria
Ivaylo Dimov

Domain-driven Design (DDD) Developer in Sofia, Bulgaria

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

Portfolio

  • IteraFlow
    ASP.NET Core, Web API, EF, M SSQL, Azure Functions, TypeScript, Angular JS...
  • IGSoft
    C#, EF, MS SQL, ASP.NET MVC/Web API, CSLA, Unity IoC, Knockout.js, Kendo UI...
  • alex+von
    ASP.NET MVC 4, WCF, MS SQL, ADO.NET, LINQ, EF 5, OAuth, nopCommerce...

Experience

  • C#, 13 years
  • SQL Server 2016, 8 years
  • Azure PaaS, 5 years
  • Angular, 5 years
  • TypeScript, 5 years
  • Domain-driven Design (DDD), 4 years
  • ASP.NET Core 2, 2 years
  • Bootstrap 4, 2 years
Sofia, Bulgaria

Availability

Part-time

Preferred Environment

Visual Studio, VSCode, Git, SSMS, VSTS, Windows 10

The most amazing...

...thing I’ve made was a very parallelized algorithm hosted on Azure Functions for extracting flight/parameter values & detecting events from aircraft blackboxes.

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 implement 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 in order to implement computational intensive tasks with rear-but-very-high peaks.
    • Designed and implemented a messaging mechanism base 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.
    • Implemented the authentication in ASP.NET Web API based on OWIN 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 OAuth 2 implicit grant flow in an AngularJS application and authenticated users against the Azure Active Directory.
    • Architected and developed a UI framework (based on AngularJS, TypeScript, and Bootstrap 3) that was reused between several business processes automation solutions. The AngularJS app consumes hypermedia that reached the RESTful API and uses the retrieved links and metadata to render the page content, the navigation links, and the actions that the user is authorized to perform. This approach enables the rapid development of new features and a consistent UI across the entire application.
    Technologies: ASP.NET Core, Web API, EF, M SSQL, Azure Functions, TypeScript, Angular JS, Angular 2+, Bootstrap 3, ADAL, Azure Active Directory, Azure Web Apps, Azure Web Jobs, Azure Blobs, Azure Queues, Office 365 APIs, VSTS
  • 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: C#, EF, MS SQL, ASP.NET MVC/Web API, CSLA, Unity IoC, Knockout.js, Kendo UI, jQuery, Visual Studio Visualization and Modeling SDK, T4, Fluent Validation, PostSharp, Json.NET, Moq, NLog, NUnit, TeamCity, Final Builder
  • 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: ASP.NET MVC 4, WCF, MS SQL, ADO.NET, LINQ, EF 5, OAuth, nopCommerce, PayPal API, Facebook API, IIS URL Rewrite, Unity IoC, Fluent Validation, T4, NUnit, Moq, Bootstrap, jQuery
  • 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: ASP.NET 2.0, AJAX, WCF, MSMQ, EF 5, MySQL, MS SQL Server 2005, WPF, DevExpress Components, Unity IoC
  • 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: ASP.NET 2.0, AJAX, Telerik ASP.NET Controls, MS SQL Server 2005, WCF, CSLA, NHibernate, PostSharp,Unity IoC, NUnit, NLog,TeamCity, FinalBuilder
  • 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, 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: ASP.NET 2.0/1.1, AJAX, Telerik ASP.NET Controls, ADO.NET, MS SQL Server 2005, ActionScript 2.0
  • .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: VB.NET, Windows Forms, SQL Server 2000, Crystal Reports

Experience

  • Aerosight FDM | Aviation Safety SaaS Solution (Development)

    An Azure cloud-based SaaS solution which 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 to be investigated, 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 as well as a highly customizable and reusable, event detection engine across aircraft manufacturers.

    The architecture is based on concepts of 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.

  • SaaS Company Website (Development)
    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 (Development)
    http://iteranpo.com

    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 (Development)
    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 (Other amazing things)

    2013 - Microsoft Certification

  • Programming for .NET Framework Book | Co-author | 2005 (Other amazing things)

    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 (Other amazing things)

    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#, CSS3, HTML5, JavaScript, SCSS, T4
  • Frameworks

    Entity, .NET Core, ASP.NET Web API, ASP.NET Core 2, Angular, .NET 4, Json.NET, OAuth 2, Bootstrap 4, Entity Framework Core, NHibernate, NUnit, Kendo UI, Knockout.js
  • Tools

    Microsoft Visual Studio, Azure App Service, Git, xUnit, VS Code, Crystal Reports, PostSharp, Webpack 4
  • Paradigms

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

    Azure Functions, Azure PaaS, Windows, NopCommerce
  • Storage

    Azure Blobs, Azure SQL, SQL Azure, Azure Queues, Azure Active Directory, SQL Server 2016, Azure Table Storage
  • Other

    Multithreading, Unity (IoC Container), System Architecture, Domain-driven Design (DDD), Profiling, OWIN, Performance Optimization, Azure Web Jobs
  • Libraries/APIs

    Fluent API, AngularUI, Azure Active Directory Graph API, Office 365 API

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
I really like this profile
Share it with others