Hi! I’m an IT engineer and researcher from Belarus, founding investor of VibroBox (prescriptive maintenance for machinery) and MAPS.ME (offline maps for iOS and Android). I have 18 years of experience in leading dev teams, building cross-platform and scalable software. I like open source, love to travel, and want to understand how everything works.
Belarusian State University of Informatics and Radioelectronics, Minsk, Belarus
2016–2018Master of Science in Engineering, faculty of Radioengineering and Electronics.
Master’s thesis: Formation of informative features of shock processes using wavelet analysis of non-stationary vibration signals
1999–2004Software and Hardware Systems Engineer, Faculty of Computer Systems and Networks.
Bachelor’s thesis: Reliable file downloading for Palm OS, graduated with a score of 4.71 out of 5.0.
Functional Programming in Scala Specialization, Coursera
1988–1999 Graduated high school in Minsk with a gold medal
Work Experience
–
Software Engineer and Tech Lead at Qnective AG (Zurich, Switzerland)
Qnective is a leading provider of sophisticated communication solutions and services, with deep expertise in wireless technologies, networking, IoT, infrastructure, and highly-secure encryption mechanisms.
I have:
lead the team of 8 engineers and QA for a secure embedded IoT project
implemented lightweight SD-card support for ESP32
developed and reviewed embedded C/C++ code for encrypted data communication (DTLS over CoAP) for ESP32
worked on peer-to-peer opus voice communication over DTLS/CoAP on iOS and Android
designed and developed a routing GoLang gateway for P2P E2EE voice and messaging
switched large project codebase from C++11 to C++17
migrated codebase to the latest version of OpenSSL and Qt
improved cross-platform build system
performed extensive C/C++/Ruby/GoLang/python/Scala code reviews
VibroBox is a vibration-based diagnostics service for a scalable [prescriptive maintenance](Smart Energy Summit news), IIoT and Industry 4.0. Our team of scientists, engineers, and industry experts are focused on digital signal processing, wavelets, machine learning, and other algorithms to prevent failures of industrial equipment by providing timely and automated maintenance instructions.
VibroBox works with a wide range of rotary equipment, including (but not limited to): pumps, turbines, compressors, generators, rotors, engines, bearings, gearboxes, rolling mills, wind farms, wheel pairs for cars and trains.
My responsibilities in VibroBox:
IT infrastructure management
Strategy and technology advisor
Business development, negotiations, presentations
Financing and accounting
Translations of Scientific Russian into Common English
Some engineering tasks I’ve done:
Designed a scalable cloud service architecture
Set up and administered cloud server hosting (Ubuntu)
iOS and Android apps to collect audio and accelerometer data and send it in to the cloud for automated processing
MAPS.ME is an open-source offline maps app for iOS and Android.
A crowd-sourced OpenStreetMap data is used for walking and cycling directions, car navigation, discovering new places and local sightseeing. As of April 2018, MAPS.ME was installed by 100M users all over the world.
I worked in many roles and got extensive experience in engineering, team and technical leading, product and project management, business development, user support, marketing, public presentations, hiring and interviewing, teaching, etc.
After the acquisition of MAPS.ME, we have hired a new engineering team of 25 in Moscow and passed all our knowledge to them. I was in a “CTO” role at Maps department of Mail.Ru Group:
Developed and integrated open-source, scalable, cross-platform statistics engine Alohalytics for iOS, Android, and desktop (C++11), including client part and backend data collection
–
Co-Founder, CTO
Product management and releases delivery
Moved the codebase from C++99 to C++11
Scaled maps data distribution cluster and HTTP delivery services to match growing user base
Ported Open Source Routing Machine (OSRM) to iOS and Android to add offline navigation support [source code]
Gradle build system integration for Android
New product features development and bug fixing
Product web sites deployment and support
–
Co-Founder, CEO
Probably the most challenging period for MAPS.ME, when we grew our team and user base while trying to sell a paid app in AppStore and Google Play.
Product management and releases delivery
Increased worldwide userbase from 120K to 2.5M
Break-even revenue generation by selling a paid version of MAPS.ME (MapsWithMe)
Built dev and marketing teams (13 people)
Developed and released 26 offline travel guides apps for iOS and Android (GuideWithMe)
Established a development office in Minsk, Belarus
Business development, PR, and marketing
New product features development and bug fixing
Perfected user support
–
Co-Founder
At that time, I led our small team of 3 in Minsk, responsible for a cross-platform build environment, code reviews, iOS, and Android. The most notable tasks included:
High load client/server maps distribution via HTTP
Fast Unicode normalization algorithm for multilanguage offline search
Native UI for iOS and Android, Qt UI for easier development on macOS, Windows, and Linux
Compiled/ported core code to iOS, Android, Bada, Mac OS X, MinGW, Linux, Windows XP/Vista/7
–
CTO at BLRSoft
BLRSoft (as an R&D center of Abaxia) developed “home screens” software and firmware for Vodafone, Orange, and other network operators. BLRSoft was acqui-hired by HTC in 2010 and renamed to HTC BLR.
I worked in many roles, including Senior Software Engineer, Team and Technical Leader, Project Manager, Technical Director, while working on mobile software for Symbian and Windows Mobile.
Implemented Symbian devices data text indexing and search functionality.
Universal Content Provider project for Symbian and Windows Mobile.
Implemented and maintained Symbian data providers with access to the device’s contacts, messages, calendar, bookmarks, network connections.
Ported library for different Symbian platforms (3.1, 3.2, 5.0, N97) and maintained Windows Mobile compatibility.
Developed Symbian “homescreens” for European network operators.
Managed projects tasks, built and organized local developer/QA teams, including testing with different prototype devices.
Designed projects architecture for several Symbian platforms.
Developed some core components, including UI, networking, calendar events, contacts database, missed calls, messages, e-mails, status pane.
Ported projects to Symbian 3.1, 3.2, and 5.0 (touch) devices.
Wrote technical and architectural specifications.
Integrated best practices from Agile/Scrum/Extreme programming.
CardBrowser library for Symbian (microSD card auto-launch menu).
Planned timeline and designed architecture and components.
Implemented different UI and core library parts, including interactive controls, animation engine, ini-parser, images loading and caching mechanism.
Supported mobile cross-platform GUI library for Windows Mobile and Symbian.
Investigated and reviewed existing code and architecture.
Migrated codebase from C to C++ and from SVN to Mercurial.
Developed and maintained different system components, including messaging, networking, and UI.
Supported and administered internal company infrastructure.
InfoTechnology is a Belarussian division of a San-Francisco XIM company. I have developed a music and hum/sing recognition app for Symbian devices called “Midomi.” The customer was SoundHound Inc. from California.
Some tasks I’ve done that time:
Got extensive dev experience with Symbian OS system environment and development tools.
Designed and implemented GUI for Midomi, along with HTTP-based advertisement and HTTP player.
Openwave C++ firmware for low-end mobile phones.
Developed XSL transformations to convert internal XML documentation (which is also the source for C++ headers) into XML DITA format.
Automated QA processes with supporting Perl scripts, including URL grabber, Purify log analyzer, HTML reports generator.
Techs:
C++
Symbian
Solaris
XSLT
Pair Programming
–
Freelanced DVD Ripper/Player Station project
I have developed a Windows application for touch-screen devices to easily play and grab DVD content in a small team of two.
In particular, I’ve created:
GUI
Movies library
Video files and DVD Playback with DirectShow
Second monitor/projector support
MultiDVD drives support
Techs:
Visual C++
WinAPI
ffmpeg
DirectShow
–
Software Engineer and Team Leader at Belsoft-Borlas Group
I have supported a “Smart IP” product for a US customer, a transparent TCP/UDP
network optimizer/switcher for desktop and mobile platforms. What I’ve done:
Redesigned Windows Mobile client GUI and ported it to WM5.0.
Integrated automatic Code Signing pipeline for Windows Mobile 5.0, including developer certificates at the development stage and VeriSign certificates for production based on Microsoft Mobile2Market program.
Developed and maintained software installation packages for different Windows platforms.
Ported existing client/server code for Windows Vista and Windows Server 2008, including LSP and NDIS network drivers.
Implemented log files analyzer and statistics generator.
Created a dozen of Functional Specifications and Design documents for different software components.
Credo Dialogue is a scientific & industrial company developing CAD-systems combined into a single technological chain of information processing (topographical and geotechnical surveys, engineering design, terrain modeling, etc.). Here I met my friends and future MAPS.ME co-founders
Yury Melnichek and Viktar Havaka
I worked on Topoplan and Genplan CAD software, 3D terrain/buildings modeling and editing, in particular:
Designed and implemented several software modules to manipulate geometrical primitives
(to create/edit 3D points on the terrain, to align circles with splines,
to create/edit parabolas, etc.)
Implemented several complicated UI dialogs.
Organized and maintained internal project documentation, including
web site, automatic code documentation system with DoxyGen.
Got a strong C++99 and STL experience with algorithms and big data sets.
Techs:
Visual C++
STL
IncrediBuild
Doxygen
Borland StarTeam
–
Software Engineer and Team Leader at Spark IT
Developed an Internet messaging app “Messenger2” (“M2”) with ICQ, AIM, MSN, Yahoo, and IRC
support, chat encryption, file sharing, video and audio conferences for a customer from the UK.
Trillian messenger was our closest competitor.
Put together and managed a team of 5 developers.
Designed messenger architecture and modules.
Reverse-engineered ICQ and AIM protocols.
Implemented multiprotocol core layer with ICQ and AIM protocols support libraries, UI, and configuration dialogs.
Techs:
C++
STL
WTL
WinAPI
Non-commercial experience
–
Crossplatform IRC news feeds publisher bot
I have designed and implemented a configurable IRC bot for Windows and
Linux, using curl, libmrss, and libnxml libraries for RSS/Atom/XML
parsing with full range character encodings support. It was alive until 2016.
Techs:
C++
Linux
curl
RSS
–
Co-founder and coordinator of ByNets IRC network
ByNets was the largest IRC network in Belarus which united many people from universities,
dormitories, companies, and residential districts of Minsk.
Co-founded IRC network and grew up user base from the start.
Created and supported the main website using RunCMS and Drupal.
Configured and maintained several UnrealIRCd hub servers on Linux and Windows.
Techs:
IRC
Linux
Drupal
–
U6/X6 local network administrator in Minsk
At that time, my friends and I have built one of the largest home Ethernet networks
in Minsk with 1500+ users from different city districts. We used long-range cables,
100Mbit switches and targeted radio links (range up to 3km) to connect users from
many apartment buildings.
Designed and developed a local residential network for hundreds of home users.
Provided IP, media, news, and forum services for local network users.
Maintained Debian Linux and Windows 2003 servers with different LAN
services, including local websites and free hosting.
Designed and implemented routing, DNS, and DHCP between subnetworks,
including long-range (several kilometers), point-to-point Wi-Fi
connections to other residential networks.
Maintained Perl scripts for network administering and traffic analyzing.
Techs:
Linux
bash
Perl
–
Belarusian State University of Informatics and Radioelectronics
R&D work with random number generators based on linear feedback shift registers under the supervision of I.P. Kobyak, Ph.D.
Designed and implemented a fast algorithm in x86 assembler to generate binary sequences
X10 speed up optimization of existing code
Designed and developed GUI for statistics visualization
Techs:
Visual C++
Assembler
Publications
Algorithms for refinement of the shaft rotational speed for solving the problems of vibration diagnostics of rotary equipment / Y. Aslamov, I. Davydov, A. Borsuk, A. Aslamov // First World Congress on Condition Monitoring, London, 13-16 June 2017, Session 6E: Vibration condition monitoring methods and technologies / The British Institute of Non-Destructive Testing.
Sparse wavelet decomposition of signals for solving vibration diagnostics problems / Y. Aslamov, I. Davydov, A. Borsuk, A. Aslamov // First World Congress on Condition Monitoring, London, 13-16 June 2017, Session 7E: Vibration condition monitoring methods and technologies / The British Institute of Non-Destructive Testing.
Sparse wavelet decomposition in problems of vibration-based diagnostics of rotary equipment / Y.P. Aslamov, A.P. Aslamov, I.G. Davydov, A.V. Borsuk // Doklady BGUIR[BSUIR reports], 2017, no. 8 (110), pp. 91-98. (in Russian)
Formation of informative features of shock processes using wavelet analysis of non-stationary vibration signals: the author’s abstract. Diss. MSc in Engineering: 1-39 81 03 / A.V. Borsuk; scientific adviser I.G. Davydov // Minsk: BSUIR, 2018. (in Russian)