- Sergiy Tkachuk's home page - https://sergtk.com -

Sergiy Tkachuk. Curriculum vitae

Last update: 28 September 2020

Sergiy Tkachuk

Location: Kyiv (Kiev), Ukraine
E-mail: sergtk.job {at} gmail.com
Skype: sergtk.job
LinkedIn: http://ua.linkedin.com/in/sergtk
Latest CV:  http://sergtk.com/sergiy-tkachuk-cv/print

Job Experience

August 2017 —  present: Automated Industrial Machinery, Inc
Position: Lead Software Engineer
Technologies, packages and tools: Microsoft Xamarin (iOS/XCode, Java for Android in Android Studio for testbeds), Microsoft Azure, C#. WPF (including MVVM), MS SQL Server, Visual Studio, MSBuild, ADO.NET and Entity Framework, SQLite, ASP.NET Core (including Razor Pages, Bootstrap, Identity), Git, Redmine, JSON.
Responsibilities: Design and development, working on requirements on new and existing projects of the company. These are mobile, web, and .NET desktop applications.
May 2011 — August 2017: Automated Industrial Machinery, Inc
Position: Lead Software Engineer and Researcher
Technologies, packages and tools: C# (WPF/MVVM, TLP), C++, Visual Studio, MSBuild, xUnit.net, Gallio MbUnit, Redmine, Git, SVN, Interop (P/Invoke, C#, Win32, SWIG), OpenCV/EmguCV, ITK, Wild Magic, WiX, log4net, log4cxx, Apache server, Jenkins, POV-Ray, UML.
Working with video cameras (implementation of set up, calibration, handling input stream)
Responsibilities: Design and development new project, perform algorithmic research and implement new algorithms.
Organize, setup, support, improve, introduce new tools to development and project management environment, continuous integration
Achievements: Develop a project with quite complicated algorithmic workflow with high accuracy requirements with elements of computer vision.
Guide construction of hardware prototype.
November 2010 —  April 2011: XRFiles (http://www.xrfiles.com)
Position: Lead Software Engineer
Technologies, packages and tools: • Java related technologies: Spring, JPA, Hibernate, Velocity, H2, Jackson, Jersey, SLF4J, log4j, maven, JUnit, JAXB.
• Client Side: JavaScript, JQuery, JSON, HTML, CSS.
REST, Cygwin, Assembla, TeamCity, Subversion.
Responsibilities: Development of server and client side logic, design model layer.
Implementing billing via Recurly service.
More info on page XRFiles project development.
Achievements: Significant progress in knowledge and performance when working with new technologies: from frequent consultancies to autonomous work.
December 2008 —  November 2010: Materialise
Position: Team Leader of Research Team
Responsibilities: • Manage 5 — 7 researchers and developers.
• Participation in research projects which are part of 3D Printing Digital CAD Kernel (about 1.5 million lines of code) in roles of project manager and researcher.
• Projects initiation, convert ideas to the requirements which are suitable for starting projects.
• Improvement of development processes.
• Participation in hiring process, technical interviewing candidates.
• Performance reviews.
• Communication with internal customers: product teams and services.
• Projects follow up.
• Consultancy on existing algorithms.

This is an article about the team and the department I was part of: Surprises in 3D-printing (in Russian)

Achievements: Team becomes much more customer and result oriented.
Development processes became more strict defined and transparent which is especially important in the growing company.
November 2006 —  November 2008: Materialise
Position: Algorithm Researcher
Technologies: Microsoft Visual C++, STL, Boost, Subversion (branching, merging, design structure of repository), OpenMP, AQTime, Doxygen, UnitTest++, CruiseControl, UML
Responsibilities: • Design and implementation of complex 3D algorithms on triangulated models, which are part of 3D Printing Digital CAD Kernel used by most products of Materialise. Algorithms relate to the development of efficient data structures, 3D computational geometry, numeric methods.
• Development of C++ template wrappers library which provides uniform interface for 3d triangle structures. This allows to implement complex algorithms using generic programming.
Achievements: Successful implementation of new algorithms and investigation, extending and improvement of existing ones.
You may refer to Portfolio as Materialise Researcher for details.


2004 — 2007: Ph.D.student, Faculty of Cybernetics (Ph.D. expected 2007, ABD), Taras Shevchenko National University of Kyiv.
You may refer to a list of scientific papers
1998 — 2004: Faculty (Department) of Cybernetics. Taras Shevchenko National University of Kyiv.
Master’s Degree in Informatics.
Major: Information Technologies and Systems.
2004: Master’s degree thesis: Research of hierarchical biological neural networks using methods of mathematical modeling and simulation.
Development of algorithms to simulate complex mathematical models, part of olfactory bulb in particular.
Technologies: Borland C++ Builder, XML (DOM, DTD, XML Schema).
2002: Bachelor’s degree thesis: Application Timetable of lessons.
Application is to automate processes of making out, editing, displaying, and generation of timetable of lessons. It accounts splitting groups to subgroups, joining groups for specific lections, alternation of lessons depending on the week.
Genetic algorithms were implemented for optimization.
Technologies: Java (applets and servlets), JDBC, Tomcat, MySQL.
2001: Term paper: Setup of WWW-server with information protection and authorization.
Technologies: Linux, Apache HTTP server with mod_ssl, OpenSSL, SSL certificates with Certificate Authorities.

Certifications, Trainings, and Rewards

2009:   Management Development Program for People Leaders by Synerguy
2009:   Java 2 Fundamentals Certified Master at www.brainbench.com
2008:   C++ Certified Master at www.brainbench.com
1996-2003:   Algorithm / data structure contests. This includes:
Bronze medalist of IOI’98 (International Olympiad in Informatics, 1998), Setubal, Portugal.
• Participation in more than 100 TopCoder data science contests.
More complete list is available here

Non-commercial and/or small projects

Smart Hasher (2020) • Open source project to check integrity of the files. This is command line tool to calculate hashes for one or many files at once with many convenient features.
• GitHub repository: https://github.com/sergtk/smart_hasher
Technologies and libraries: python 3 with hashlib, json, unittest, pydoc and other python standard libraries
FastSuntan (2012) • Small iOS application implemented on Objective C
• Application is to guide user through process of fast suntan measuring time and make sound alert
Technologies and libraries: iOS, Objective C, Cocoa Touch
OneSpec (2011) • Application is to track which features described in specification are implemented and which not. This is performed by analyzing specification in html-format and javadoc-comments
Technologies and libraries: Java, Jericho, QDox, Maven plugin development, regular expressions
Prospector (2010) • Application to make search in LinkedIn convenient, via several LinkedIn accounts at once, by company names, positions, export data etc.
Technologies: Java, Spring, Velocity, Lucene, OAuth, XML (dom4j)
Application «Cadet». (2001-2002) • Application is used to automate process of preparation to examinations, look up and edit data about students.
Technologies: Borland Delphi, Interbase DBMS, Visual Basic for Applications.
Input data: information about cadets, marks of them, subjects etc.
Output data: ready to print MS Word and MS Excel documents of reports (examination sheets, summary sheets, appendixes to certificates etc.).
Small-scale database applications (2001-2002) PHP, HTML, MySQL, CSS.


Ukrainian, Russian: native speaker.
English: upper intermediate


You may find more than 15 recommendations in my LinkedIn profile: http://ua.linkedin.com/in/sergtk