Alexander Magola

magola.a.s@gmail.com | linkedin.com/in/alexander-magola | Armenia, Gyumri

GitHub | GitLab | BitBucket

pdf versionhtml versiondocx version


About me

A multi-skilled Linux software engineer/developer with 20 years of experience. I always pay attention to the quality and performance of a code/product. I like designing/improving project architecture, conducting research for solving project problems and simplifying complex things. And I prefer simple but flexible solutions when possible.

Interested in many things, including: Linux and relative technologies, distributed/networking/sync/etc technologies/systems/applications/etc, high load, low-latency, optimization, embedded systems, automation, open source, etc.

Main Technical Skills

Work Experience

Dec 2022 — present time

Senior Software Engineer at EPAM Systems [Armenia, Yerevan]

Nothing to describe here yet.

Jun 2013 — present time

Open Source Developer

Developing some open source projects. Links on: GitHub, GitLab

Made some performance experiments with benchmarks in C++, for example benchmarks of ways to solve the task of reading big log files and filtering them with a wildcard pattern: fwcmatch.

Made my own build system ZenMake for C/C++ and some other languages (Fortran, D) supporting GNU/Linux, MacOS and MS Windows. Was focused on making the build system easy to use, configurable via flexible config files and removing the need to know any programming language. Made it ready to use with detailed documentation and many examples. The unit/functional tests are regularly run in CI and cover more than 80% of the code. This system is based on Waf which is used as a framework/engine.

Apr 2012 — Feb 2017

Linux Team Leader at Signatec [Russia, Novosibirsk]

Managed a long-term Linux project of parsing/analyzing/filtering of network traffic with a team of 5 C/C++ developers and 1-2 QA testers. This project had strong requirements for performance and stability. Designed many parts of the architecture. Developed some important/critical code. Reviewed different components of the project. Introduced several things to improve the quality of the project: GTest, gcov, LLVM Clang static analyzer, cppcheck, AddressSanitizer/LeakSanitizer (GCC/Clang), -Werror. Helped the team improve some technical knowledge. Conducted daily meetings to review current state of the project. Made many important decisions including resolving a problem of memory fragmentation.

Managed/improved my team workflow including:

Experience in brief:

Dec 2009 — Apr 2012

C++ Linux Software Engineer at Signatec [Russia, Novosibirsk]

Was a main developer and one of the architects of a system of distributed services DSS (for C++ SOA solutions on Linux, similar to WCF in .NET). The system allowed different services to communicate with each other using TCP/UDP/Unix (Local IPC) sockets and Shared memory by configuring files in XML/JSON formats. (C++, Linux)

Managed sub project of web interface for DSS with one Python developer.

Was involved in development of some base Linux/POSIX C++ libraries for local needs like networking, date/time, filesystem, threading, etc. (C++, Linux)

Initiated and configured Redmine as an issue tracker for use in our team. Helped the team learn how to use it. (Debian Linux, Redmine, Nginx)

Made useful build system BDS based on Waf for C/C++ projects on Linux. This system was successfully used for local C/C++ projects all the time I worked for this company. (Python, Waf, Linux)

Nov 2007 — Nov 2009

Project Manager/Team Leader at Internet Service [Russia, Novosibirsk]

Designed architecture and developed part of the back-end of a distributed DNS system.

Managed web searching project Assista (similar to google search) with team of 2-5 front-end/back-end developers. Improved/developed the project core search engine solution based on Sphinx (C++ open source search engine). Carried out some sysadmin tasks for the project remote computer cluster with more than 100 servers (CentOS) using bash/ssh/perl. Improved the project architecture.

Nov 2006 — Oct 2007

Software Developer at Internet Service [Russia, Novosibirsk]

Participated in a startup project of drawing web application with ability of recognition of hand-drawn shapes. Made experimental module of recognition (C++, OpenCV, Linux).

Worked within a development team of a multi chat client-server application Avago supported audio and video streaming. Was involved in development of both client side (C++, WTL, FFmpeg, MS Windows) and server side (Java, Red5, MySQL, Linux) of the application.

Apr 2005 — Oct 2006

Software Developer at Technodesign [Russia, Komsomolsk-on-Amur]

Participated in several projects for local billing system.

Jan 2001 — Jun 2003

Software Developer at Komsomolsk-on-Amur State Technical University (KnASTU)

Was a postgraduate in KnASTU and had a task to develop a calculation program of stress-strain state of solid materials with cracks based on the boundary element method.

Education

Sep 1995 — Jun 2000

Komsomolsk-on-Amur State Technical University (KnASTU)

Languages


Last modified: 2023-04-09