Arttu Ylä-Sahra

Work experience

Summer 2020 - ⋯

Cinia Oy

Full-time software development

At the present time, I work as a software developer for Cinia Oy. For time being, I currently primarily work on back-end projects, but have also done front-end work and Robot Framework testing.

Spring 2020

University of Jyväskylä, Faculty of Information Technology

Part-time technical advisor

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

My duties included advising students on the course 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

Spring 2019

University of Jyväskylä, Faculty of Information Technology

Software Project Peltihamsteri

In spring 2019, Peltihamsteri software project group developed the Syncster application for faculty's cognitive science driving simulator research laboratory, for the purpose of capturing and synchronizing data from devices used in a research task.

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

Quote and translation from project description in Finnish, 30.9.2019

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.

Spring 2018

University of Jyväskylä, Faculty of Information Technology

Part-time teaching

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 and TDD, and e.g. 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.

Highlights from personal projects

Spring 2019

Virtual version of a classic Finnish card game


I developed a web browser playable variation of the Paskahousu card game, using Pixi.JS and Typescript. The game has two AI players, playing independently against the human player (occasionally cheating too!). Game implements the most common rules found in this specific card game, e.g. rules concerning picture and pile-toppling cards.

Game can be played free of charge on

Early 2019

A toy 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.

The language is described in further detail here


2017-2020 MSc, Information Technology
University of Jyväskylä
Katsaus NPM-pakettivaraston metatietoihin ja pakettien riippuvuussuhteisiin
2014-2017 BSc, Information Technology
University of Jyväskylä

Dev skills

★★★★ Kotlin
★★★★ Linux
★★★★ PostgreSQL
★★★★ TypeScript
★★★ Docker
★★★ Golang
★★★ Java
★★★ LaTeX
★★★ React
★★★ Ruby
★★★ Rust
★★★ Spring Boot
★★ C#
★★ Elixir
Suomeksi, klikkaa tästä
© Arttu Ylä-Sahra 2016-2022
Page rendered on 2022-03-25T15:05:50.117+00:00
Privacy statement