Nikita Karatun, Developer in Belgrade, Serbia
Nikita is available for hire
Hire Nikita

Nikita Karatun

Verified Expert  in Engineering

Full-stack Developer

Location
Belgrade, Serbia
Toptal Member Since
September 24, 2020

Nikita is a full-stack developer with nine years of experience. In addition to proposing, designing, and developing web, desktop, and mobile applications, he has automated processes that impact thousands of employees and completed projects for large companies, including top-tier international banks. Nikita always meets requirements, but he also thinks beyond them to make valuable recommendations. Many of his suggestions have evolved into new features or whole new applications.

Portfolio

Lunate Games
C++, Qt 5, OpenGL, WebGL, Emscripten, WebAssembly, Protobuf, CMake, Qt, APIs
Expert Remote
ARM, µC/OS-II, lvgl, CMake, JetBrains, Visual Studio Code (VS Code)
NXLog
C++, C++20, CMake, Boost, Boost.Asio, Bison, Linux, TypeScript, React, Antd...

Experience

Availability

Part-time

Preferred Environment

GCC, C++, Linux, Java, Spring, TypeScript, React, Angular

The most amazing...

...web application I've designed and developed is a project migration tracker that has facilitated thousands of project migrations.

Work Experience

C/C++ Developer

2023 - PRESENT
Lunate Games
  • Ported a desktop drawing tool to the web, leveraging C++, Qt, OpenGL, WebAssembly, WebGL, Protobuf, and CMake.
  • Actively participated in game porting and related tasks.
  • Fixed bugs and collaborated in solving render issues.
Technologies: C++, Qt 5, OpenGL, WebGL, Emscripten, WebAssembly, Protobuf, CMake, Qt, APIs

C/C++ Developer

2023 - 2023
Expert Remote
  • Developed custom software for a QR code payment terminal.
  • Configured a desktop emulator build to streamline the development process.
  • Selected all necesarry 3rd-party libraries and cross-compiled them for a desktop emulator and terminal.
Technologies: ARM, µC/OS-II, lvgl, CMake, JetBrains, Visual Studio Code (VS Code)

Senior C++ Developer

2021 - 2023
NXLog
  • Designed and developed SQL subqueries and SQL views database engine features.
  • Added SSL and SSL client certificate authorization database engine connection modes.
  • Designed and developed a database engine client user interface.
  • Set up CI/CD pre-merge and memory leak detection pipelines. Optimized Jenkins pipelines several times, improving the build times.
Technologies: C++, C++20, CMake, Boost, Boost.Asio, Bison, Linux, TypeScript, React, Antd, Front-end, Architecture, API Architecture, APIs, Python, User Experience (UX), User Interface (UI), CI/CD Pipelines, RESTful Services, Full-stack Development, Gang of Four (GOF) Design Patterns, SQL, Node.js, JetBrains, Visual Studio Code (VS Code)

Senior Full-stack Developer

2020 - 2022
GIGAZON
  • Designed and developed a REST API, using Swagger for the API design and documentation and Spring Boot for the implementation.
  • Developed a hybrid application on Ionic backed by Angular. Integrated the application with Twilio programmable chats and a programmable video API.
  • Introduced and facilitated CI/CD pipelines on the project, conducted code reviews, and propagated SOLID principles and programming best practices.
Technologies: Angular, TypeScript, Ionic, Spring Boot, PostgreSQL, Spring Data, Hibernate, Docker, GitLab CI/CD, Java 11, Swagger, Twilio API, H2, Test-driven Development (TDD), Team Leadership, Java, Back-end, Full-stack, Spring, Databases, Linux, Git, CSS, JUnit, Bash, Linux Mint, Jenkins, IntelliJ IDEA, NGINX, REST APIs, RxJS, Single-page Applications (SPA), iOS, Android, Front-end, Architecture, API Architecture, APIs, REST, Node.js, CI/CD Pipelines, RESTful Services, Full-stack Development, Responsive Web Design (RWD), SQL, JetBrains

Senior Full-stack Developer

2016 - 2019
Luxoft Moscow
  • Proposed, designed, and developed Java/Spring web applications and Atlassian Jira and Bitbucket plugins.
  • Designed and developed wiki pages and an issue tracking, data conversion, and migration console for Java applications.
  • Facilitated and automated a mass migration from SVN to Git repositories.
  • Set up and maintained CentOS test and demonstration environments for standalone Spring Boot applications and Atlassian Bitbucket and Jira for custom Atlassian plugins.
  • Suggested and prototyped solutions, negotiated for resources, clarified requirements, and conducted prototype demonstrations.
  • Wrote user and admin manuals for developed solutions and guided test and support teams.
Technologies: Hibernate, Databases, Spring Boot, Full-stack, CSS, HTML, JUnit, Apache Maven, CentOS, NGINX, Git, Subversion (SVN), Atlassian SDK, jQuery UI, jQuery, PostgreSQL, Spring, Java, HSQL, Bitbucket, Atlassian Plugins, Jira, Back-end, JavaScript, Linux, Bash, Jenkins, IntelliJ IDEA, REST APIs, Front-end, Architecture, Full-stack Development, SQL, JetBrains

