Denis Khranovskiy
Software Engineer
I’m a software engineer with 10 years of experience with .NET platform in a creating commercial components for business application developers in a global product company. I have been working on Rich Text Editor and Spreadsheet product. With a team we did tons of tricky algorithms, recreated MS Word and Excel in a .net platform with a love to reliability, quality, performance, and attention to details. Developed several web projects such as company sales platform, file conversion service, sales analytics dashboards. I like to share knowledge and be a mentor. I’m familiar with various languages, tools, paradigms such as OOP, functional programming, and TDD. At the same time, I always try to find the best solution and choose the necessary instrument for a specific task. By knowing several ecosystems (.Net, Node.js, JavaScript), I can find the best solution to complex problems. I can quickly get up to speed, learn new technologies, but at the same time I have sufficient experience and pragmatism to understand when existing solutions are more appropriate. I can work both autonomously and as a team member.
Skills
C#
master Expert 243/300
- Events, Delegates and Lambdas
- Interfaces
- Variables
- Type Conversions
- The Type System
- Operators
JavaScript
fluent Proficient 185/300
- Loops and Iteration
- Classes and Modules
- Functions
- Types
- Control Flow and Error Handling
- Objects
ES6
0HTML5
advanced PROFICIENT 198/300
- Device APIs
- Data Storage
- Markup: Rules
Node.js
intermediate 186/300
- The Operating System and The File System
- Child Processes and Clusters
- Concurrency
- Modules and NPM
- Node.js Fundamentals
- Web and Network
CSS
beginner
0Docker
beginner
0React
beginner
0Rxjs
beginner
0ASP.NET MVC5
intermediate 177/300
- Observing and Manipulating Requests with Filters
- Using Middleware with OWIN/Katana
- Navigating with Routing
- Developing a REST Web Service with Web API
- Creating Visuals With Views and Razor
- Server- and client-side Validation
Entity Framework Core
beginner
0Git
fluent 197/300
- Understanding How Git Works
- Managing Branches
- Moving Data Across Git's Areas
- Fixing Mistakes
- Configuring Git
Visual Studio
fluent Expert 212/300
0Web Application Security
intermediate PROFICIENT 117/300
- Serialization and deserialization
- Secure configuration
- Advanced secure coding practices
- Access control
- Common vulnerabilities in web applications
- Input validation
NPM
intermediate PROFICIENT 123/300
- Developer Environment
- CLI Commands
- Packages & Modules
- Authentication
- Private Packages
Work Experience (3)
DevExpress is a global product company that specialise in creating UI components for business applications on .NET (Win, WPF, ASP net), JavaScript, VCL platforms for 20 years and for 100k clients worldwide. Company has own CRM that integrates with site online shop, manage licenses, orders, resellers, subscriptions, payments, email newsletters, product releases, HRM and all that systems are developed and maintained by small team of full stack devs
- За короткий период разобрался в проектах, написанных в разное время с разными технологиями и смог быстро включиться в разработку и приносить пользу, работая с критическими для бизнеса системами
- Активно участвовал в подготовке всей инфраструктуры компании (десятки сервисов) чтобы правильно работать с персональными данными так, как прописано в законе GDPR
- Ускорил CI pipeline с e2e testing работающий на TeamCity с 2 часов до 50 минут, что увеличило производительность команды и упростило выкладку новых релизов
- Нашел security проблему, с помощью которой можно было скачать все данные о продажах за всё время.
- Отрефакторил около 100 e2e тестов на TestCafe что позволило перейти на новую версию дизайна checkout flow на сайте http://devexpress.com/buy/net/
Spreadsheet WinForms/WPF component for .NET desktop applications.
- Actively participated in product decisions and analytics
- Перевёл команду на работу с Git и ввел практику code review
- Производил сравнение с конкурентами, по многим параметрам
- Улучшил производительность часто используемых операций и устранял утечки памяти (загрузка и сохранение документов, вставка значений, копирование и вставка) и сделал набор benchmark выявляющие регрессии
- Реализовал Cut, Copy and Paste Operations и создал 20 тысяч тестов
Rich Text processor compatible with MS Word
- Участвовал в 8 релизах
- Реализовал поддержку OpenDocument Format (.odt), WordprocessingML Format
- Добавил поддержку таблиц и нумерованных списков импорт, экспорт документов HTML формата
- Создал Style Gallery в меню для RichEdit for WPF
- Разработал инструмент для регрессивного тестирования целостности документов при пересохранении
Projects (6)
CRM (Sales Platform) at DevExpress
Nov 2017 - Sep 2018
- .Net core
- ASP.NET MVC
- TestCafe
- CI
- MS SQL Server
- ASP.NET WebForms
- PowerShell
- TeamCity
- React.js
- jQuery
- RabbitMQ
DevExpress has own CRM that integrates with site online shop, manage licenses, orders, resellers, subscriptions, payments, email newsletters, product releases, HRM and all that systems are developed and maintained by small team of full stack devs
0Cloud file conversion service
Jan 2017 - Apr 2017
- Azure
- .NET
- ASP .net MVC
- jQuery
- google-analytics
- html
- css
An office document formats converter service, hosted in Azure Cloud Service VM. It uses DevExpress office file api library, written in .Net 4.6.
- Протестировал работу библиотеки в MS Azure окружении, нашел и исправил ошибки связанные с ограничениями GDI
- Провёл 5 дизайн итераций от идеи, прототипа до финальной версии
- Реализовал серис используя ASP.NET Web API, Azure Blob Storage, ES6, webpack, npm, DevExtreme js controls
- В процессе работы с корпоративной Google Analytics нашел способ уменьшить затраты на AdWords на $680000
Spreadsheet component
Jun 2012 - Nov 2017
- c#
- .net
- algorithms
- data structures
- optimization
- design patterns
- refactoring
- tdd
- excel
- winforms
- wpf
Spreadsheet WinForms/WPF component for .NET desktop applications. It emulates the Microsoft® Excel® look and feel and is able to create, load, edit, save and print spreadsheet documents. It provides comprehensive data shaping and analysis tools, such as data mining, grouping, filtering, and charting. The built-in formula calculation engine allows user to create simple formulas to summarize an information or construct complex formulas containing mathematical, statistical, financial and other predefined functions for advanced data analysis.
0Analytics dashboard and Streaming data pipeline
Apr 2017 - Aug 2017
- Node.js
- MongoDB
- Docker
- React.js
- Redux
- AWS
- Javascript
- Webpack
Analytics data pipeline using Amazon Kinesis. S3 with reSolve Node.js lib for backend (Event Sourcing, CQRS, DDD) and UI on Node.js/React.js
- Added OpenID connect (to Azure AD) authentication to Node.js app
- Created React/Node.js project structure template
- Implemented customer retention chart with React.js, Redux
Office file modification library (.net)
Jun 2012 - Nov 2017
- .net core
- public api
- excel
- word
- performance
A high performance and full-functional API to work with office documents
- Спроектировал и реализовал API для работы с spreadsheet
- Улучшал производительность часто используемых методов
- Создал демонстрационный модуль который содержал примеры работы с API и позволял интерактивно видеть результат, который потом стали применять в других продуктах.
Rich Text processor compatible with MS Word
Sep 2009 - Jul 2012
- c#
- microsoft word
- html
- wpf
- winforms
- xml
- printing
- fonts
Developed a Rich Text Editor component. It allows user to integrate advanced text editing capabilities into WinForms/WPF application. It provides comprehensive text formatting options, mail-merge and a rich collection of end-user options (Microsoft Word-inspired functionality)
0Education (1)
2006 - 2011
Specialist diploma (Master's degree)
Computer Science
Tula State University
Languages
Russian
Native speaker
English
Advanced
Interests
Functional prog.
- Scala
- Haskell
Interfaces
- Offline First
- Optimistic UI
Next level systems
- Collaborative editing
- CRDT
- Local first
Startups
- SaaS products
- LEAN
Cloud
- Serverless
- AWS
Distributed computing
- Data-Intensive Applications
- Decentralization