Senior Software Engineer2015 - PRESENT2Gis
Technologies: C++, STL, Boost, Full-text Searches, Python, Algorithms, Cross-platform Development
- Created a functionality for updating the data index file on end-user mobile devices.
- Reinvented a system for keeping record text information in a more compact way.
- Developed a Python utility to test a text search library on a huge amount of data (~20 million records).
- Led the data index update integration processes.
- Improved the Visual Studio build time of the project by using common PCH file via GYP settings.
- Worked on memory leaks and performance issues.
- Created a WKT parser that outperformed the existing one and improved data index file building time.
Software Engineer2014 - 2015Omnom
Technologies: .NET, WCF, JSON, POS Software, POS Printers (ePOS, ESC/POS)
- Created a C#-distributed app that communicated via TCP/IP to its parts and via JSON/REST to a back-end.
- Developed a POS software (iiko) extension that collects and sends order information to the server.
- Built a Win Service that added QR codes into a client's receipt while the POS software was printing it.
- Deployed and supported the whole system in restaurants.
- Taught restaurant staff to work with the system.
Project Manager2013 - 2014DataEast
Technologies: C++, Low-level Programming, Dijkstra Algorithm, Cross-platform Development, .NET
- Created a testing tool for the Dijkstra algorithm with a bunch of data.
- Helped to release the first version of the product.
- Led the working process, including the requirements, tasks, bugs tracking, and team management.
Software Engineer2006 - 2014DataEast
Technologies: C++, COM, ArcObjects, .NET, GIS, WinAPI, Win Forms, MFC
- Created new features with a base on C++ COM objects and UI on .NET; the features were developed on top of an ArcObjects library.
- Developed a new method for the calculation of the number of people living in any chosen area based on the existing population data.
- Found and fixed several memory leaks.
- Worked much on the performance of the report creation to enhance the end-user experience.