Nikolai Afanasiev, Developer in Remchingen, Baden-Württemberg, Germany
Nikolai is available for hire
Hire Nikolai

Nikolai Afanasiev

Verified Expert  in Engineering

Front-end Developer

Remchingen, Baden-Württemberg, Germany

Toptal member since January 14, 2022

Bio

Nikolai has more than 15 years of experience in C#, Java, and JavaScript development under Linux, Windows, and mobile Android platforms. He's keen on Java, C#, TypeScript, and React, and he has deep OOP, design, and architecture knowledge, together with CI/CD expertise, including Docker and Kubernetes. Nikolai has contributed to projects in industries ranging from banking to internet and automotive branches, and he is presently looking to work on web, desktop, or mobile applications development.

Portfolio

Microchip Technology
Java, C#.NET, XML, SQL, Kubernetes, Bitbucket, Git, Apache Maven, .NET 4, React...
SaxoSoft Representative Office of Saxo Bank A/S Denmark
C#, C++, VB, Visual Studio .NET, Microsoft Team Foundation Server...
Raimist Software, LLC
JavaScript, HTML, MySQL, Oracle, ActiveX, C, C++, Java, Unix, IT Consulting

Experience

  • Java - 20 years
  • SQL - 15 years
  • C# - 15 years
  • Android Studio - 7 years
  • HTML - 7 years
  • JavaScript - 5 years
  • React - 2 years
  • TypeScript - 2 years

Availability

Part-time

Preferred Environment

WebStorm, IntelliJ IDEA, Visual Studio .NET, Kubernetes, Git, Bitbucket, GitLab

The most amazing...

...project I've developed is an Android app for a third-party media player that was more popular than the original one from the media player producer.

Work Experience

Senior II Software Developer

2007 - PRESENT
Microchip Technology
  • Redesigned a desktop Java UI tool for microchips configuration by splitting legacy code into the layered structure, giving better possibilities for parallel development and testing. As a result, the number of project issues was drastically reduced.
  • Developed a full-stack SPA application prototype to access and configure HDD controllers. The back end was built on TypeScript, Nest.js, and Node.js, and the front end used React, TypeScript, and Material UI.
  • Managed a Kubernetes cluster to speed up CI builds by parallelizing build jobs on several build servers. Took part in the development process definition and implementation to provide developers with a modern environment: Git, GitLab, and Kubernetes.
  • Built the WPF C#.NET part of the car network—MOST, CAN, Lin, FlexRay, and Ethernet—sniffer tool. Developed a high-speed database to store and filter network traffic, making UI performance ten times faster.
  • Created Java, C++, and C# code generators to be jointly used with the main product of our company, which led to additional sales of the main product together with new generators.
Technologies: Java, C#.NET, XML, SQL, Kubernetes, Bitbucket, Git, Apache Maven, .NET 4, React, TypeScript, NestJS, Next.js, Node.js, Material UI, Unix, Windows Presentation Foundation (WPF), Front-end, Back-end, MongoDB, PostgreSQL, Databases, Express.js, CSS, GitLab CI/CD, CI/CD Pipelines, REST, JavaScript, HTML, Bootstrap, jQuery

Software Developer | Project Leader

2005 - 2007
SaxoSoft Representative Office of Saxo Bank A/S Denmark
  • Developed a chat tool for the sales department to communicate with online clients.
  • Built a GUI tool and the server business logic part of the internal bank tool to automatically process incoming and outgoing funds transfers. That gives customers the ability to transfer money over the wire without manual bank clerks' work.
  • Created the back end for a service subscriptions framework and the back-office part—mainly billing, booking, and configuration—of service subscriptions.
Technologies: C#, C++, VB, Visual Studio .NET, Microsoft Team Foundation Server, Microsoft SQL Server, .NET, Leadership, Architecture

Software Consultant

2004 - 2005
Raimist Software, LLC
  • Built a web-based fine payment system on Java. It has been designed to get penalty data from the police database over a REST API, send and receive clients' SMS, and perform fine payments using clients' credit card info.
  • Provided ActiveX, JavaScript Web development, bug fixing, and maintenance of patient financial services, health information management, and human resources to commercial healthcare products.
  • Performed high-quality system testing after each code change to minimize the risk of bugs in the healthcare system's production.
