#
- I'm a multifunctional Software Engineer with 12+years of extended experience in Software Development and System Design, Network protocols, Linux OS Administration, and Highload Systems Development.
- Most of the technologies listed below I studied and applied at my current workplace, and I'm interested in learning and applying a new one.
- I like to design and implement complex and simple systems and solutions, to help others do their work effectively.
- I love my wife and daughter, and also like challenging tasks and elegant solutions.
- I believe it's never too late to learn something new.
#
I started to learn Software Development in high school in about 2002. I wrote my first programs in DOS's Turbo Pascal on the old 20MHz notebook with 80MB of disk space. I learned how to change the screen to a graphical mode and it was a new exciting world. I dreamed to develop computer games that will like everyone. I spent a lot of time trying to create something cool.
Thanks to the perfect (for its time) Turbo Pascal IDE with syntax highlight, automatic indentation, and other must-have IDE features I learned how to write code that looks nice. And thanks to the Pascal language with its strict and advanced type system I learned how to write code that will work nicely too.
Then I started to learn how computers, their hardware, and software (OS) work in general. I learned to install, configure, and tune most Microsoft Windows versions since the 95. I created bootable floppies with tools to restore and reinstall a crashed OS.
The next programming language I learned was Borland Delphi. Creating a nice-to-look GUI application by just dropping a button component on the form and assigning an event handler function for it was a big step forward in software development. This approach differed very favorably from the MFC library of Microsoft Visual C++ I struggled to comprehend at that time. But I've managed to learn a bit of Win32 API during that tries.
At the end of high school, I get familiar with Debian GNU/Linux, from version 3.1 (Sarge). Using and learning it caused a big mind-shift for me. I found an OS that can be configured on almost all levels. My first programs in the Linux environment were simple Bash scripts and GUI applications in Free Pascal at Lazarus IDE. Then I started learning C and C++ more consistently.
#
Domain-specific language for the flespi platform
Projects: flespi
Projects: Wialon, AsyncSender
Projects: flespi, Wialon, http-server-in-bash
Projects: flespi, flespi.io devices bulk creation tool
Projects: flespi, PVM trace dump viewer, PVM plugin sandbox
Projects: PVM trace dump viewer, PVM plugin sandbox
Projects: WialonIPSEmulator
Projects: Wialon
Projects: Wialon
#
- Backend Software Development: Experienced in the backend software development using various programming languages with a focus on the modern SaaS solutions
- Problem Solving: Experienced in business tasks analyzing, identifying sub-tasks and problems, and choosing a best way to solve or mitigate them
- System Programming: Good understanding of the Linux OS kernel work with network, filesystem, processes, and virtualization to create effective backend applications
- Software Architecture: Architecting simple and complex solutions from scratch
- Highload Systems Development: Design and development of the highload systems with microservices architecture
- Frontend Software Development: Experienced in the frontend development from times of the browser-wars up to the modern frontend frameworks
- Linux server administration: Install, setup and maintain VPS and bare-metal servers with Linux OS (Debian-based mostly)
- PostgreSQL database administration: Setup of the high-available PostgreSQL database clusters on several servers with automatic failover with Pacemaker
- Git: Confident git user. Migrated entire company from svn to git in ~2013
#
#
What I did: TODO
Technologies: Lua, C, Bash, PVM, JavaScript, TypeScript
What I did: Developed that library from scratch
Technologies: Lua
What I did: Developed it from scratch
Technologies: TypeScript, React
Just enter PVM source code, enter input JSON message and see resulting message modified with your PVM code.
What I did: Developed it from scratch
Technologies: TypeScript, React
Technologies: JavaScript
Technologies: C#
Technologies: Bash
What I did: Developed it from scratch
Technologies: Python
#
- Bachelor's in Computer Science, 2015 at BSUIR (Belarusian State University of Informatics and Radioelectronics)