Ian Savchenko | Software Engineer

overview

I’ve been working on commercial projects for more than nine years and currently work as a Full Stack Developer at Swedish streaming service Viaplay. Before that, five years of my career are connected with Tobii where I was working on different projects as a Software Engineer making products linked to eye tracking and at some point switching focus from desktop and system programming to Cloud and Web domain. I speak at conferences and meetups, code and read a lot about coding in my spare time, enjoy creating and shipping pet-projects.

employment history

Full Stack Developer (JavaScript) | Viaplay (Nordic Entertainment Group)

Aug 2019 — present (parental leave Nov 2019 - May 2020) Stockholm, Sweden
Working on the backend and CI in the productivity area of engineering organization, specifically in the “Edge” team whose mission is improvement of development and release experience of Viaplay’s client apps. Architecting and implementing applications, services and cloud infrastructure for release coordination, performance analytics, CI/CD. Additionally to the team mission, contributing to and modernizing multiple NodeJS microservices, packages and the platform itself (running in Docker on AWS). Participating in the effort to convert code base from JavaScript to TypeScript.

Software Engineer (JavaScript) | Tobii Cloud (Tobii Tech AB)

Apr 2017 — Jul 2019 Stockholm, Sweden
Worked on a Big Data project concerning Attention Data. Developed three main components: data supply with Chrome browser extension (WebExtentions); data ingestion, storage, analytics and APIs with serverless approach on AWS (API Gateway, Kinesis, Lambda, S3, Athena, SNS, Lambda, CloudWatch, infrastructure as code and orchestration with CloudFormation); visualization and customer-facing dashboards implemented with VueJS. Most of the code in JavaScript with Make and Shell build system and tooling. Worked on CI and CD with Travis CI for all the above-mentioned parts of the solution.

Software Developer (C#) | Tobii Tech (Tobii AB)

Feb 2016 — Apr 2017 Stockholm, Sweden
Architected and implemented C#/WPF applications and installers for setup and configuration of Tobii eye tracker and its features. Designed from scratch a library of extendable Tobii-branded UI components, built with Cake, CI on TeamCity, published as NuGet package. Carried out a research project on passive detection of invalid eye tracker calibration. Developed multiple new concepts of integration of eye tracking into Windows OS.

Software Developer (C#) | Tobii Tech (outstaff at Ciklum LLC)

Feb 2014 — Feb 2016 Kyiv, Ukraine
Worked on a solution for a smooth integration of eye-tracking into Windows OS and 3rd-party applications, making them “gaze-enabled”. Utilized different Windows APIs (UI Automation, MS HTML DOM, DirectX Desktop Duplication with SharpDX, Win32 APIs, and others) to get information about what UI user sees in real time. Conducted application performance analysis and profiling.

Software Developer (C/C++/C#) | Video Internet Technologies LLC

Jul 2011 — Feb 2014 Kyiv, Ukraine
Designed and developed distributed system with plug-in support for video and events analysis, working as Windows Service. Developed utilities with WPF for the system's diagnostics and remote configuration. Integrated into it license plate and railway cars recognition SDKs, hardware sensors. Worked with SDKs and developed business logic and UI for 3rd-party security systems with C++ and C#. Designed traffic rules controlling system.

education

Bachelor and Master of Electronics | Kyiv Polytechnic Institute

Sep 2008 — Jun 2014 Kyiv, Ukraine
Major takeaways: C language; assembly language and microcontrollers programing; computer architecture; electronics design and production; neural networks, signals and image processing; optimization technics and basics of AI, expert systems; FPGA design; computer networks.

hobby projects

see more at iansavchenko.com/projects

Bubbles | Fitbit OS (TypeScript)

Feb — Mar 2020 open-source | published
An open-source game for Fitbit Ionic and Fitbit Versa that I made for my 1-year-old daughter. Written in TypeScript, continuous integration done with CircleCI.

Oversized Clock | Flutter (Dart)

Jan 2020 open-source
My submission for Flutter Clock Challenge in a form of creative clock-face for Lenovo Smart Clock. First experience of using Flutter and Dart for me.

Personal website | VueJS (JavaScript)

Mar 2019 — present published
Made with JavaScript, VueJS and NuxtJS for server-side rendering, runs on Netlify. In addition to it's natural purpose, I use it as a playground to try out new front-end tricks.

Week Number | Fitbit OS (JavaScript)

Jun — Jul 2018, Nov 2019 open-source | published
A small application showing current and past/upcoming week numbers and their dates.

Bind Mi Band and Notify Mi Band | Windows Mobile (C#)

Mar 2015 — Apr 2017 published
A full-fledged 3rd-party client and helper app for fitness-tracker Xiaomi Mi Band. A leader of the segment on Windows Phone platform (in the best times of the latter). The application provides data sync (local storage with SQLite), activity and sleep analysis, history with graphs, device settings configuration, alarms, user profile, cloud synchronization with OneDrive and more across three generations of trackers. Published to Microsoft Store, has more than 6000 positive reviews.

BleLab | Universal Windows Platform (C#)

Mar — Apr 2017 open-source | published
An open-source utility for interaction with arbitrary Bluetooth Low Energy devices providing rich diagnostic and informational capabilities. Published to Microsoft Store.

Chords Book | Windows Phone (C#)

Jan — Jun 2014
A mobile app for browsing song lyrics and chords with big database and hints on how to play chords. I worked on mobile client and the REST API. Currently unpublished.

Dronnie | Windows Phone (C#/C++)

Sep — Nov 2013
An app for controlling of AR.Drone 2.0 drone. Developed as a submission for Microsoft’s contest.

details

birthdayJanuary 20th, 1992locationStockholm, Swedenemailme@iansavchenko.comwebsiteiansavchenko.comphoneprovided on request

skills

primary and stale
programming languages
JavaScript TypeScript C# Dart Python C C++
web & javascript
NodeJS npm VueJS ESLint Jest HTML CSS BabelNuxtJS WebPack WebExtensions
amazon web services
Lambda S3 CloudFormation DynamoDB Kinesis API Gateway AthenaSQSEC2IAM SNS Amplify
tools
git MakeshellDockerJenkins Apache Superset TeamCity
services
Github DataDogAuth0NetlifyCircle CITravis CIBitrise
concepts
Algorithms Automation CI/CD Cloud Infra as Code Serverless Unit-testing API designContainersData structuresOOD Multithreading Networks
mobile
Flutter Windows Mobile
desktop & C#
UWP WPF WinForms Caliburn.Micro NUint Moq UI Automation Cake MSBuild
languages
Ukrainian English Swedish

interests

running and working out
prodcats, books, movies, series
quizzes
Formula 1
aviation and space exploration

public speaking

Presented at Flutter Sweden Meetup, Feb 2020, Stockholm
Presented at Tobii Cloud Meetup, Nov 2018, Stockholm
Lightning talk at NordicJS, Sep 2018, Stockholm
“Making your mobile app lovely” at “Growth Hacking”, Dec 2015, Kyiv

other experience

Winner of Advent of Code competition at Tobii, Dec 2018
Coach at “Django Girls” workshop, “PyCon Lviv”, Nov 2014
IT volunteer, UEFA EURO 2012
Participated in informatics competitions on the country level in high school