code janitor

Iegor Danylchenko

20+ years of experience in number of industries: Designed, implemented, released and maintained programms ranging from a simple one-file quick utils
up to complex multi-project/platform software packages, across several architectures using multiple build frameworks.
Experienced in developing software for embedded systems, as well as hardware prototype design, assembly and maintenance.
Have software development team leadership experience.
Programming languages
C
C++
Build systems, compilers, debuggers
GCC
gdb
ddd
msvc
ninja build system
Test facilities
Virtualization
Computer graphics and game development
Embeddded software development
CAD and 3D modeling
xsi
maya
3dsmax
alias
Toolkits, APIs and libraries
win32 API
stl
MFC
COM/DCOM
ATL
Qt
VCS, deployment, CI/CD, collaboration
Linux
Lesser OS
win:Me
win:Xp
win:Vista
win:Xp x64
win:7
win:8
win:10
win:Server 2008
Administration, shells, editors, IDE
ssh
vim
Visual C++ v6
VS 2003 .Net
VS 2005
VS 2008
VS 2010
VS 2013
VS 2015
VS 2017
Flex Studio
Web and networking
Database
Pl/Sql
MySql
PostgreSql
Office
Work Experience
Project Name Protected by NDA terms
Team size more than 10 (International)
Title Senior Software Development Engineer
Project description
Firmware for one of in-car crucial ECU's.
Responsibilities and Duties
  • Elicitation and clarification of customer requirements.
  • Design/implement and maintain parts of CI and CD systems.
  • Debugging/fixing issues with protocols such as CAN, LIN, ETH.
  • Code review.
  • Mentoring.
Technological stack
Lego group
September, 2020 - August, 2021
Project Name Smart play system
Team size more than 13 (International)
Title Firmware Engineer
Project description
Next generation of wireless smart toys.
Responsibilities and Duties
  • Elicitation and clarification of customer requirements.
  • Design/implement:
    • firmware components (some from ground up)
      • boot and initialization sequences
      • communication SPI, UART
      • master device and ASIC chip interaction
      • ASIC chip mock device inner workings
      • resource storage/loading/transmitting
      • communication using bluetooth(BLe)
        advertising/data exchange
        mesh networking
    • CI and CD system (using Gitlab CI/CD from ground up)
      • automatic testing upon changes in specific branches
      • automatic artifact/branch versioning according to specifications
      • custom runner based HW testing stand to test artifacts.
      • custom runner based build infrastructure, using Docker containers and VM (QEMU)
        Automating artifact production using multi-platform tools for nordicsemi/STM/etc, using Docker containers and VM (QEMU)
  • Producing software architecture artifacts in forms of UML diagram sets, documentation, etc.
  • Hardware prototyping, device assembly, testing.
  • Code review, debugging, bug fixes.
  • Mentoring.
Technological stack
Johnson & Johnson MedTech
January, 2019 - August, 2020
Project Name Monarch platform solution
Team size more than 5 (International)
Title Senior Software Engineer
Project description
Robotics in healthcare solution, inter-device communication platform accommodating embedded devices with numerous purposes.
e.g. innovative fluid management system.
Responsibilities and Duties
  • Design and architect system components and higher system layers.
    • IPC structures and functionality for sub-systems communication, using protobuf
    • CMake based build system modifications
    • test coverage with google test
  • Documentation artifacts, UML, etc.
  • Elicitation and clarification of customer requirements.
  • Code review.
  • Bug fixes.
  • Mentoring.
Technological stack
C
C++
vim
git
tig
xen
GCC
DDS
win:7
win:10
VS 2013
VS 2017
GlobalLogic
March, 2018 - January, 2019
Project Name Automotive infotainment system for MELCO
Team size more than 50 (International)
Title Senior Software Engineer
Project description
AOSP based infotainment system for automotive product.
Responsibilities and Duties
  • Implementing and mantaining SDLC in accordance to A-SPICE specs.
  • Producing A-SPICE related artifacts, e.g. SWE.1, SWE.2, SWE.3
  • Elicitation of customer requirements.
  • Creating, correcting and reviewing documentation.
  • Participating in design of sub-systems architecture according to requirements from customer.
  • Modifying AOSP to support requested features.
    Modificaitons to media player application.
    Modificaitons to main menu and settings applications.
  • Code review.
  • Bug fixes.
  • Mentoring.
