Solution Architect / Lead Developer (.NET)
- Name: Maxim Kudryavtsev
- Birthdate: May 20, 1983
- Email: kudmax@gmail.com
- Location: St. Petersburg, Russia
- Phone: +7 (921) 584-5500
- 16 years of commercial software development
- Last 8 years on .NET platform (senior backend developer)
- Last 3.5 years with distributed systems and microservices (lead developer)
- ~1 year of technical leadership for 2 projects and teams of 10-20 people
- Have multiple commercial products built on my own or together with teams
- Different domains: e-commerce, trading, logistics, oil/gas industry, tourism
- Developed both standalone products and distributed systems
- Translate business goals to proper system design
- Reduce development cost by introducing more optimal strategies
- Achieve technical and operational advantages that benefit business on the market
- Love DDD as a tool to build common, unified and consistent product vision
- Utilize different organizational approaches and methodologies like OKR, Scrum, Kanban and their agile adaptations.
- Interview people and create teams
- Coordinate internal work within a team, participate and code myself
- Coordinate developmental work with other departments
- Negotiate high level APIs and contracts between collaborative teams and projects
- Sharing knowledge, technical tactics, patterns and tricks
- Mentor and motivate growing up developers to learn more and create cool products
- C#, .NET, .NET Core, ASP.NET
- Principles and patterns: SOLID, GRASP, DI, GoF, PoEAA, ... and many more
- Architectures: service oriented (SOA), event-driven (EDA), microservices, Sagas, Clean, Onion, Event Sourcing, Serverless
- DDD: wide experience in real projects
- Parallel calculations, concurrency, threads synchronization; async code
- Storing: MS SQL Server, ADO.NET, Dapper, LinqToDB, ClickHouse, Redis, Aerospike
- Messaging: RabbitMQ, Kafka, Azure Event Hubs, Azure Service Bus
- Test practices and patterns; BDD (Specflow)
- Memory/performance code optimizations
- Misc tools: Git, PowerShell, MSBuild, Consul, Vault, Nginx, ELK, Prometheus, Zabbix, Hangfire, Automapper, GitLab, Kibana, Grafana
Domain: Tourism, B2B & B2C solutions, search engines, dynamic tour packaging
Product 1: I guided two teams of 10-15 developers, was responsible for common architecture, designed and developed the heart of our platform for connecting new partners via API-gateways. Some product features:
- Distributed engine for finding and combining different parts of tour packages including hotels, flights, tickets, transfers, insurances. All with highly customizable parameters.
- 70-120 separate external integrations with partner companies. Done as a distributed system based on microservices, plugins and shared core approach. That gave us high and stable velocity in work on connecting new partners.
- Integrations and data exchange with another internal services in company
Product 2 (developed by myself): Price tracking and analysis for tours on the market. Features:
- Customer subscriptions for tour packages with selected parameters
- Handling broadcasted price changing events, fast search matching tours
- Background jobs for batch processing and workload distribution
- Customizable email notifications for customers
Role and responsibilities: TechLead / Architect
- Technically guiding three teams of 10-15 developers on different projects
- System design, coding, making reviews, debugging, testing
- Interview people, build teams, mentoring.
Technologies: ASP NET Core 3.1, MS SQL Server, Dapper, Kafka, RabbitMQ, Consul, Vault, Redis, Aerospike, ClickHouse, ELK, Prometheus, Zabbix, Hangfire, Automapper, Git, GitLab
Domain: e-commerce, marketplace platform, cloud-based web-shop constructor
Product: ~10 microservices in the cloud for data synchronization, exchange and reconciliation between three proprietary platforms in company and other external services outside. Developed by team of 2-5 people. Data exchanged through services
- Products and SKUs (1.5 million SKUs online)
- Orders ($700K - $2.5M per day revenue)
- Prices, inventories, sales, images, ... and a lot more
- 50K rpm average load
Technologies: C#, ASP.NET, Web API, WCF, ASMX, microservices, REST, DDD, Clean/Onion architecture, AWS and Azure clouds (EC2, S3, Service Bus, Event Hubs), NewRelic, Autofac, Polly, Dapper, SQL Server, Fluent Assertions, Octopus Deploy
Domain: e-commerce, logistics
Product (developed by myself): Market product reviews manager. Features:
- Collecting product reviews from external web sites (Walmart, Amazon, etc.)
- Admin web site for viewing and editing collected reviews
- Uploading selected reviews onto company's proprietary web sites
Technologies: ASP.NET WebForms, NewRelic, Autofac, LinqToDB, SQL Server, NLog, ELK
Domain: petroleum exploration, production industry, oil/gas fields analysis
Product 1 (developed by myself): Data loading module consuming different industry formats and integrated into company's other solutions. Some features:
- Extendable plugin based manager for loading customers data from various sources having different types and schemas. Including databases, spreadsheets, specific industry formats
- Pipeline architecture for internal ETL processes such as configurable data loading, sorting, filtering, merging and supplying data into other apps
- UI wizard with saved steps, templates, data preview and editing mechanism
- Automated loading workflows based on provided configurations
Product 2: Oil/gas fields performance analysis. Developed by team of 3–4 people https://www.kappaeng.com/software/citrine/overview
- Dedicated to unconventional resources where fields can contain 100s and 1000s of wells that produces vast arrays of analytical data
- Contains scientific calculation models, plotting data on graphical charts
Technologies: C#, C++, WinForms, MVVM, DevExpress, Castle Windsor, NHibernate, ADO.NET, Log4Net, SpecFlow, Jenkins
Domain: financial industry, stock trading, brokerage
Product: Back-office operator application for managing virtual markets and creating isolated trading platforms. Developed by team of 2-4 people
- Over 300K trading accounts totally
- Thousands of financial instruments
- Brokerage functions
- Tons of dynamically changed information such as quotes and market events
- Beautiful calculational model implemented in reactive paradigm
- White-labeling for many different product brands all over the world
Technologies: WinForms, MVVM, DevExpress, Reactive Extensions (Rx), P-Invoke, Unity, LinqToSql, TeamCity
Domain: naval simulators, graphics, geometry, mathematics.
Developed several software simulators, realistically resembling the behaviour and look of their hardware copies placed on real ships and submarines and used for vessel navigation.
- English: Advanced (professional working proficiency)
- Russian: Native