Roman Niukhalov, Developer in Novosibirsk, Novosibirsk Oblast, Russia
Roman is available for hire
Hire Roman

Roman Niukhalov

Verified Expert  in Engineering

Back-end Developer

Novosibirsk, Novosibirsk Oblast, Russia

Toptal member since December 20, 2021

Bio

Roman is a senior software engineer with 8+ years of experience. His earlier career progressed through developing in C/C++ (embedded), creating web services in Java, and building services for collecting and storing geospatial data worldwide. Then he joined Agoda to lead a group of engineers developing services for processing and storing hotel prices that handled one million operations per second. Roman is currently working for Motional, developing mapping software for self-driving cars.

Portfolio

Motional (Formerly NuTonomy)
Python, C++11, C++17, CMake, PostgreSQL, C#, C++, Web Services, Automation...
Agoda
Scala, Couchbase, Apache Cassandra, Microsoft SQL Server, Docker...
2Gis
Java 8, Python 2, Python 3, PostgreSQL, PostGIS, Ansible, Docker, Jenkins...

Experience

Availability

Part-time

Preferred Environment

Linux, MacOS, IntelliJ IDEA, Vim Text Editor

The most amazing...

...system I've designed and implemented handled one million requests per second.

Work Experience

Senior Software Engineer

2019 - 2021
Motional (Formerly NuTonomy)
  • Applied convolutional neural networks and classic image processing techniques, using OpenCV for extracting semantic annotations from 2D map images.
  • Profiled and optimized an existing web service to double its serving capacity.
  • Automated various manual operations, which reduced human mistakes and sped up operation cycles.
  • Mentored a team of ten people to rapidly improve their hard skills.
Technologies: Python, C++11, C++17, CMake, PostgreSQL, C#, C++, Web Services, Automation, Team Mentoring, Programming, OpenCV, REST APIs

Software Engineer | Team Lead

2017 - 2019
Agoda
  • Designed and developed a system that handled one million requests per second.
  • Reduced the load on the internal monitoring system by three orders of magnitude by catching and fixing bottlenecks in the client libraries.
  • Reduced the number of missed on-call phone calls by creating an on-call Slackbot.
Technologies: Scala, Couchbase, Apache Cassandra, Microsoft SQL Server, Docker, Docker Compose, Python, Programming, REST APIs

Software Engineer

2015 - 2017
2Gis
  • Created an automated pipeline for importing geodata from OpenStreetMap.
  • Developed a geosearch API for querying the imported geodata.
  • Created and maintained continuous integration pipelines.
Technologies: Java 8, Python 2, Python 3, PostgreSQL, PostGIS, Ansible, Docker, Jenkins, Kubernetes, Java, Python, Continuous Integration (CI), APIs, Geodatabases, OpenStreetMap, Programming, REST APIs

Junior Software Engineer

2013 - 2015
Center of Financial Technologies
  • Created a Java library for performing contactless payments using Android host-based card emulation (certified by Visa).
  • Developed embedded software for point-of-sale terminals.
  • Implemented a testing framework that automates manual operations.
Technologies: C, C++98, Java 6, Python 2, Python, C++, Java, Programming, REST APIs

Remote-controlled, Self-driving Car

https://github.com/nyukhalov/scout
A toy remote-controlled, self-driving car that can perform simple mapping and manual navigation functions. I am developing this personal project as a playground for learning new skills and technologies.

Advanced Lane Finding

https://github.com/nyukhalov/CarND-Advanced-Lane-Lines
My goal in this project was to write a software pipeline to identify the lane boundaries in a video. The project was a milestone in the Self-Driving Cars Engineer Nanodegree on Udacity, and I used OpenCV and Python 3 extensively.

Traffic Sign Recognition Program

https://github.com/nyukhalov/CarND-Traffic-Sign-Classifier-Project
I used deep neural networks and convolutional neural networks to classify traffic signs in this project. I trained and validated a model to classify traffic sign images using the German Traffic Sign Dataset. After training the model, I tested it on images of German traffic signs I found on the web.
2007 - 2011

Bachelor's Degree in Informatics and Applied Mathematics

Novosibirsk State Technical University - Novosibirsk, Russia

Libraries/APIs

REST APIs, OpenCV, Matplotlib, TensorFlow

Tools

IntelliJ IDEA, Vim Text Editor, Ansible, Jenkins, Docker Compose, CMake

Languages

Java 6, Python, Java 8, Python 3, Java, C, C++98, Python 2, Scala, C++11, C++17, C#, C++

Platforms

Linux, MacOS, Docker, Kubernetes, iOS

Storage

Databases, PostgreSQL, PostGIS, Couchbase, Microsoft SQL Server

Paradigms

Continuous Integration (CI), Automation

Other

Programming, Operating Systems, Algorithms, Linear Algebra, Differential Equations, Optimization, Apache Cassandra, Robotics, APIs, Geodatabases, OpenStreetMap, Web Services, Team Mentoring, Deep Neural Networks (DNNs), Convolutional Neural Networks (CNNs), Machine Learning

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