Oleg Zaimkin, Developer in Novosibirsk, Novosibirsk Oblast, Russia
Oleg is available for hire
Hire Oleg

Oleg Zaimkin

Verified Expert  in Engineering

Elm Architecture Developer

Location
Novosibirsk, Novosibirsk Oblast, Russia
Toptal Member Since
February 24, 2020

Oleg has over ten years of experience in ERP business (before 2000) and more than 20 years in developing Windows and web applications using .NET (C#, F#) along with a modern web toolset. Oleg is an advocate of practicing functional programming together with best OOP practices, including but not limited to SOLID. In general, he prefers simplicity and a pragmatic approach over verbosity and overdesign.

Availability

Part-time

Preferred Environment

JetBrains Rider, Visual Studio Code (VS Code), Visual Studio, Windows

The most amazing...

...thing I've done was to develop an award-winning report generation solution for decades.

Work Experience

Team Leader

2008 - PRESENT
Enterprise Company
  • Led the development of a flagship reporting solution for several years—evaluating the feasibility and complexity of tasks, analyzing and developing algorithms, and managing the team on the technical parts.
  • Bootstrapped an MVP for several public and internal products and served in various roles during the development of the projects.
  • Bootstrapped a project that involved migrating the flagship product to a web platform (JavaScript).
Technologies: TypeScript, JavaScript, C#

Team Leader

1999 - 2008
DataDynamics
  • Developed an internal barcode rendering library with more than 20 symbologies using reverse engineering and a report migration tool for Crystal Reports and MS Access Reports. (I worked as a contractor.).
  • Served as both the architect and coder to create several WinForms components (including SharpGraph and ActiveAnalysis) from the MVP to final publicly available products.
  • Led ActiveReports development for several years and for major releases including a fresh new report viewer and report designer components.
  • Developed the company's first component for the Adobe Flash platform.
Technologies: JavaScript, .NET

Software Developer

1994 - 2005
Alekta
  • Developed various input forms and reports for the Nordis/2 ERP system.
  • Designed a database schema and server-side business logic for the accounting system, using ERWin methodology.
  • Built a distributed model and toolset based on two-way replication backed up by a database triggers.
  • Created a reporting framework that included both runtime for SQLWindows platform and reports designer application (C++, Windows, ATL) based on DataDynamics ActiveReports product.
Technologies: Windows, SQL, Microsoft SQL Server, SQLBase

SharpGraph for .NET

https://bit.ly/31Yg6Qk
I developed a chart component for .NET (box product) which included many 2D and 3D chart types, various interactivity features, and a rich programming model.

The component included advanced 3D rendering features for a presentation-quality look and feel, such as shading algorithm with ambient, directional and point light sources, isometric and perspective projections.

My involvement included an analysis, the overall product design, writing the specifications, and coding.

ActiveAnalysis

https://www.componentsource.com/product/activeanalysis
A .NET WinForms and web component for visualizing OLAP data in an interactive customizable way.

I developed the MVP of the component and led a team of five people for several years. I also designed the abstraction layer for representing the OLAP query and resulting data cube, which allowed us to handle both direct queries to Microsoft Analysis Server and to the homegrown desktop OLAP data processor for relational data.

Enterprise Reporting Solution

An award-winning reporting solution for .NET with multiple features including:
• Data processing and aggregation facilities
• Template-based document generation
• Rule- and restriction-based layout and pagination engine
• A wide variety of export and viewer components for various platforms including WinForms, WPF, web, Flash, and so on

My contribution to this project includes a new processing model and algorithms of the system core, which consists of data processing and document layout. The new processing model reduced code complexity, improved memory and CPU performance by order of magnitude.

Reporting SaaS Platform

A modular SaaS application to bring company BI products to end-users.

Tasks Accomplished:
• Worked out the system design (document storage, RBAC permissions, plugins model, auth, API gateway, GraphQL endpoints).
• Developed the product in a team.
• Built the reporting module and the report render/export protocol with load balancing across several render nodes.

SAFE Chat

https://github.com/SAFE-Stack/SAFE-Chat
A blueprint full-stack application on for SAFE stack (Saturn Azure Fable Elmish). It features F# as the language for the back end and front end, Akka.NET and Akka Streams for reactive data processing, the Elmish framework (follows Elm architecture) for the client application, and WebSockets for client-server communication.

XakeBuild | Hobbyist Build System

https://github.com/FakeBuild/Xake
An F#-based declarative build system focusing on automatic dependencies tracking and incremental builds. It features nice DSL on top of F# syntax sugared with computation expressions. The same ideas appeared later in Google's Bazel build system.
1991 - 1997

Master's Degree in Computer Science

Novosibirsk State University - Novosibirsk, Russia

Languages

C#, F#, SQL, JavaScript, TypeScript, Python 2

Libraries/APIs

React, React Redux, Visual Studio SDK, Akka Streams

Tools

C#.NET WinForms, ActiveReports, Adobe Flash, Visual Studio, JetBrains Rider

Paradigms

Object-oriented Programming (OOP), Functional Programming, OLAP, Functional Reactive Programming

Platforms

Visual Studio Code (VS Code), Windows

Other

Algorithms, Elm Architecture, Akka.NET

Frameworks

ASP.NET, Knockout (Knockout.js), .NET

Storage

SQL Server 2012, SQLBase, Microsoft SQL Server, PostgreSQL

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