CV

Ville "Will" Lindholm

Recent Experience

Memfault 2021 — 2024

Full-stack developer for a web app that ingests data from millions of IoT devices. Migrated the service from Heroku to AWS. Developed a more advanced permission system. Developed a "batch operations" API for common tasks in the UI (think e-mail batch operations).

Stack: AWS, React (TypeScript), Flask/Sqlalchemy/Celery (Python), PostgreSQL, ClickHouse.

Playvation / Moomin Language School 2019 — 2021

Senior Software Developer. Backend and admin/content creation UI of an educational mobile app for children (built with Unity). Implemented a GraphQL API for the admin web app, and substantial UI/UX improvements. Added a robust DevOps pipeline instead of manual deployments, bringing deployment time down from hours/days to minutes (on both AWS and AWS China).

Stack: AWS, React (TypeScript), Express (TypeScript), PostgreSQL, Unity (C#).

Duodecim Publishing Company Ltd 2017 — 2019

Lead developer for EBMEDS, a CE class IIa medical device (it's purely software though). Did a full rewrite of an extremely legacy codebase into modern TypeScript, as well as moving the service into AWS.

Also worked on the early version of the HL7 FHIR standard, both implementing parts of it for the Finnish OmaOlo national self-assessment platform (available to all Finnish citizens to get automated access to appropriate public healthcare), as well as taking part in working group meetings and conferences related to the standard itself.

Stack: AWS, TypeScript.

Education

Aalto University

Bachelor's degree: Applied Physics 2010
Master's degree: Applied Physics 2014
Major: Energy physics (Fusion energy and plasma simulation)

University of Helsinki

Bachelor's degree: Nordic literature 2014

Skills

Proficient

TypeScript, React, AWS, Python, REST and GraphQL APIs, Agile and Shape Up work processes, HTML and CSS.

Intermediate

Rust, C, Swift, C#

Beginner/curious

C++, Elixir, various Lisps

References
Available on request (don't want to expose contact information needlessly for bots to scrape).