Arttu Ylä-Sahra

Work experience

Summer 2020 - ongoing

Cinia Oy

Full-time software developer

At the present time, I work as a software developer for Cinia Oy. My current primary work consists of full stack development work with Java and TypeScript; prior work includes backend work in Kotlin and testing with Robot Framework

Spring 2020

University of Jyväskylä, Faculty of Information Technology

Part-time technical advisor

From the start of spring 2020, I worked as a part-time technical advisor for the course TIES405 Software Project

My duties included advising students of team assigned to me on various technical matters that could arise during development, e.g. on development tools and technical choices. I also reviewed students’ work on the customer(s) behalf.

Further details can be found (in Finnish) from the home page of the course, and from a press release on World Health Organization study on schoolgoers’ health

Spring 2019

University of Jyväskylä, Faculty of Information Technology

Software developer, test lead for Peltihamsteri project group

Peltihamsteri project group developed the Syncster application for faculty’s cognitive science research laboratory, for the purpose of capturing and synchronizing data from various research devices (e.g. eye-tracker camera) with the driving simulator used by the laboratory

Application was designed to be suitable for continued development, by creating general-purpose components and documenting the steps needed to add a new device module

My specific responsibilities in this project included development of the interface to the driving simulator and data synchronization components, and the planning and implementation of system testing.

Abbreviated from project description in Finnish (30.9.2019)

Spring 2018

University of Jyväskylä, Faculty of Information Technology

Part-time teacher

I worked during spring 2018 (and in lesser capacity during spring 2019) as a part-time teacher for the Programming 2 course. During the course, students implement a small database-like registry application as a whole-course practical assignment, in addition to smaller weekly tasks. The course is a continuation for the Programming 1 introductory course.

Curriculum for the course includes the basic principles of OOP, TDD, and development of a simple GUI with JavaFX

As a part-time teacher, my duties included holding weekly lab sessions in cooperation with other part-time teachers, and grading both practical assignments and exam answers. I also participated in certain administrative duties, e.g. translating course materials and instructions into English.

Examples of personal work

2016 - ongoing

Personal website

This website has existed since 2016 in various forms, and is currently running on Jekyll. From the start, it has been a showcase of things I find interesting - and it still is. Take a look around!

Past instances have ran on various forms of homebrew static website generators, some of which have been showcased here. They have been developed primarily in Ruby but also with Go.

Frontend asset building and bundling has been done (and still is) with help of Node, TypeScript and SCSS, resulting in a set of static files to be combined with generator-provided content

Spring 2021

Minecraft mapper prototype


I devised a tool to read Minecraft level data, and plot an user-selected area as a top-down map. Two distinct prototypes were developed: first one rendered a large pixel map in PBM image format, and second one rendered sets of SVG files in a regular grid, with the future aim of making more elegantly scaling maps

Tool utilized various powerful aspects of Go, like easy and effortless parallelization, and reflection to deserialize Minecraft NBT format into Go structures

Further information and screenshots on the blog post

Spring 2019

LISP interpreter in Rust


I developed a small interpreter for a LISP-like language as an assignment for the Compiler Technology course given by the University of Jyväskylä. The interpreter has been developed with the Rust programming language, and supports basic integer arithmetic, first-class and variadic functions, and tail recursion removal in certain limited circumstances.

A small standard library written with the language itself is included with the interpreter, for e.g. string processing. A few small example programs (e.g. 99 Bottles of Beer, Guess My Number) are also included.

Further information can be found from a dedicated page

This is an abbreviated list of newer specimens; various other additional examples exist





MSc, Information Technology

University of Jyväskylä

Katsaus NPM-pakettivaraston metatietoihin ja pakettien riippuvuussuhteisiin


BSc, Information Technology

University of Jyväskylä

Dev skills

★★★★ Java
★★★★ Kotlin
★★★★ Linux
★★★★ Spring Boot
★★★★ TypeScript
★★★ Docker
★★★ OpenSCAD
★★★ Postgres
★★★ React
★★★ Ruby
★★ Rust