Oleg Solodukhin, Developer in Aalst, Belgium
Oleg is available for hire
Hire Oleg

Oleg Solodukhin

Verified Expert  in Engineering

Back-end Developer

Location
Aalst, Belgium
Toptal Member Since
September 26, 2022

Oleg has over 15 years of development experience and a master's degree in automated design systems. He uses Flex, PHP, C#, TypeScript, Flutter, and Dart. He has built systems and modules for PDF generation, image binary encoding/decoding, service development, UI, and InDesign plugins. Oleg has also handled the text layout engine with his text rendering library, including a binary font file parser, font metrics calculation, word splitting, and text line placement and rendering, written on Dart.

Portfolio

CHILI publish
C#, Flutter, Dart, Flex, TypeScript, Mentorship & Coaching, Software...
Rulletka.biz
Mentorship, Team Leadership, Java, PHP 7, XML, Debian Linux, Coaching, MySQL...
eSyncTraining
Flex, ActionScript 3, Ext JS, Adobe Connect, Brightcove, Brightcove API...

Experience

Availability

Full-time

Preferred Environment

Git, IntelliJ IDEA, Teams

The most amazing...

...app I've developed is an online PDF editing app, where I was focused on PDF generation with data encryption, image binary parsing, and the text layout engine.

Work Experience

Senior Developer

2015 - PRESENT
CHILI publish
  • Created a component-based framework to easily extend existing functionality and add new panels and components.
  • Developed algorithms for frame size and position management via mouse, allowing the conversion of global mouse movement to the relevant frame change, taking into account the frame and page restrictions.
  • Contributed algorithms for decoding and encoding GIF image content for further usage or placement in the PDF files. I used LZW encoding and decoding to get only one image instead of a couple, as PDFs don't display correctly with GIF images.
  • Designed algorithms to combine words into groups and clusters and organize them into text lines for bidirectional text, left-to-right or right-to-left in English or Hebrew text, and text columns for vertical text as in Chinese characters.
  • Devised an evaluation system for text styles or properties appliance and rendering. It requires reading font metrics for metrics-related changes and replacing words in lines, including their appearance, like color.
  • Produced a styles appliance system in the scope of text rendering. Paragraph and text styles are rendered as inline objects instead of splitting into additional objects and applied in the text, with a hierarchical reading style property value flow.
  • Built an application skinning system for customizing an application's appearance depending on the device, such as a PC, laptop, or tablet.
  • Integrated with ImageMagick and GhostScript to scale, cut, overlap images, and get media content metadata.
Technologies: C#, Flutter, Dart, Flex, TypeScript, Mentorship & Coaching, Software, Sprint Planning, Git, Bash Script, CI/CD Pipelines, Software Architecture, Coaching, Planning, Mentorship, Subversion (SVN), Jira, IntelliJ IDEA, Apache Maven, Algorithms, PDF, ImageMagick, GhostScript, InDesign Plugin SDK, Illustrator Plugin SDK, Teams, Encoding

Owner

2014 - 2022
Rulletka.biz
  • Provided a Java application that parses site content and gets product information. Its administration part is written on express Vue to manage the site parsing configuration.
  • Used mobile applications written in Flutter to display site content, search, and order products.
  • Created the central written part on PHP with microservice architecture, own admin part, and separate entrance for site admins, writers, and content managers.
Technologies: Mentorship, Team Leadership, Java, PHP 7, XML, Debian Linux, Coaching, MySQL, SQL, Microservices Architecture, Microservices, Elasticsearch, Express.js, Vue, Bootstrap, Flutter, Full-stack, Full-stack Development, Algorithms, APIs, RESTful Microservices, JSON Web Tokens (JWT), Web Scraping, Web Development, Scraping

Senior Flex Developer

2013 - 2015
eSyncTraining
  • Related to the gamification of the educational processes in different spheres, schools, and companies.
  • Provided an AdobeConnect application for video streaming placed on YouTube.
  • Created an AdobeConnect application for teachers and schools with Whiteboard. Allowed to generate PDFs based on the whiteboard content.
Technologies: Flex, ActionScript 3, Ext JS, Adobe Connect, Brightcove, Brightcove API, iTextPDF, Jira, Subversion (SVN), AMF, PDF

Senior Flex Developer

2010 - 2013
EPAM Systems
  • Developed an AIR application for touchscreen, which showed football, horse, and greyhound racing forecasts for RacingPost visitors.
  • Designed and provided an application architecture that split the different layers, including the service communication level, data or internal storage layer, events, controllers, and views.
  • Provided dynamic module loading on switching between forecast screens.
  • Screened, processed, and coached the developer's team, splitting tasks and sprint planning.
Technologies: Flex, ActionScript 3, PHP, Mentorship & Coaching, Software Architecture, Jira, Subversion (SVN), Bash, Ant Design, SQL, Sprint Planning, Task Management, Mentorship, Coaching, Apache Maven

Senior Developer

