Oleg Volkov, Software Developer in Kiev, Ukraine
Oleg Volkov

Software Developer in Kiev, Ukraine

Member since November 25, 2016
Oleg is an ANSI C application developer who spent many years developing software for the banking area. He is skilled in low-level programming techniques necessary for the development of robust applications. He also has mastered object-oriented programming paradigms in C++ and Java. He took part in the development of web applications using PHP and Java Servlets, writing client/server socket programs, and is very familiar with the Oracle Database.
Oleg is now available for hire


  • Unicorn LLC
    C++, ANSI C, Linux, C, Swing, Oracle, Flex/Bison, Delphi, PHP, PL/SQL, MySQL...


  • Linux 13 years
  • Java 13 years
  • Oracle 12 years
  • ANSI C 10 years
  • C++ 9 years
  • Assembler x86 8 years
  • wxWidgets 8 years
  • Bash Script 4 years


Kiev, Ukraine



Preferred Environment

Subversion (SVN), Git, GCC, Linux

The most amazing...

...system I've worked on performed a synthesis of simple algorithms according to a desired way of interaction with an environment.


  • Leading Specialist

    2003 - PRESENT
    Unicorn LLC
    • Developed the client side of a document workflow system NbuMail.UC for Ukrainian banks in C++. Took part in the development of the server side of that system in ANSI C.
    • Created the database browsing/editing framework in C++ based on wxWidgets.
    • Developed the client-sides of the bank information system, and the loans and deposits management systems in C++.
    • Developed the system "Bank Reporting" for the Deposit Guarantee Fund of Ukraine in Java.
    • Took part in the development of server modules of the automated banking system in ANSI C.
    • Maintained the client-bank interaction system in Delphi.
    Technologies: C++, ANSI C, Linux, C, Swing, Oracle, Flex/Bison, Delphi, PHP, PL/SQL, MySQL, Java Servlets, Enterprise Java Beans (EJB), JasperReports, LibC, wxWidgets, Standard Template Library (STL), FreeMarker, JavaCC, JNI, Bash Script, Sockets, XSLT, Libxml2, OpenSSL, OCI, BeanShell, GCC, Memory Management


  • The Document Workflow System NbuMail.UC

    NbuMail.UC is a system for working with electronic mail messages exchanged between Ukrainian banks and the National Bank of Ukraine (NBU). Those messages have a format and exchange protocol different from the internet email.

    The system receives and sends messages and supports various activities related to them. It consists of a server side written in ANSI C and a client side written in C++.

    The server side includes:
    • A proprietary database management system.
    • An application server.
    • Application-specific components that the server executes.

    The client side supports:
    • Viewing the message journal.
    • Search, open, and edit messages.
    • Performing multicast message postings.
    • Manage users, message boxes, and user access to them.
    • Performing system administration tasks.

    A database browsing/editing framework based on wxWidgets is the engine on the client side. It inter-operates with the proprietary database management system and provides a GUI for working with tables and forms described in XML. The framework supports extensions triggered by various events located in the dynamic link libraries.

    I fully developed the client side of NbuMail.UC, including the database browsing/editing framework.

  • The System "Bank Reporting" for the Deposit Guarantee Fund of Ukraine

    This system is in Java which allows economists to analyze the health of Ukraine’s banking system, to take appropriate actions on individual banks to prevent their insolvency, and to determine how to indemnify depositors if a bank becomes insolvent.

    The first part of the system loads into the Oracle Database about 40 types of statistical reporting files regularly received from the National Bank of Ukraine and banks that are participants of the Deposit Guarantee Fund of Ukraine. The second part builds ~200 financial reports based on information in those files.

    The server side of the system consists of about 300 EJB components, and its client side uses Swing GUI and JasperReports as the reporting engine. The system supports the calculation of economic indicators represented as a large table of arithmetic and conditional expressions that use information from statistical reporting files loaded into the Oracle Database. A set of JNI functions perform a data export to MS Office.

    After completing project development phase in 2003 with a team of Java developers, I solely maintained the project for more than a decade. During that time, I extended the system by about 150 financial reports.

  • Various Programs in Assembler x86 on MS-DOS

    While studying at high school until a few years after graduation, I wrote a number of programs that were compilable by the Microsoft Assembler.

    Many of those programs worked with peripheral devices directly via I/O ports without using BIOS. The peripheral devices included the serial port with a modem connected to it, the parallel port with a printer connected to it, the floppy disk controller, the hard disk controller, and the video card.

    One of the programs put a matrix printer in graphic mode and could print characters on the printer using fonts currently loaded in the video card—thus giving a possibility to print texts in national alphabets.

    Another program saved the current state of a video card as fully as possible to allow a resident program to pop-up when a specific key combination was pressed and restore the screen on returning to a program currently running in the foreground.

    Two other programs read and wrote specified sectors on a floppy and hard disk.

    Another technique implemented was the execution of a program step-by-step by setting the CPU trace flag with dumping the trace log to a file.


  • Languages

    ANSI C, C, Delphi, Java, C++, Assembler x86, Bash Script, XSLT, PHP, BeanShell
  • Platforms

    Linux, Oracle
  • Frameworks

    Swing, JNI
  • Libraries/APIs

    LibC, wxWidgets, JasperReports, Standard Template Library (STL), Pthreads, Sockets, Libxml2, OpenSSL, Java Servlets, OCI
  • Tools

    Subversion (SVN), JavaCC, Flex/Bison, FreeMarker, LaTeX, GCC, Git
  • Other

    Enterprise Java Beans (EJB), Memory Management
  • Storage

    PL/SQL, MySQL, PostgreSQL


  • Specialist Degree in Informatics
    1995 - 2000
    Taras Shevchenko National University of Kyiv | Faculty of Cybernetics - Kiev, Ukraine
  • Bachelor's Degree in Applied Mathematics
    1995 - 1999
    Taras Shevchenko National University of Kyiv | Faculty of Cybernetics - Kiev, Ukraine

To view more profiles

Join Toptal
Share it with others