Markus Ylisiurunen

Software Engineer @ Reaktor

I am a detail-oriented software engineer interested in building things to tackle real-world problems. While geeking over the latest AI research paper or a clever architectural design decision can be fun, I am more interested in applying these tools to building valuable experiences.

You can find some of my projects on GitHub.

Work experience

Reaktor

Software Engineer, 06/2019 - present

At Reaktor, I have been working on client projects both on the private and public sectors in Finland and abroad. My role has mostly been a full-stack developer working on all aspects of the projects, from infra to front-end.

Insta digital

Software Engineer, 05/2017 - 06/2019

I started at Insta Digital (formerly Intopalo) in 2017 as a summer employee. After the summer, I stayed part-time during the winters while studying and full-time during the following summer. I mostly worked as a full-stack developer working both on the front-end and back-end sides of a few different projects.

Education

Aalto University

Master of Computer Science, 09/2019 - 05/2022

I did my master's degree in Machine Learning, Data Science, and Artificial Intelligence. The topic of my master's thesis was researching ways to use deep learning for extracting semi-structured information from images of receipts (e.g., finding the total amount). At graduation, my GPA for the master's degree was 4.45. Therefore, my overall weighted GPA was 4.52.

Tampere University of Technology

Bachelor of Computer Science, 08/2016 - 05/2019

I studied computer science, majoring in software engineering and minoring in machine learning. My bachelor's thesis focused on studying the feasibility of using GraphQL (e.g., using schema federation) in a microservice setting. My GPA was 4.56 at graduation.

Skills

Languages

  1. C++
  2. CSS
  3. Dart
  4. Go
  5. HTML
  6. Kotlin
  7. Python
  8. SQL
  9. Swift
  10. TypeScript

I am most experienced with TypeScript (and JS), but I have also extensively worked with Go and Python. I am also comfortable with Swift, Kotlin, C++, and some other languages. However, most of the key concepts are applicable regardless of the language.

Libraries

  1. Flutter
  2. GraphQL
  3. Hugging Face
  4. Next.js
  5. Puppeteer
  6. PyTorch
  7. React Native
  8. React
  9. SwiftUI
  10. TensorFlow
  11. Vue

This section is by no means an exhaustive list of libraries as there are too many to list. The purpose is to give an overview of some of the most important ones that I like.

For web development, React is my first choice. I have also worked with Vue (and Svelte) but have liked React the most. Front-end libraries... there are too many to list, and they rotate every other day.

I have been getting into mobile development and have enjoyed working with SwiftUI. I also tried React Native for a small project, but that wasn't nearly as good an experience as SwiftUI.

Backend, and the gazillion different libraries and SDKs. Node + TypeScript + PostgreSQL has been the stack I have worked with the most, but I would like to do more with Go. Each backend setup and language comes with its set of libraries, and it is not really purposeful to list them here. I will just say that I like Go's comprehensive standard library.

Others

  1. AWS
  2. Ansible
  3. Docker
  4. Figma
  5. GCP
  6. GitHub Actions
  7. Kubernetes
  8. Microservices
  9. MongoDB
  10. PostgreSQL
  11. Pub/Sub
  12. Pulumi
  13. RabbitMQ
  14. Redis
  15. Serverless
  16. Shopify
  17. Stripe
  18. Terraform
  19. WebSocket
  20. aws-cdk

In addition to the languages and libraries, tons of other components go into the lifecycle of a software project. Different testing libraries, CI/CD pipelines, packaging applications into Docker containers, infrastructure as code (IaC), designing the overall architecture, the billion cloud services on AWS, building analytics dashboards, monitoring and observability, etc.

Without listing all of the things separately, I will just state that I have explicitly wanted to work in all of the mentioned states of the project's lifecycle. Because of that, I would call myself a "generalist." I feel like I have enough experience from all of the stages above to efficiently build projects from the beginning to the very end.