Samsung

Software Engineering Intern

I was hired by Samsung for a summer full time internship starting in July 2018. I later continued part time for one semester, until February 2019.

The project I was involved with was building new infrastructure for testing the Tizen operating system, consisting of multiple small Linux boards capable of flashing software on test devices and the higher level software orchestrating the testing processes.

Some of my work either took me in very experimental direction, or involved creating tooling that improved the quality of life of my team, but having not been merged, for reasons unknown to me, has vanished during the transition from Tizen Gerrit to Gerrithub. It’s a big shame, because I’m most proud of these things, but I would rather not cover them here without the ability to point to publicly available sources.

My initial goal was to iterate on the process of producing Linux system images for the flashing boards as designed by team previously using the Gentoo distribution. However, the experience working with it led me to push the team towards creating a solution based on Armbian, using Debian packages to provide necessary software. I also documented the new system preparation process.

Another issue I tackled was preventing the software executed as part of a testing job from permanently changing the disk contents on the flashing board. I drafted a Linux container solution utilizing overlayfs inspired by what I saw in Docker and sio2jail. Please don’t hold the quality of the C code against me, I was not hired for my C code, but for my knowledge of Go language.

I also made a few small contributions to the software surrounding the project.