HomeResumeAboutContacts

Name: Dzmitry Lahoda

My photo here.

Contacts

Target role: Senior Software Engineer

  • Good at C#, F#, and SQL. Fun with Gremlin, Rust and Zig. But coding in many day to day.
  • Hobby and algorithm coding ramblings in Rust since 2017.
  • English - fluent reading/listening; good writing/speaking; C1/Advanced.
  • Software Engineer with 11+ years of experience, mostly .NET, in different product types and domains.
  • Multi-model data storages (relational, document, search, queue, custom).
  • Strong understanding of efficient and effective engineering and process practices to deliver high-quality results in time (short term, long term)
  • Able to text and voice clearly and concisely with technical specialists and product owners
  • Proficient with integration solutions (private/public APIs, client-server)
  • Product/quality/lean/transparency oriented mindset
  • Started from desktop Windows applications development, and transitioned into cloud-native server-side.
  • Have experience in custom software frameworks, reusable libraries, open-source
  • Computer user since 1993, write programs since 2004, code version control and automated tests since 2007, increase my velocity by open-source since 2009, work in companies since 2010, self-learner since childhood, do active learning and incremental reading
  • Getting joy applying machine learning(especially discovery-search), automated software verification(type systems) and from complex realtime distributed synchronization, hoping to get into creative coding
  • Experienced from a low level near operating system coding to high-level collaborative systems integration

Profiles

Github Gitlab LinkedIn Alternativeto.net

Positions

2020.03.21 - now, full-time, remote. Crey. Software Engineer

GameDev.

2019.08 - 2010.02, full-time. Short term contract jobs.

2018.10 - 2019.08.09, full-time. Heyworks LLC. Senior Software Engineer

GameDev.

2017.10 - 2018.10, full-time, remote. ETAS. Software engineer

Engineering.

2010-2017, full time, remote. Thomson Reuters. Software engineer

Financial and legal.

2008.07, 2009.07, internship. Institute of Physical Biology

Scientific domain and hands-on experience in collaboration with scientists on English.

2008.08-10, internship. Itransition

Tools

Frameworks

  • Expert .NET Core 3.1 (all related stuff), advanced ASP.NET API/Orleans, REST.

Quality

BDD, TDD, source and bytecode analysis, generators, types drive devepment, Refactoring, GoF, SOLID, OOP, DRY, KISS, IOC, DI, OOAD, DDD.

Platforms

  • Clouds, virtualization, Kubernetes, Windows, Docker, Prometheus, ELK, Windows XP-10(WinAPI, COM), Hashicorp

Collaboration and project

Git, ProjectLibre, FreeMind, VUE, OpenRepGrid, PlantUml, GraphViz, spreadsheets.

GUI

Advanced XAML, Windows, MVVM, Reactive.

Networking

IPC, HTTP, ZeroIce, UDP, SignalR. Any serialization.

Developer tools

Visual Studio Code, git, terminal, search tools, greenshot, text communication tools

Products

2020.03 - now, Crey Games

  • Ownership on hybrid instance allocation for game servers
  • Created persisted distributed state machine for game versions upgrades
  • Found dozen of possible holes regarding security and scalability
  • Creation of referral flow with JWT
  • Prototype of graph db modeling and scale testing of game economics world (ownership and visibility of various assets and stuff, with roles and users).
  • Setup distributed logging and alerting, built statistically sound alerts.
  • Found a unique way to port some F# features onto C# 8 (no alternatives yet found on github)
  • Cloud, SQL, Microservices, JSON, Hashicorp

2019.11.11 - 2020.02, full time. eCommerce Point of Sale. RIP Jet

  • Jet lagged after best leads to make CCPA regulation (short term project)
  • Debugged and patched scalability issue in graph database driver
  • Did substantial work in delivering several microservices (optout, access and delete flows) covered by monitoring and alerts
  • Wrote tool to test flows via queue
  • Proposed and successfully prototyped read-delete-test+read data deletion playbook with dry run
  • Visited USA for 3 weeks trip.
  • Decided not to participating in integrating Jet into Walmart corporation via old version of Java.
  • Event sourcing, F#, ASP.NET, Kafka

