Ian Savchenko | Software Engineer

overview

I’ve been working on commercial projects for more than ten years. Today I work as a Software Engineer (MTS) at PayPal in a Zettle onboarding team, leading several initiatives. Before that, I worked as a Full Stack Developer at a streaming service Viaplay. Five years of my career are related to eye tracking company Tobii where I was working on various projects and, at some point, shifted focus from desktop and system programming to Cloud and Web domain. I speak at conferences and meetups, code and read about software engineering in my spare time, and enjoy creating and shipping pet projects.

employment history

Software Engineer (MTS) (React / TypeScript / NodeJS / ExpressJS) @ PayPal

Sep 2020 — present Stockholm, Sweden
Leading web apps development in a cross-functional team. The team is responsible for onboarding and KYB data collection experience for new merchants registering for Zettle POS in European US markets. The primary job focus is creating a UX-friendly and accessible solution that is easy to maintain and extend for various markets and scenarios, meeting all the compliance requirements.

Full Stack Developer (TypeScript / NodeJS / AWS) @ Viaplay

Aug 2019 — Sep 2020 Stockholm, Sweden
Worked on the backend and CI in the engineering productivity department, improving development and release experience of Viaplay's client apps. Architected and implemented applications, services and cloud infrastructure for release coordination, performance analytics, CI/CD. Apart from the team's mission, contributed to and modernizing multiple NodeJS microservices, packages and the platform itself (running in Docker on AWS). Led the effort of converting the codebase from JavaScript to TypeScript.

Software Engineer (JavaScript / NodeJS / AWS) @ Tobii Cloud

Apr 2017 — Jul 2019 Stockholm, Sweden
Worked on a Big Data project related to Attention Data. Developed three main components: data supply with Chrome browser extension; 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. Codebase in JavaScript with Make and Shell build system and tooling. CI and CD done with Travis CI for all the above-mentioned parts of the solution.

Software Developer (C#) @ Tobii Tech

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 library, 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, 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 manufacturing; neural networks, signals and image processing; optimization technics and 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
Mobile app for browsing song lyrics and chords with hints on how to play chords. I worked on the app and the REST API. Currently unpublished.

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

Sep — Nov 2013
An app for controlling AR.Drone 2.0. Submission for Microsoft's contest.

details

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

skills

primary stale
programming languages
TypeScript JavaScript C# Dart C C++
web & javascript
React VueJS NodeJS npm yarn ESLint Jest HTML CSS BabelNuxtJSstyled-components WebPack WebExtensions
amazon web services
Lambda S3 CloudFormation DynamoDB Kinesis API Gateway AthenaSQSEC2IAM SNS Amplify
tools
git MakeshellDockerJenkins Apache Superset TeamCity
services
Github SentryDataDogAuth0NetlifyCircle CITravis CIBitrise
concepts
Algorithms Automation Accessibility 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
English Ukrainian Swedish

interests

running and working out
podcasts, 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

IT volunteer, UEFA EURO 2012
Participated in informatics competitions at the national level in high school