Name: Dzmitry Lahoda
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 of .NET technical leadership on 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
2019.08 - 2019.10, full-time. Luware BLR. Senior Backend Software Engineer/DevOps.
2018.10 - 2019.08.09, full-time. Heyworks LLC. Senior Software Engineer
2010-2018, full time. Thomson Reuters. Contractor
2014-2018, full time. EPAM Systems. Lead Software Engineer
2010-2013, full time. EPAM Systems. Software Engineer
2008.07, 2009.07, internship. Institute of Physical Biology
2008.08-10, internship. Itransition
Will be happy to learn Python/Scala/Kotlin/Rust/Go and various storage types if project will allow me.
Early days, wrote in Delphi/Pascal/Matlab.
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.
Earlier days used MySQL 5.1 via JPA 1.
Expert .NET(2.0-2.7, Core 2.2, TPL), advanced ASP.NET(Full, Api 2, Core)/Orleans, understand Web. Earlier days used Java EE5/EJB 3, IIS 5-7
Tests mocking, SpecFlow, source and bytecode analysis, generators, xunit, NUnit.
Previously MS Test.
Previously used multi language proprietary cloud.
Collaboration and project
Enjoyed Jira/MatterMost/GitHub/GitLab/ProjectLibre/FreeMind/VUE/OpenRepGrid/PlantUml as tools for organization and analysis. Used TFS/Slack.
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 type in VSCode and Visual Studio. I use ILSpy, GIT, SSH, Windows Terminal, full desktop search tools. Previously SVN, Notepad++.
2019.08 - 2019.10, full-time. Call and contact center
- Employed my opportunity to work at cloud native microservice based call and contact center integrated with Microsoft Teams to learn and improve.
- 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. Mobile First Person Shooter.
- 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 and compression; convenient and fast serialization
- Improved coding of features using latest(and future) language features
- Used channels with cooperative multithreading and concurrent queue to implement HPC realtime game server
- Automated stress tests proving 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
- Code match making and some battle logic.
- Integrated best practices into game studio to prevent bushiness lost 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
Developed 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
- Maintained custom controls
- 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 at Thomson Reuters
- Developed asynchronous micro service data intensive engine and intelligent multi-tenant distributed file system aimed for upload/ processing/production/analysis/search/review of millions of documents on custom cloud.
- Engaged in a full cycle of development from planning to project delivery
- Planned, tasked and lead month long features
- Improved asynchronous micro service data intensive engine and 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 in ad hoc persisted finite state machine actor framework.
- 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
- Trained my writing English to be proper structured, clear and action inducing
- Helped customer to improve skill-position fit of some employers
- 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
- Wrote tests
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.
- 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
2017.02-now, fun time. Micro web sites for professionals, personal businesses and relatives
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
2010.04-2014.02, part time
- Finished Machine Learning, Model Thinking, Data Science, Functional Programming Principles in Scala on Coursera.
- Watched and worked through all lectures in course of Stanford Programming Paradigms (CS 107).
2005-2010, 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
- Knowledge management.
- Science, math, models, algorithms.
- English - fluent reading/writing technical texts, working spoken, B2/Upper intermediate.
- Russian, Belorussian - native. Меня зовут Лагода Дмитрий Александрович.
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.