HomeResumeAboutContacts

Name: Dzmitry Lahoda

My photo here.

Contacts

Location: Belarus, Minsk

Target role: Lead/Senior Backend Software Engineer with extra skills

  • Well-versed Lead .NET Backed Engineer offering 11+ years of IT experience with strong focus on .NET technical leadership in different project types and domains. 10+ projects in total.
  • Versatile experience with .NET and data storages (SQL, NoSQL, search).
  • Strong understanding of efficient and effective engineering and process practices to deliver high quality results in time (short term, long term)
  • Good communications skills, proven ability to communicate clearly and concisely with both, technical specialists and product owners
  • Proficient with integration solutions (private/public APIs, multi model storages, 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.
  • Experienced from low level near operating system coding to high level collaborative systems integration

Profiles

Gitlab Github LinkedIn

Positions

2019.11 - now, full-time. EPAM Systems. Lead Software Engineer

Learning eCommerce domain.

2019.08 - 2019.10, full-time. Luware BLR. Senior Backend Software Engineer/DevOps

Learned telecom domain in small fast paced product team.

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

Learned GameDev domain in small design studio, diversity included.

2017.10 - 2018.10, full-time. ETAS. Contractor

Learned Engineering domain and participated in Scaled Agile Framework.

2010-2017, full time. Thomson Reuters. Contractor

Learned financial and legal domains in large organization providing services to professionals.

2014-2018, full time. EPAM Systems. Lead Software Engineer

Tried different roles and activities within big outsourcing company.

2010-2013, full time. EPAM Systems. Software Engineer

Grown from indie developer to enterprise class professional.

2008.07, 2009.07, internship. Institute of Physical Biology

Learned scientific domain and hands on experience in collaboration with scientists on English.

2008.08-10, internship. Itransition

Tools

Languages

  • Expert writer of C# 2-7.3, F#, JSON, texts, SQL, XML, XAML, YAML, Markdown. Can read/write at various levels JavaScript, PowerShell, Kubernetes YAML, Scala, Java, Python, C, C++, PlantUML, HTML 2-5, CSS1-3.

  • Will be happy to learn more of Python, Scala, Kotlin, Rust, Go and various storage types if project will allow me.

  • Early days, wrote in Delphi, Pascal, Matlab.

Storages

  • Used Oracle SQL 10, Oracle Coherence, SQL Server 2005-2012, MongoDb, ElasicSearch 1-6, RavenDB 3, NAS, custom immutable database for time series and for configurations, but can work with any storage now.

  • Used SQL since 2004, used Oracle SQL heavily for 1.5 years. MS SQL Server 1+ year.

  • Used LINQ, NHibernate 1-2, NEST, SQL.

  • Earlier days used MySQL 5.1 via JPA 1.

Frameworks

  • Expert .NET(2.0-2.7, Core 2.2, TPL), advanced ASP.NET API/Orleans, understand Web.

  • Earlier days used Java EE5/EJB 3, IIS 5-7, ASP.NET Web Forms.

Methodologies

I have interiorized Refactoring, GoF, SOLID, OOP, DRY, KISS,IOC, DI, TDD, OOAD, BDD, TDD, DDD and I do apply these concepts on system level.

Quality

Tests mocking, SpecFlow, source and bytecode analysis, generators, xunit, NUnit.

Platforms

  • Used Azure, Kubernetes, Netlify/Jamstack(Serverless), Windows, Ubuntu, Docker, VirtualBox, HyperV, Android, various distributed monitoring and logging tools.

  • Previously used multi language proprietary cloud.

  • Used to be advanced Windows 95-10(WinAPI, COM, VSTO, WinDbg)

CI/CD

Used Jenkins, Azure DevOps, Gerrit, GitLab CI.

Collaboration and project

Enjoyed Jira, MatterMost, GitHub, GitLab, ProjectLibre, FreeMind, VUE, OpenRepGrid, PlantUml, GraphViz, Spreadsheets as tools for organization and analysis.

GUI

Advanced WPF 3-4, Windows Forms, MVVM. I did vanilla HTML+JS+CSS dozen times since 2004 up to now, but never full time. My site is built on SSR React. I have put some blocks in Unity3D either.

Networking

  • Researched IPC, used HTTP, ZeroIce, UDP, SignarR. Various forms of binary serialization (custom, Protobuf).

  • Previously WCF/MS-RPC.

Developer tools

I type in VSCode and Visual Studio. I use ILSpy, GIT, SSH, Windows Terminal, full desktop search tools. Previously SVN, Notepad++.

Projects

2019.11 - now, full time. eCommerce Point of Sale

  • Having fun
  • Coding functional in functional language
  • Think of : Microservices, event sourcing, graph storage, DevOps, research, planning, code review, requirements analysis, coordination, privacy regulations.

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

Cloud native microservice based call and contact center integrated with Microsoft Teams.

  • 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.

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 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 match making and some battle logic.
  • Integrated best practices into game studio to prevent business losses due to security breaches
  • Facilities migration from paper based workflow to digital one with proper hierarchy of work items.
  • Learned from flat cross functional team of developers and designer of approx. 10 people in delivering game from Proof of Concept into Release.

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 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 custom plugin system
  • Worked with teams from Germany and visited them regularly. Worked hard to make all collaboration online and transparent
  • Was in stream of 5 developers, within 40 people project.

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 a 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 where not
  • Thought up, elaborated and managed prototyping of document relationships visualization presented to customer
  • Articulated several cross team inefficiencies up to resolutions, helped customer to improve skill-position fit of some employers
  • Trained my writing English to be proper structured, clear and action inducing
  • Worked within distributed team of 30 developers

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

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 MS Office, framework for 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 largest 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
  • Developed 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 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

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 understands music from audio content using Hierarchical Temporal Memory and classifies via KNN

  • With zero supervision, idea and whole implementation are mine.

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 camera attached to microscope, measuring photo quality, tuning camera settings, plotting entropy calculation, logging results
  • Was under scientific guidance of 2 PhD students

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

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

Created industrial MS-DOS application connected to woodworking machine.

  • Coded tools to edit/store/execute sawing plans, change sawing machine setup and monitor sawing process.

  • With lack of working 3rd party components, 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 micro controller programmer.

2004.09-2005.03, part time. Graduates database

Created Windows application to input and report on graduates data.

  • Created installer and help
  • Got 2nd place on regional competition of school student’s software

Experiences

2017.02-now, fun time. Micro web sites for professionals, personal businesses and relatives

Developed small low cost SEO/semantic optimized static web sites.

2005-now. Structurally tagged 10000+ digital entities, did mind mapping.

2012-2019.10, Security and privacy

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

2018.12-2019.06, fun-time. Hackatons

  • Participated in several hackatons(including EaP Civil Society Hackaton in Georgia with maps), legal.
  • Practiced team leading, architecure, bushiness analysis, leadership and collaboration in extremely time limited conditions
  • Have won 1st Minsk Legal Tech Hackaton with prototype of solution to automatically recognize and highlight covenants clauses within contracts and put these into database.
  • Have won Datathon legal track with application to crawl internet for monopolies related cases cases and news with ability to search over text.

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

  • Used reverse engineering to find several holes in site security
  • Proposed alternative implementation of services
  • Provided scripts to business to do security evaluation continuously

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

  • Learned .NET, testing, collaboration, web, databases, OOP, Design Patterns and web development topics
  • Implemented tests tasks
  • Prototyped web site for creating custom entities by administrators and adding exemplars of them by users(entities have had variable number of fields with of different types)
  • Prototyped web site to add/store/search tagged technical documents.

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

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

Interests

  • Innovations
  • Knowledge management.
  • Science, math, models, algorithms.

Languages

  • English - fluent reading/writing technical texts, working spoken, B2/Upper intermediate.
  • Russian, Belorussian - native. Меня зовут Лагода Дмитрий Александрович.

Other

I have driver licence type B. I was born in 1988 year AD. I do yoga. Learning to cook simple and healthy food. I believe in openness, transparency, science.

My wife.