2019.08 - 2019.10, full-time. Call and contact center, Luware.

Cloud-native microservice-based call and contact center.

  • Made call handling microservice scalable by eliminating in-memory state.
  • Proposed and communicated improvements to changed build and deployment to be cloud-native and continuos with gates.
  • Planned and deployed logging storage for 3TB logs storage with 40GB logs per day.
  • ASP.NET, RavenDB, Kubernetes

2018.10 - 2019.08.09, full-time. Trooper Shooter: Critical Assault FPS (3D mobile shooter) for Azur Interactive Games Limited

  • Bootstrapped actor-based solution with WebSocket frontend for meta part of the game.
  • Guided migration from OOP to DOD ECS-like design to increase performance of realtime part
  • Coded realtime synchronization protocol and compression; convenient and fast serialization
  • Improved coding of features using latest language features
  • Used channels with cooperative multithreading and concurrent queue to implement HPC realtime game server
  • Automated stress tests and proved each realtime commodity server thread can game 35+ concurrent users
  • Automated distributed deployment
  • Improved development and release velocity. Facilitated improvement of code organization at large, introduced full-stack low cost structured logging and vertical semantic namespacing, cross IDE builds
  • Coded matchmaking and some battle logic.
  • Integrated best practices into the game studio to prevent business losses due to security breaches
  • Facilities migration from paper-based workflow to digital one with the proper hierarchy of work items.
  • Learned from the flat cross-functional team of developers and designers of approx. 10 people in delivering game from Proof of Concept into Release.
  • ASP.NET, networking, Orleans, MongoDb

2017.10 - 2018.10, full-time. Measurement data analyzer (engineering)

Windows desktop application to show and analyze measurement data from car sensors.

  • Improved code practices and performance, reduced technical debt
  • Made synchronous blocking mutable state components into asynchronous reactive non-blocking immutable
  • Shared practices with the team about testing, process, collaboration, documentation.
  • Report reviews of components for performance, usability, stability, concurrency, and scalability, reported in various forms
  • Fixed bugs of in-memory data synchronization within engineering instruments and in the custom plugin system
  • Worked with teams from Germany and visited them regularly. Worked hard to make all collaboration online and transparent
  • Was in the stream of 5 developers, within 40 people project.
  • WPF, XAML

06.06.2015 - 31.08.2017, full-time. Legal eDiscovery server engine

e-Discovery is end-to-end SaaS solution for the USA legal market aimed to decrease the volume of information within litigation to derive insights and create winning legal arguments

  • Developed asynchronous actor-like data-intensive persisted engine and intelligent multi-tenant distributed file system aimed for upload/ processing/production/analysis/search/review of millions of documents on custom cloud
  • Planned, tasked and lead month-long features
  • Improved intelligent multi-tenant distributed file system aimed for handling millions of documents
  • Developed orchestration with error handling of event-driven services, HTTP API, billing, audit, reporting, query provider to NoSql database, reusable infrastructure components, asynchronous data- and work-flows
  • Optimized system scaling, data ingestion and access performance on 20TB+ of indexed data
  • Used several data storages(relational, document, files, queue, cache).
  • Improved teams capability to produce better software faster by setting up practices of agile lean documentation and knowledge sharing
  • Created malicious e-Discovery hardening data set
  • Document and prototyped replacement of distributed lock-based flows into lock-free event-sourced flows for performance and consistency, disentangled cases where we could use eventual consistency and approximations, and were not
  • Thought up, elaborated and managed prototyping of document relationships visualization presented to the customer
  • Articulated several cross-team inefficiencies up to resolutions, helped the customer to improve skill-position fit of some employers
  • Trained my writing English to be properly structured, clear and action inducing
  • Worked within the distributed team of 30 developers
  • ASP.NET, SQL, ElasticSearch, Oracle SQL 10, BLOB

2014.07-2015.01, full-time. Accounting and practice management software platform for mid and large law firms

  • Maintained client-server application framework, which has technical part dated back to 2003 and domain model from 1990s
  • Maintained custom database oriented IDE, custom ORM, XML based GUI
  • Fixed issues in fault tolerant background task executions and notifications
  • .NET, SQL Server 2012

