Position: Senior .Net Developer
Category: .NET
Experience: 11 years | English: upper

• Overhauling of a CRM system

Imagine a web application (CRM) working with multiple databases, i.e. each corporate client has its own database instance. The schema is the same across all the DBs but the data is, apparently, unique. Historically, the application wasn't tailored for that architecture, so every new client required a new DB and application instances. 

It started creating major problems when the number of clients was reaching a hundred. So, eventually, releasing new functionality or a bug fix, incurred re-deploying some 100 application instances. 

I was told to revisit the way the app worked to get rid of the multiple-instances approach, i.e. there should be only one single instance that's capable of working with the multiple databases. In fact, it was an overhaul of many "plumbing" facilities such as DB access, file storage, client app settings, and console apps packaged with the main web app.

Having been implemented and tested, the solution went to production in 2018 and has been working since then without any issues. After all, the developer that was in charge of deployments said, 'Dmitry deserves a medal' :)


• Learning new technologies & concepts moving to .NET Core

Having worked for quite a few years with the old-style .NET Framework solutions (mainly Web Forms, WCF, .NET 4.x), with almost no commercial experience in more modern technologies, I managed to move into the .NET Core stack. In a short space of time, I grasped the technology and learned how it works with the cloud.

As a result, I was able to join the team at my new job and participate in the development of a brand-new web project (.NET Core 6, AWS, GraphQL) as a backend developer. The project was successfully finished and has been live since late 2022.


• Working remotely since 2009

I've been working remotely for more than 10 years now, since before it started to be a normal thing. During that time I've gained a profound experience in all things remote, whether it's communicating with local/overseas clients and colleagues, arranging my working schedule or coping with distractions.
I am a down-to-earth and pragmatic software developer. Have been working in the industry since 2006. Starting from 2012, focusing solely on the .NET technology stack. 

My main area of expertise is web development (full-stack, leaning towards backend in the recent year). 

Having a lot of experience in web application development, I am capable of solving higher-level problems including performance issues, software architecture, and how different systems integrate with each other.

• Platforms: .NET Framework 4.x, .NET Core 3.1, 5, 6
• Programming languages: C#, VB.NET 
• ORM: EF, EF.Core, NHibernate, LINQ2SQL
• ASP.NET: Web Forms, MVC, Web Pages
• Desktop: console apps, windows services, WinForms
• API: REST (WebAPI), GraphQL (Hot Chocolate, Strawberry Shake), SOAP (WCF)
• DB: MS SQL, MySQL, PostgreSQL
• NoSQL: DynamoDB
• Cloud: AWS (Fargate, Lambda, Cloudformation, CDK, SQS, SNS, Cloudwatch), Azure fundamentals
• CI/CD: TeamCity (versioned settings)
• Frontend: HTML, (S)CSS, responsive layout, Bootstrap 3 & 4, javascript, jQuery, TypeScript, Kendo UI
• Source control: SVN, TFS, git
• Methodologies: XP, TDD, Agile
• Concepts: Monolithic architecture, microservices
• IDE: Visual Studio, Rider
• OS: Windows, Linux, macOS
• Other technologies: Java (outdated), Delphi (outdated)

• Soft skills: strong analytical and problem-solving skills, eye for detail, fast learner, team player. 

• English: upper-intermediate (B2+), fluent.

P.S. I've got my personal contingency kit: an ECOFLOW Delta Max 2000 + a Starlink.
I seek for a long-term partnership where I can play a senior technical role applying my experience to develop well-written and robust IT solutions. I really like hands-on coding which is what I mainly do these days, however, I want to be involved in solving higher level problems including software architecture and how different systems integrate with each other. Being a team player, I am happy to mentor junior members to help them learn the ropes and improve their skills.