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.

rinkkasatiainen
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

 

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.