Senior Full-stack Developer

2014 - 2016
Stoloto
  • Developed web applications for the lottery business using Java and Spring.
  • Set up and maintained GNU/Linux and CentOS test and demonstration environments.
  • Conducted code reviews and refactored legacy code.
Technologies: Hibernate, Databases, Full-stack, CSS, HTML, JUnit, MySQL, Gradle, Jenkins, Linux, NGINX, jQuery, JavaScript, Spring, Java, Back-end, Git, Bash, Linux Mint, IntelliJ IDEA, REST APIs, Front-end, Full-stack Development, SQL, JetBrains

Full-stack Developer

2013 - 2014
Aisa IT Service
  • Developed document management applications using Java and Spring.
  • Built a wxWidgets GUI capable of working smoothly with more than 50,000 rows of tabular data.
  • Developed complex, dynamic reports that queried data from an IBM Db2 database and rendered it with wxWidgets grids.
  • Interviewed, trained, and evaluated Java junior developers.
Technologies: Databases, Full-stack, CSS, HTML, wxWidgets, IBM Db2, Ext JS, jQuery, JavaScript, Spring, Java, Back-end, Linux, Git, Bash, Team Leadership, Front-end, Full-stack Development, SQL, Lua

Cross-platform Framework for General Purpose Measurement Applications

https://gitlab.com/nikita_karatun/uni_measurement_manager
A C++ cross-platform framework for simple, general-purpose measurement applications. Applications built on this framework measure the dependency of one value on the other. Examples of such dependencies may include, but are not limited to, the following:

• Dependency of the signal value on the boxcar gate delay for the emission lifetime measurement.
• Dependency of the signal value on the diffraction grating position for the spectroscopy measurement.
• Dependency of the signal value on the bulk sample position for the absorption or luminescence profile measurement.

The application defines a measurement device that performs readouts and contains one or more drives that change the depends-on value. The Boxcar application built on top of the framework is now used in the Russian Academy of Science.

TTRPG Map Painter

https://gitlab.com/nikita_karatun/ttrpg_map_painter
Map Painter is a tabletop role-playing game (TTRPG). The application follows a simplified approach for map design and is meant for quick TTRPG map creation, perhaps even in the middle of a game session.

FEATURES
• The main working area is an infinite canvas with a pre-drawn grid.
• The walls may be drawn over the grid lines, i.e., only horizontally or vertically.
• The 2nd (and, as for now, last) instrument, the eraser, can be used to remove walls (e.g., for the entrances).
• The canvas may be dragged back and forth with the middle mouse button.
• There are no scrollbars, but a handy arrow shows the lost traveler where the drawn part of the map is if they traveled too far away from it.
• The map may be exported to one of the supported raster image formats (JPEG, PNG, or BMP) or SVG if you prefer vector images.
• The exported map may be printed and used offline or uploaded to an online TTRPG web application. I did the latter and used it on Roll20.

I applied CI/CD practices to build and test on each push and on tag release with the app artifact for GNU/Linux automatically created. Windows automated builds are in the plans.

NgxFormHandlers

https://gitlab.com/nikita_karatun/ngx-form-handlers
NgxFormHandlers is a collection of several classes encapsulating common request and form submission logic for Angular 12.2.0.
This is a workspace for NgxFormHandlers containing the NgxFormHandlers themselves and an example application.
2005 - 2010

Master's Degree in Fiber Optic Communication Systems

Far Eastern State Transport University - Khabarovsk, Russian Federation

Libraries/APIs

wxWidgets, React, Node.js, jQuery, REST APIs, jQuery UI, Twilio API, RxJS, Antd, OpenGL, WebGL, Protobuf

Tools

Atlassian SDK, Git, CMake, GDB, Apache Maven, IntelliJ IDEA, Bitbucket, Jira, Subversion (SVN), NGINX, Jenkins, Qmake, GCC, Gradle, GitLab CI/CD, CLion, Conan, MATLAB, Emscripten, JetBrains

Frameworks

Spring, Qt 5, Angular, Google Test, JUnit, Spring Boot, Hibernate, Ionic, Qt, Ext JS, Ember.js, Bootstrap, Swagger, Boost

Storage

Databases, PostgreSQL, MySQL, IBM Db2, Spring Data, H2, HSQL

Languages

Java, JavaScript, C++, TypeScript, C++11, C++14, SQL, Bash, HTML, CSS, Python, C++17, XML, Java 11, Lua

Platforms

Linux, Linux Mint, Docker, CentOS, Kubernetes, iOS, Android, Visual Studio Code (VS Code)

Paradigms

Cross-platform, Responsive Web Design (RWD), Gang of Four (GOF) Design Patterns, Test-driven Development (TDD), API Architecture, REST

Other

Full-stack, Back-end, C++20, Front-end, Full-stack Development, Atlassian Plugins, Team Leadership, Single-page Applications (SPA), APIs, CI/CD Pipelines, RESTful Services, Fiber Optics, Boost.Asio, Bison, Vcpkg, Architecture, User Experience (UX), User Interface (UI), ARM, µC/OS-II, lvgl, WebAssembly

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring