Skip to content
skynowa edited this page May 3, 2022 · 19 revisions

Sergei Shapka GitHub Watchers

Personal Information

Gender:         Male
Date of birth:  July 31, 1978
Marital status: married
Nationality:    Ukrainian
Address:        Ukraine, Kiev
Mobile:         +38 (066) 558-03-03
Email:          skynowa@gmail.com
Skype:          skynowa777
LinkedIn:       https://www.linkedin.com/in/sergei-shapka-82189a53

Objective

C/C++ Developer (Linux, FreeBSD, Solaris)

Work Experience

From 05/2013 until now: Booked.net (https://www.booked.net/)

Position: C++ developer (Linux, FreeBSD)

Projects: Development and supporting WEB server for hotel reservations

Responsibilities:
  - implement site modules, services, WEB APIs
  - develop internal C++ library (filesystem, MySQL, CURL, Redis, REST API wrappers)
  - porting FreeBSD to Linux x86_64 code
  - bugs fixing
  - static code analyzers, Git hooks
  - scripting (bash, python, make, CMake, JS)
  - code reviews
  - knowledge sharing
  - mentoring

Technologies:
  - C++03/11/14/17, STL, POSIX
  - LibXml2, cURL, MySQL, XSLT, JS/jQuery
  - Docker builds

06/2012 - 05/2013: Wifi-free (http://wifi-free.com/), full remote time

Position: C/C++ developer (cross-platform)

Projects: VPN provider (Qt 4/5, POSIX, OpenSSL)

01/2012 - 05/2012: Kiev Software Factory, Ltd (https://ksftech.com/)

Position: C/C++ developer (Linux, Solaris)

Projects: Document Server for Internet (porting from Solaris x86 to Linux x86_64,
          write OS depended code, implement unit tests)

01/2011 - 01/2012: ExMedia Soft (http://exmediasoft.com)

Position: C/C++ developer (FreeBSD, Linux)

Projects:
  - Administrative CMS for DB (Qt, Boost, MySQL), reports
  - CGI scripts (ANSI C99, STL, cURL, PCRE, OpenSSL, MySQL)
  - xLib (https://github.com/skynowa/xLib)

09/2007 - 11/2010: UNIX Group (https://yug.com.ua/)

Position: Middle C++ developer (Windows, Linux)

Projects:
  - Accounting system of eToken Aladdin keys, PKCS#11
  - Cross-platform library xLib (Windows, Linux)
  - IIS authentication filter
  - POP3/SMTP client

07/2001 - 08/2007: TK-Textile

Position: Junior C++/VB/JS developer (Windows)

Projects: Database management

Education

2002-2008: State University of Information and Communication Technologies

Faculty:   Information security
Specialty: Protection of computers and computer networks
Kiev, Ukraine

1993-1998: Kiev College of Communication

Faculty:   Automatic telecommunication
Specialty: Automatic telecommunication
Kiev, Ukraine

Professional Skills

- C/C++ (C99, C++03/11/14/17)
- OOP, OOD principles
- Cross-platform development
- Knowledge of STL, POSIX, BSD Sockets
- Knowledge of internet protocols (TCP, UDP, HTTP, POP3, SMTP, CGI, SSH2)
- WEB services (SOAP, REST)
- Libraries Boost (Asio, Thread), libevent, cURL, OpenSSL
- Experience with IPC, multithreading, daemons, signals, networking,
  asynchronous communications, filesystem events
- Skills with databases (SQLite, MySQL)
- Skills in working with PKCS #11, encryption algorithms OpenSSL (RSA, AES, Blowfish)
- Experience in porting applications 32bit/64bit, Unix/Windows platforms
- Development using Qt 4/5
- CUDA (thrust)
- Unit testing (GTest, CppTest) and TDD
- Experience with build (Make, CMake, CPack, GCC, MinGW, Clang, pkg-config, Conan, Vcpkg),
  debugging toolchains (GDB, DDD, gprof)
- Static code analyzers (Cppcheck, Clang-Tidy, PVS-Studio, Dr.Memory)
- Distribution packages (RPM, DEB, NSIS, archive, OSX bundle)
- HTML, CSS, XML, XPath, JSON, XSLT, JS (jQuery)
- Docker, virtualization software (VMware, Virtual Box)
- Bug tracking systems (Jira, Redmine, Assembla, Bugzilla)
- Familiarity with version control systems (Git, SVN), hooks
- Bash, Python scripting
- Experience with Unix environments: FreeBSD, Red Hat/CentOS, Debian/Ubuntu, Solaris
- Writing documentation (Doxygen, Markdown)

Tools

VS Code, Eclipse, Vim

Qt tools

QtCreator, Monkey Studio IDE

10+ years of commercial development experience

Pet projects

xLib (https://github.com/skynowa/xLib)

Platforms: Windows, Linux, FreeBSD, Android, Mac OS X

Classes:
  - core (strings. datetime, utils)
  - cryptography (OpenSSL, CRC, random, GUIDs, PKCS#11)
  - databases (MySQL)
  - debugging (exception, profiling, crash report)
  - file system (file, directory, volume, dynamic link library, events)
  - logging (file, system log, tracer)
  - network (TCP, UDP, DNS, HTTP, POP3, SMTP, CGI, SSH2)
  - patterns
  - MT and IPC (atomics, mutex, semaphore, event, condition variable, thread,
    pool thread, process, signal)
  - unit testing (test manager, unit tests)

xAnalyzer (https://github.com/skynowa/xAnalyzer)

C++ Static Analyzer Wrapper

Foreign Languages

English: Intermediate level
Russian: Native

Personal Skills

- responsible and hard-working person
- good decision making, administrative
- excellent time-management skills
- coaching and supervisory skills
- excellent estimation skills
- team player
- result orientation
- client orientation
- communication and interpersonal skills
- ability to work on one's own at some phases of the software development cycle
- ability to work at the most phases of software analysis and programming
- self-management skills
- experience in reviewing code

Expectations

- Well defined workflow, good coding practices, documentation & requirements
- Flexible work schedule, WFH possibility
- No legacy
- No unpaid overtimes