Technological stack
GlobalLogic
December, 2017 - March, 2018
Project Name RAS surgery system for Medtronic
Team size more than 50 (International)
Title Senior Software Engineer, team leader
Project description
Testing platform for robotic assisted surgery (RAS) solution for minimally invasive surgery domain.
Responsibilities and Duties
  • Initial stages of testing framework development.
  • Development teams org structure establishment.
  • Coordination and communication.
    Lots of meetings.
  • Leading team of 6 people: 3 SSDE and 3 STE.
  • Mentoring.
Technological stack
GlobalLogic
April, 2017 - December, 2017
Project Name OnAir for Sintec Media
Team size more than 50 (International)
Title Senior Software Engineer
Project description
Industry’s only all-in-one solution for Broadcast Traffic Management.
Responsibilities and Duties
  • Fixing server-side issues and implementing features according to customer specifications.
    Including PL/SQL code and C++ (C++98/C++03) code related issues.
  • Fixing client-side UI issues and implementing features according to customer specifications.
    Main bulk - ineadequacies in ViewModel.
  • IPC debugging/fixing and maintaining fixes through code versioning tool.
  • Back-porting fixes to previous versions of product.
Technological stack
vim
git
tig
C
C++
win32 API
win:Xp
win:7
win:8
win:10
Avid
June, 2016 - March, 2017
Project Name Alienbrain
Team size 4 (International)
Title Principal Software Engineer
Project description
Digital asset management system that covers almost entire spectrum of needs for game development or other entertainment industry. Used by many game development companies around the world.
Responsibilities and Duties
  • Maintaining support of latest operating systems.
  • Migrating entire codebase between versions of Visual Studio IDE.
  • Complete installation, configuration, support of development environment based on Gentoo Linux, used for SDLC of the customer's product, capable and using virtualization for development, testing, issue resolving purposes.
  • Support, design and implementation of plug-ins for latest CAD/CAE/CAM and artist tools, including:
    • Autodesk 3DsMax
    • Autodesk Softimage(XSI)
    • Autodesk Maya
    • Autodesk Alias
    • Autodesk Inventor
    • Adobe Photoshop
    • Adobe Drive
  • And IDE, office tools like - Visual Studio - Ms Office
  • Bugfixing.
    Issues within Apache/html/MFC layer.
    Issues within DCOM/COM layer.
    and many more.
  • Modifications to application components to allow authentications and data transfers happening within own proprietary client/server protocol.
  • Enhancing MSBuild system to be flexible within volatile environment configurations.
  • Complete deployment and configuration of CI system on a separate VM to be able to generate entire product (up to .iso ready to distribute) and allow re-production of artifacts for nightly build/test cycle.
  • Cross-architecture codebase migration, testing and support of entire server codebase to amd64 architecture providing clients with ability to escape database size limitations of previous architecture.
  • Maintenance, issue resolution on the spectrum of all product layers, interaction between server and client components using product tech-stack and other tools/proprietary protocols.
Technological stack
vim
git
tig
C
C++
win32 API
COM/DCOM
ATL
MFC
WTL
win:Xp
win:7
win:8
win:10
win:Server 2008
VS 2005
VS 2008
VS 2010
VS 2013
GlobalLogic
March, 2010 - May, 2016
Project Name Alienbrain
Team size 4 (International)
Title Senior Software Engineer
Project description
Digital asset management system that covers almost entire spectrum of needs for game development or other entertainment industry. Used by many game development companies around the world.
Responsibilities and Duties
  • Maintaining support of latest operating systems.
  • Migrating entire codebase between versions of Visual Studio IDE.
  • Complete installation, configuration, support of development environment based on Gentoo Linux, used for SDLC of the customer's product, capable and using virtualization for development, testing, issue resolving purposes.
  • Support, design and implementation of plug-ins for latest CAD/CAE/CAM and artist tools, including:
    • Autodesk 3DsMax
    • Autodesk Softimage(XSI)
    • Autodesk Maya
    • Autodesk Alias
    • Autodesk Inventor
    • Adobe Photoshop
    • Adobe Drive
  • And IDE, office tools like - Visual Studio - Ms Office
  • Bugfixing.
    Issues within Apache/html/MFC layer.
    Issues within DCOM/COM layer.
    and many more.
  • Modifications to application components to allow authentications and data transfers happening within own proprietary client/server protocol.
  • Enhancing MSBuild system to be flexible within volatile environment configurations.
  • Complete deployment and configuration of CI system on a separate VM to be able to generate entire product (up to .iso ready to distribute) and allow re-production of artifacts for nightly build/test cycle.
  • Cross-architecture codebase migration, testing and support of entire server codebase to amd64 architecture providing clients with ability to escape database size limitations of previous architecture.
  • Maintenance, issue resolution on the spectrum of all product layers, interaction between server and client components using product tech-stack and other tools/proprietary protocols.