2010.02-2014.06, full-time. Office add-ins suite and application framework for financial professionals, Eikon for Office

Windows software for linking data between documents, financial data charting tool, productivity tools integrated with Microsoft Office, the framework for an integrated suite of desktop applications used by distributed teams.

  • I delivered and lead technical integration various products for financial professionals into cohesive integrated solution. Some parts of my works are open-sourced on GitHub.
  • Engaged in deliver cross teams and cross technologies(native and managed) integration framework to get larger business value.
  • Using deep understanding of technologies to deliver business results and enablers
  • Improved knowledge sharing and collaboration in distributed teams
  • Refactoring existing code into components with proper variability engineering
  • Coded custom IPC and asynchronous modules systems
  • Solved data, authentication, multiple login prevention, auto-upgrade on client.
  • Made internal tools for productivity, profiling, optimizations and performance analysis.
  • Debugged multithreaded and multiprocess issues.
  • Effectively introduced TDD, DI, BDD, achieved near-zero bug development.
  • Aggressively eliminated technical debt using modern code practices
  • Used virtual machines to test in different setups and fix multiuser environments
  • Tripped to France to do talks on the customer side
  • Made internal tools for productivity, profiling, optimizations and performance analysis
  • Worked in coordination with 50+ developers from several countries, started from small end-user functional team, become distributed framework team of changing size with many functional teams
  • WPF, COM, XAML, WCF, MS-RPC, C

2008.10-2010.06, part time. Music Information Retrieval, visualization and analysis

  • Prototyped visualization to organizes music collection onto 2 dimensional scatter plot via PCA based on audio content processed by FFT and MIRToolbox.
  • Researched algorithms which understand music from audio content using Hierarchical Temporal Memory and classifies via KNN
  • With zero supervision, idea and whole implementation are mine.
  • Matlab, Python

2008.07, 2009.07, internship. Time Lapse Microscopy Capture Tool, Institute of Physical Biology

  • Developed Windows application for time-lapse microscopy during summer school
  • Featured continual shooting of photos via a camera attached to the microscope, measuring photo quality, tuning camera settings, plotting entropy calculation, logging results
  • Was under scientific guidance of 2 Ph.D. students
  • Windows Forms, hardware

2008.08-10, part-time. Social network data analysis and visualization, Itransition

  • Coded some server-side part to get data to and from database
  • Worked with 3 junior developers and manager
  • (Enterprise) Java, SQL

2006.08-12, part time. Woodworking machine controller, Stroydetali Llc

Created industrial MS-DOS application connected to a woodworking machine.

  • Coded tools to edit/store/execute sawing plans, change sawing machine setup and monitor sawing process.
  • Programmed configuration file format parser, custom system event loop, custom text window system with edit boxes/menus/labels/help, communication protocol with hardware LPT port.
  • Worked and communicated with microcontroller programmer.
  • Pascal, hardware

2004.09-2005.03, part time. Graduates database

  • Created installable Windows application to input and report on graduate data.
  • Got 2nd place on regional competition of school student’s software
  • Delphi, SQL

Experiences

2012-2019.10, Security and privacy and serverless

  • Used security, anonymization, encryption, and open source to see the world from hacker and privacy-focused perspective, learned how pricy these tools are.
  • Used deGoogled phone for one year and saw how ineffective a person is without a corporation.
  • Using distributed networks to store and read data, and understood what is future of computing.
  • Built couple of jamstack sites

2011.07-2013.01, fun time. Website security/forensics audit for PKI

  • Used reverse engineering to find several holes in site security from client code to DB
  • Proposed alternative implementation of services
  • Provided scripts to business to do security evaluation continuously
  • SQL, .NET

Education

2010.04-2014.02, part time

2005.09-2010.06, full time. Belarus State University, Faculty of Radiophysics and Computer Technologies

2008.04, 2008.11, part time. Software engineering courses at ScienceSoft .NET Framework course and Itransition Industrial software development course

1994-2005. Gymnasium №1, Vileyka, Minsk region, Belarus

  • Specialization in physics and mathematics
  • Employed dalton plan for self-education
  • Participated in republic olympiad in Physics at 11th grade