2009 - 2010
Team ODC
  • Developed Flex applications for Salesforce, with pages based on Apex and using the Degrafa library for building company structure and sales optimizer charts.
  • Created a Flex application with different user access levels for XOS Vault, which allows asset management based on information from documents, photos, videos, and other data, about players, teams, and games.
  • Built a system for creating virtual clips based on real videos, allowing time segments to be marked for quick viewing. For example, managers can skip game breaks and unnecessary information or keep critical points in videos.
Technologies: Flex, ActionScript 3, Java, Salesforce, Mentorship & Coaching, Wowza, Subversion (SVN), Jira, Mentorship

Senior Developer

2008 - 2009
The Midnight Coders
  • Created the AS3 (Flex) library, which converts WinForms and Flex forms to PDF documents with relevant components. The user suitably establishes a record, and the library generates a PDF on the server side.
  • Used the server side written in Java, PHP, and C#, which generated a PDF.
  • Integrated with a payment system for the payment process.
Technologies: Java, C#.NET, C#.NET WinForms, Flex, ActionScript 3, PHP, Subversion (SVN), CVS, PDF, PDFLib

Senior Developer

2008 - 2009
The Midnight Coders
  • Created the AS3 (Flex) library converting WinForms and Flex forms to PDF documents with relevant components. The user suitably establishes a record, and the library generates a PDF on the server side.
  • Provided the server side written in Java, PHP, and C#, which generated PDF.
  • Integrated with a payment system for the payment process.
Technologies: Java, C#.NET, C#.NET WinForms, Flex, ActionScript 3, PHP, Subversion (SVN), CVS, PDF, PDFLib

Application for Online PDF Document Editing

https://www.chili-publish.com/
CHILI publishes an application for online editing, which can also convert and export to PDF or a batch of PDFs according to the data source, PNG/JPG image, GIF animation, or video. The application allows users to create templates, add documents as a snippet in another document, provide layout dependencies on the document size, set up actions on document events like a size change or frame move, set up the data source, and generate the resulting PDF or list of PDFs based on the data source.

I contributed to different parts of this application's development. I fixed bugs and implemented features in the transpiler, including a particular subproject for converting C# to JavaScript code. On the client side, I built a framework for component-based development, implemented the action editing system, and optimized the drawing, blur, and shadow drawing algorithms. I also handled the TextLayoutEngine. Lastly, I developed a low-level PDF generator and image encoder/decoder on the server side and integrated the app with GhostScript and ImageMagick.

Building Materials and Tools Site

This project is an aggregator for information and prices about building materials and instruments. The user can find material or tools to read relevant information about all information taken from the factory site, not from distributors. It is essential to see the price and place on the map where it's possible to buy. I owned this project. I provided all strategic decisions and planning, agreed on services, coached and mentored the team, made decisions about integrations and technologies, and provided responsibility splice.

RacingPost Forecast Screens

This project is an application for touch screens in RacingPost offices in England to display forecasts for horses, hounds, and football. I led the Flex application and provided architecture with dynamic library loading-unloading on view switching. I mentored and coached the team, took part in general project planning, led the most complex development parts, and covered risks. After my leave, the application worked for at least four years without any exceptions or issues.
2001 - 2007

Master's Degree in Automated Design Systems

Kharkiv National Aerospace University - Kharkiv, Ukraine

DECEMBER 2020 - PRESENT

Human Resource Management

School of HRM

Libraries/APIs

React, Vue, Node.js, REST APIs, PDFLib, Brightcove API, AMF, ImageMagick, Lombok, Spring REST

Tools

IntelliJ IDEA, Git, Jira, Apache Maven, Subversion (SVN), Slack, Wowza, NGINX, Apache, Confluence, GitHub, C#.NET WinForms, CVS, iTextPDF, InDesign Plugin SDK, Illustrator Plugin SDK, Skeleton

Frameworks

Flex, Flutter, Ant Design, Express.js, Next.js, Bootstrap, Ext JS, JSON Web Tokens (JWT), Spring, Spring Boot, .NET Core, .NET

Languages

ActionScript 3, SQL, XML, C#, Dart, PHP, Java, C#.NET, TypeScript, Bash Script, JavaScript, Active Server Pages (ASP), HTML, Bash, GhostScript, PHP 7, CSS

Paradigms

Object-oriented Programming (OOP), REST, Microservices Architecture, Microservices

Platforms

Debian Linux, Salesforce, Brightcove, Amazon Web Services (AWS), Docker

Storage

MySQL, PostgreSQL, Elasticsearch, SQLite

Other

Algorithms, Documentation, Project Decomposition, Mentorship & Coaching, Software, Software Architecture, Mentorship, Sprint Planning, Task Management, Coaching, PDF, SVG, Web Development, People Management, Teams, CI/CD Pipelines, Planning, Adobe Connect, Team Leadership, Ownership, Full-stack, Full-stack Development, APIs, RESTful Microservices, Web Scraping, Scraping, Encoding

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