Sergiy Tkachuk. Curriculum vitae

Print friendly view Print friendly view
Last update: July 2024

Sergiy Tkachuk

Location: Kyiv (Kiev), Ukraine
E-mail: sergtk.job@gmail.com
Skype: sergtk.job
LinkedIn: http://ua.linkedin.com/in/sergtk
 

Job Experience

 
July 2021 —  present: Oracle
Position: Principal Software Engineer
Technologies, packages and tools: C#, .NET.
Responsibilities: C#, .NET software development
 
August 2017 — June 2021: Automated Industrial Machinery, Inc
Position: Tech Lead Software Engineer
Technologies, packages and tools: C#, Microsoft Xamarin (iOS/XCode, Java for Android in Android Studio for testbeds), Microsoft Azure. WPF (including MVVM), MS SQL Server, Visual Studio, MSBuild, ADO.NET and Entity Framework, SQLite, ASP.NET Core (including REST API, JSON, JWT, Razor Pages, Bootstrap, Identity), Git, Redmine.
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: Tech 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, Insight Toolkit (ITK), Wild Magic, WiX toolset, 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 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: Tech 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: Autonomous work with the new technology stack.
 
December 2008 —  November 2010: Materialise
Position: Team Leader of Research Team
Responsibilities: • Manage a team of 5 — 7 researchers and developers.
• Participation in the research projects which are the part of 3D Printing Digital CAD Kernel (about 1.5 million lines of code) in the roles of project manager and researcher.
• Projects initiation, convert ideas to the requirements which are suitable for starting projects.
• Improvement of the development processes.
• Participation in the hiring process, technical interviewing candidates.
• Make a team more visible inside the company to get more projects from the internal customers.
• Performance reviews.
• Communication with the internal customers: product teams and services.
• Projects follow up.
• Consultancy on the existing algorithms.
Achievements: Team became more customer and result oriented.
Development processes became defined more strictly 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.
 

Education

 
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
1998:   Bronze medalist in International Olympiad in Informatics, 1998, Setubal, Portugal (Algorithmic / data structure contests).
More info 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: 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 the 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.
 

Languages

 
Ukrainian, Russian: native speaker.
English: upper intermediate
 

Recommendations

 
You may find recommendations in the LinkedIn profile: http://ua.linkedin.com/in/sergtk