Technological stack
C
C++
vim
git
tig
win32 API
COM/DCOM
ATL
MFC
WTL
win:Xp
win:7
win:8
win:10
win:Server 2008
VS 2005
VS 2008
VS 2010
VS 2013
High Tower Entertainment
September, 2007 - March, 2010
Project Name Fabula online
Team size 7
Title Software Engineer
Project description
This game is an improved sequel of the “Dark Swords” game created in its ancestor style
Responsibilities and Duties
  • Designed and implemented components required for render system of the game. According to specifications provided.
    • C++ shared library (.dll) to interface between Delphi-based engine codebase and DirectX 9.0 graphics API.
      To provide engine with more modern rendering capabilities.
    • integration of Nvidia's Cg based effect system into engine graphics layer to do effects.
  • Close interaction with art and 3d modeling departments to produce customer required results for UI and other game content.
  • Testing and Integration of development results.
Technological stack
C
C++
win32 API
MFC
win:Xp
win:Server 2008
VS 2005
Project Name Polar Lord
Team size 14
Title Software Engineer
Project description
MMORPG type game project, very similar to “Fabula Online” but with more advanced level of graphics. Created with innovative pvp and pve interaction methodologies in mind.
One of key concepts was system handling game world objects composition, creation and modifications to items that players can interact with.
Responsibilities and Duties
  • Design and implementation of components required for:
    • render system:
      • minimap
        • generation of game data from modelled assets
        • runtime reconstruction from data from server
        • entities tracking
        • performance
      • video playback
      • game map editor
    • input system
      Design/implementation of input even queue, based on Win32 API and Direct Input, later XInput.
      Converting codebase to use the solution.
    • GUI:
      • designed and implemented entire sub-system from ground up, according to concepts provided
      • working window stack
      • ability to adjust elements with input data from art department
      • inventory sub-system
      • chemistry/crafting sub-system
    • sound system
      Design/implementation using OpenAL
    • resource management system
      • packaging into archives
      • flexible resource patching using archives
  • Close interaction with art and 3d modeling departments to produce customer required results for UI and other game content.
  • Testing and Integration of development artifacts.
Technological stack
C
C++
win32 API
MFC
win:Xp
win:7
win:Vista
VS 2005
VS 2008
N-Game Studios
February, 2006 - August, 2007
Project Name X-Team
Team size 8
Title Software Engineer
Project description
3D game with mixture of RTS and RPG elements.
Based on Enigma 3D engine by Nival company.
Responsibilities and Duties
  • Design and implementation of visual effects:
    • heat haze
    • depth of field
    • some additional post-processing modifications
  • Mesh and map editors modifications:
    • terrain tile and pathfinding display modifications
    • 3D camera inner modifications
  • Close interaction with art and 3d modeling departments to produce customer required results for UI and other game content.
    Motion capture.
  • Testing and Integration of development artifacts.
Technological stack
C
C++
win32 API
MFC
win:Xp
win:Server 2008
VS 2003 .Net
VS 2005
Academic Experience
Master Economic Cybernetics
September, 2007 – June, 2008
Dnipropetrovsk university of Economics and Law
Additional information and certificates
Appendix to Diploma
Awarded with an “Excellent” grade for passing State Examination and defending his Master’s dissertation in English which provides the right to take positions requiring Business English skills.
Bachelor Economic Cybernetics
September, 2004 – June, 2007
Dnipropetrovsk university of Economics and Law
Specialist Stock Exchange
September, 2001 – June, 2004
Dnipropetrovsk E.O. Paton Electric Welding Technical School
Languages
English fluent
Ukrainian native
russian native
Personal qualities, interests and additional information
Love solving complex tasks, tinkering with devices, riding bikes, sitting near the bonfire, thinking.
Develop/maintain/contribute to open source projects.
Work pressure treated, goal-oriented, self-motivated, persistent, experienced in thriving through challenges.
Experienced in driving tasks above and beyond expectations.