Curriculum Vitae: Aki Salmi
Aki is recognized senior software professional. He has almost 20 years of experience in building software solutions for businesses. He is active public speaker and software development community builder.

I don't believe in magic. I make it happen.
Education
Master of Science in Technology, University of Åbo Akademi. Major in Software Engineering. Minor in Embedded Systems and Telecommunication. Aki completed this study on May 2004.
...more education
Professional Supervisor (fi: työnohjaaja), Sosped Keskus, Aki wanted to learn more about team dynamics, listening skills and how to help teams and work groups to findjoy and meaning. Aki started this education in January 2012 and completed it on June 2014.
CNVC Certification Candidate to become Certified NVC Trainer since 2022
Highlighted IT Skills
Nonviolent Communication (NVC), listening, empathy, full stack, web, mobile, agile software development, TDD, BDD, DDD, CI/CD, scrum, kanban
Languages / frameworks (in production use)
TypeScript, Kotlin, Java, Ruby, Python, C#, JavaScript, React, Vue, Node.js, MongoDB, MariaDB, MySQL and Postgres, Amazon AWS
See detailed technical skills from work experiences.
Languages
Finnish | Native language
English | Fluent
Swedish | Good
Github repositories
A NodeJS web app, functional. Using railroad driven approach.
Test bootstrap for all code exercises.
Me learning Functional Programming concepts.
Test-driving AWS serverless app with CDK.
A kata on practicing Connascence.
A CQRS / Event Sourcing demo used on live coding, and CQRS/ES trainings.
My configuration files, including .vimrc and .byobu -files and default .gitignore files
Public Speaking
2024 | Scan Agile 2024 - Take a Mess, Make a Mess, Fix the Mess
2024 | Turku ❤️ Frontend - Guide to Effective Test Automation for Developers
2023 | SoCraTes Conferene - Take a Mess, Make a Mess, Fix the Mess - 90 min training
2023 | Turku ❤️ Frontend - Take a Mess, Make a Mess, Fix the Mess
2023 | Scan Agile 2023: Empathy at Work - Dance between truth and care
2021 | Agile Tampere: Distributed Leadership in a remote first company - Empathy at Work series
2020 | Scan Agile (remote): Empathy at Work - how to be a team
2020 | Agile Tampere: Empathy at Work - why empathy matters
2019 | IT Matters: Empathy at Work workshop
2019 | Turku ❤️ Frontend - Railroad-Driven Programming
2019 | Tech Excellence Finland: Railroad-Driven Programming
2019 | New Crafts: Railroad-Driven Programming
2017 | Turku ❤️ Frontend - Property Based Testing
2017 | Agile Tour Vienna: CQRS and Event Sourcing, live demo
2016 | Swansea Conf: Object Orientated Views (Sep 2016)
2016 | Scan Agile: Retrospectives from outside IT
2015 | I.TAKE unconference: Object Oriented Views
2014 | I.TAKE unconference: Refactoring legacy code, real story
2014 | Turku Agile Day: Listening++ workshop
2013 | Scan Agile Conference: Listening++ workshop
2013 | iTAKE unconference (Bucharest, Romania): Introducing BDD
2012 | Jira-Nordic Conference: Introducing BDD
2012 | Agile Riga Day 2012: Introducing BDD
2011 | Tampere Goes Agile: The (hitch)hikers’ guide to agile leadership
2010 | Introduction to agile testing
Conference Organizer
2023 | CodeFreeze
2020 | CodeFreeze
2019 | CodeBreeze
2019 | CodeFreeze
2018 | CodeFreeze
2017 | CodeFreeze
2017 | European Testing Conference
2016 | CodeFreeze
2016 | European Testing Conference
2015 | CodeFreeze
2013 | Aulanko Open Space
2012 | Turku Agile Day
2011 | Turku Agile Day
2010 | Turku Agile Day
2009 | Turku Agile Day
Public Teaching
2019 | Tech Excellence Finland - facilitated 13 hands-on meetups on technical practices
2017 - 2018 | Total of 5 courses for Parent Effectiveness Training
2012 - 2018 | Several Coderetreats in Turku, Joensuu, Helsinki, Tampere
2012 | University of Turku: Designing Object-Oriented Software Facilitating hands-on coding sessions where we took challenge on learning objectoriented design on the micro-level. The core topic for the 4 lectures was how to use TDD, design patterns and SOLID principles as design tools.
2012 | Aalto University: Guest lecturer Guest lecture on topic: Managing people - agile leadership'
2011 & 2012 | Univeristy of Turku: Special course on software testing Topics: Executable Specification (BDD), UI test automation, exploratory testing, session based testing Working methods: dojo, home group/expert group, learning diary, blog, guest lectures
Work history
02 / 2023 - current | Wonna, Lead Developer
04 / 2014 - current | Rinkkasatiainen, Freelancer, coach, trainer
04 / 2020 - 02 / 2023 | BRYTER, Software Engineer
11 / 2018 - 03 / 2020 | Ambientia Oy, Senior Software Architect
05 / 2017 - 10 / 2018 | Visma Solutions Oy, Senior Software Developer
11 / 2012 - 05 / 2017 | Ambientia Oy, Software Developer
11 / 2010 - 10 / 2012 | Lindorff Oy, Scrum Master
04 / 2003 - 10 / 2010 | Nokia Oyj, Software Developer
Work experience
2020 - 2023 | Germany | BRYTER | Software Engineer
Working as technical agile coach, individual Coach, Running Learning journey to evolutionary design course
Working as internal mediator - helping people being heard and build trustful relationships in complex environment
Senior engineer on building TypeScript language server & runtime for BRYTER applications. Making sure that the engine never breaks.
Running Empathy @ Work trainings total of 11 sessions
Aki is a skilled software crafter, with a lot of expertise in building well-tested quality software. He is an exceptionally good pairing partner
2020 - 2023 | Finland | Rinkkasatiainen Oy | Freelancer
Running trainings on TDD & testability
During the workshop, I gained a deeper understanding on software unit testing, and how to approach different problems one might face when writing tests.
Running Empathy @ Work trainings
2018 - 03/2020 | Finland | Ambientia Oy | Senior Software Architect Magician
Working as technical agile coach, internally and externally. Specializing on TDD, Refactoring and Legacy Code.
Always inspiring, the way Aki facilitates and directs the process leads the team to gain new insights and generate solutions themselves.
2017 - 2018 | Finland | Visma Solutions Oy | Senior Developer
Working with a team on E-invoice operator - making sure numerous transactions happen daily without problems. Code is in AWS, main languages used: Ruby and Javascript (React).
2017 - 2018 | Finland | Rinkkasatiainen | Software Architect, designer, programmer
Designed and architected a survey tool for TuKKK using Java, NodeJS, python running on Google Cloud. Microservices approach, using CQRS+Event Sourcing with Java, and creating aggregated data for AI/ML to use. Highly scalable and available recommendation engine.
2016 | Austria | consulting entrepreneur - CodeCop | Course Trainer
Co-facilitating programming courses on: Introduction to Python programming, Introduction to Refactoring, Introduction to TDD
2014 - 2016 | Finland| Entrepreneur / Rinkkasatiainen | Work guidance
Helping teams and work groups to find joy and meaning at work. Teams are ranging from Schools and nursing homes to IT and scrum teams.
2013 - 2016 | Finland | Small company in private domain | Software Developer
While in the project, Aki brought TDD and Acceptance testing into the development process resulting in huge impact as improved quality of product deployments. This, together with improved collaboration with the customer, helped us to create an environment of trust.
Something odd has happened after you arrived to this project - nowadays product deployments do not break the system elsewhere.
Techniques used: XP practices, Programmer tests, Customer tests, TDD (jUnit), Pair Programming, Continuous Integration, Small Releases, Simple Design, Collective Code Ownership. Framework was Grails - programming language Groovy and Java. For front end, used techniques were pure Javascript, JQuery, CoffeeScript, SASS, HTML5, CSS3, mocha. For supporting tools, we used full Atlassian Stack (Jira, Confluence, Stash, Fisheye, Crucible, Bamboo). Tools: Intellij IDEA, VIM, bash
2014 | Finland | Ambientia | Solution Developer
Aki created an integration between Confluence and company user management system - integrating LDAP users signing into user details maintained in the other system. Also, created some customer specific business logic into Confluence
Techniques used: XP practices, TDD, Continuous Integration, Small Releases, microservice, simple design, Language: Java, CoffeeScript, jQuery, jUnit, Mocha, Ruby
2012-2014, 2016 | Finland | Large International Company in industrial internet | Software Developer
Industrial Internet application to monitor equipments and creating graphs. Later introducing Selenium and Serenity as tools for automating UI testing.
Techniques used: TDD, Customer tests, Java, Groovy, Grails, Javascript,
2010 - 2012 | Finland | Lindorff invoicing | Scrum Master
Helping 3 teams (together with another ScrumMaster) to excel at work. Facilitating retrospectives, listening to people, helping teams to grow.
Introducing new concepts, tools, processes (BDD & SpecFlow) as options to the team and facilitating discussion on the topics.
.. thanks to Aki, the teams have found various new work methods and techniques. Aki helps team members to show their best.
2008 - 2010 | Finland | Nokia | Software Developer
Working with a home build content delivery network to deliver all data from Nokia Ovi Store, Nokia Music using different global dontent delivery networks (Akamai and Limelight). Implementing a restful service with a full caching capabilities, stateless service.
Techniques used: Java, Spring, Junit, Continuous Integration, TDD, cucumber, clojure (home-built performance testing)
Working with a home build content delivery network to deliver all data from Nokia Ovi Store, Nokia Music using different global dontent delivery networks (Akamai and Limelight). Implementing a restful service with a full caching capabilities, stateless service.
2003 - 2008 | Finland | Nokia| Software Developer
Working with test automation frameworks with Symbian devices. Creating two different frameworks for Symbian devices
Techniques used: Mercury QuickTest Pro, Ruby.