Technologies: JavaScript, HTML, MySQL, Oracle, ActiveX, C, C++, Java, Unix, IT Consulting

Project Leader

1999 - 2004
Reksoft Co. Ltd.
  • Developed an automated tool for phone stations testing. It performed scripted tests and stored results in the MSSQL database. After that web server, a front end was done to generate different reports.
  • Built a web-based license manager written on JSP that used an Oracle database.
  • Created a data synchronization tool to synchronize source code between different team members located in other locations.
Technologies: Java, Tcl/Tk, Microsoft SQL Server, JEE

Project Manager | Network Administrator

1997 - 1999
Liniya Svyazi JSCo
  • Configured and maintained local Windows Network and Linux FreeBSD servers.
  • Designed and supported all interned-related services like firewalls, mail systems, web services, FTP servers, proxy servers, and authentication/authorization servers.
  • Designed and developed a web-based billing system to manage ISP clients.
Technologies: JavaScript, Java, Perl, C++, SQL, Oracle

Full-stack Web App to Monitor and Configure HDD/SSD Adapters

A React-based app that provides hardware access to an HDD adapter over the back-end endpoint.

I was responsible for designing and prototyping the back-end and front-end parts of that app. There were two variants of the back end in Python and Node.js with the same REST API, and I owned the entire design and development of the Node.js one using TypeScript and Nest.js. Similarly, there were two variants of the front end—the web built in React and the desktop version in Java—,and I fully designed and developed the React front-end part using the TypeScript, Material-UI, and Next.js framework.

Currently waiting for a decision on the development next steps, this app will be used in large data centers like Google or Microsoft clouds.

Full-stack Funds Transfer Application for a World Wide Bank

http://www.saxobank.com
As a project leader, I designed and implemented the GUI and server part of a funds transfer application.

The UI part was implemented as a standalone web app to allow users to enter all necessary data. The server part—done as a service— used a specialized bank API for interbank fund transfers.

I was entirely responsible for the project management of a group of three developers.

Android Media Player App for Dune HD

A native Android application for remote control of Dune HD devices.

As an owner of this application, I did practically everything, including designing, implementing, promoting, advertising, and monetizing this app. The app was designed and implemented using a device-independent message bus framework easily customizable to use with other devices.

As a result, other applications were developed on top of this framework for different device types. The application was written on pure Java using Android support libraries and then partially rewritten on Jetpack. I also created several forums on the internet to support users and get feedback and additional requirements from them. Users reported some bugs, so I had to fix them and redeploy the app asap.

Code Generator for an Embedded Car Framework

A desktop C# WPF application intended to generate a code that gives easy access to a car network's messages structure, like an ORM layer for a database.

I developed C#, Java, and C++ code generators using C# M4 code generator templates.
1990 - 1996

Master's Degree in Computer Science

Leningrad Electrical Engineering Institute (LEEI) - Saint Petersburg, Russia

MARCH 2002 - PRESENT

Sun Certified Programmer for Java 2 Platform

Sun Microsystems

Libraries/APIs

React, Retrofit, Retrofit 2, jQuery, Node.js

Tools

IntelliJ IDEA, Visual Studio .NET, Git, GitLab, Microsoft Team Foundation Server, TFS, Android Studio, WebStorm, Bitbucket, Apache Maven, NuGet, GitLab CI/CD, Android Jetpack

Languages

Java, XML, SQL, C#, JavaScript, Perl, TypeScript, C#.NET, M4, HTML, C, Tcl/Tk, CSS, C++, VB, Python

Frameworks

Android SDK, .NET, .NET 4, Windows Presentation Foundation (WPF), ActiveX, NestJS, Next.js, Material UI, Express.js, Bootstrap

Paradigms

REST, Mobile Development

Platforms

Oracle, Unix, Android, Kubernetes, Mobile, Firebase, JEE

Storage

Microsoft SQL Server, MySQL, PostgreSQL, Databases, MongoDB

Other

Architecture, Code Generators, APIs, Front-end, Back-end, Leadership, CI/CD Pipelines, IT Consulting, Mobile Applications, Mobile App Development

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