Arttu Ylä-Sahra
Work experience
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
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
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.
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
Personal website
arttuys.fi
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
Minecraft mapper prototype
OrienteerMap
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
LISP interpreter in Rust
Juoni
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
Profiles
linkedin.com/in/arttuys | |
Printables | www.printables.com/social/179109-arttuys/models |
Web | arttuys.fi |
Studies
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
★★★★ | Java |
★★★★ | Kotlin |
★★★★ | Linux |
★★★★ | Spring Boot |
★★★★ | TypeScript |
★★★ | Docker |
★★★ | OpenSCAD |
★★★ | Postgres |
★★★ | React |
★★★ | Ruby |
★★ | Rust |