Professional developer since 1980
The harder the problems, the louder they call.
You always need a truly senior developer like me in a team. Being senior not only means to write stable and maintainable code but also, have an eye on how the team works. Is it a team or just a group of individuals? Therefore, apart from 40+ years of programming, I also have acquired skills such as facilitation and agile principles.
But let us not stop there, a team must also understand the "why" behind their work. With me in the team, product management has a speaking partner that understands their context.
Certified Product Owner, Certified Scrum Developer, Certified Scrum Master, Certified IT-Architect, Certified Java Programmer.
Expertise
Full stack developer, including cloud technologies, leading agile teams, software architecture.
Since 2007, I have typically worked as a team facilitator (Scrum Master) in combination with a developer role. Sometimes the former has been full time when I have had more than one team. At other times, the developer role has been the heaviest part.
I feel passionate about both team development and software craftsmanship.
Example assignments
- Implement mob programming or pair programming.
- Teach developers how to write tests and refactor legacy code.
- Lead developer or architect.
- Make a group of individuals into a team that continuously improves their way of working.
- Assess the state of the organization, through interviews.
- Introduction course to Agile and Scrum.
Miscellaneous
- Awarded: "Best programmers of Sweden, 2016" Article in TechWorld
- YouTube: "TDD på svenska" YouTube playlist
- Blogs: Agical och Crisp
Technologies
Java, Elm, F#, C++, C, Prolog, LISP, Python, SQL, Oracle, PostgreSQL, MySQL, Spring Boot, OpenShift (Kubernetes), Google Cloud Storage, Docker, Amazon Web Services (AWS), Curity (OAuth), Git, Kafka, Mongodb, RabbitMQ, Jenkins CI/CD, GO CI/CD, Wicket , Linux, MacOS, Windows, Cucumber, JMeter, FitNesse
Employments
- 2022 - Agical (Consultant)
- 2021 - 2022 Insurello AB (Developer)
- 2007 - 2021 Crisp AB (Partner)
- 2003 - 2007 Swedish Tax Agency (Architect)
- 1993 - 2003 CAG (Consultant)
- 1991 - 1993 Objective Systems (Software Engineer)
- 1980 - 1991 Institute of microelectronics (Engineer)
Education
Autodidact, plus some electronics engineering and psychology at university.
Classes (a selection):
- Agile at scale, inspired by Spotify (Jimmy Janlén, Joakim Sundén)
- Certified Scrum Master (Jeff Sutherland)
- Certified Product Owner (Jeff Patton)
- Certified Scrum Developer (Chet Hendriksen, Ron Jeffries)
- Advanced Agile (Alistair Cockburn)
- Accelerated Agile (Dan North)
- Coaching Agile Teams (Lyssa Adkins)
- The Agile Facilitator (Lyssa Adkins, Leslie Stein)
- Specification by Example (Gojko Adzic)
- Impact Mapping (Gojko Adzic)
- Training from the back of the room (Sharon Bowman)
- Clean Code (Robert C Martin)
- Psychology, 30p (Stockholm University)
Engagements (selection of)
Green field startup
2019 - now, 3 years, 10 months
Owner of a two person startup. Elm with Java 17 backend on Spring Boot. Cloud deployment. DevOps work format.Insurello AB
2021 - 2022, 1 year, 9 months
Full stack developer, Elm and F#, deployed on AWS. Testing with Elm test, XUnit, NUnit and Cucumber. DevOps work format.NetEnt
2019 - 2020, 1 years, 5 months
Scrum Master and backend developer in Java 11 with Spring boot and SQL Server. Running on Google Cloud Kubernetes. Swagger API documentation. Spring boot API testing with test containers. DevOps work format.
ATG Horse betting
2016 - 2018, 2 years, 5 months
Scrum Master for 1-2 teams during the assignment. Coding in Java 8 and 11. Database Postgresql. Swagger API documentation. Spring boot API testing. Microservices on OpenShift/Kubernetes. Testing with JUnit.
Klarna Payment Solutions
2015 - 2016, 9 months
Working as agile coder and coach. Helping the team and PO to improve while also writing code in Java 8. Using Amazon Web Services, DynamoDB, Kafka, AppWizard et al.Testing with JUnit. DevOps work format.
Digital examination, Stockholm University
2014 - 2015, 2 years, 5 months
Created a system from scratch using agile principles. Released often to get feedback from real usage. Upheld quality with techniques such as TDD, BDD, pair programming and Continuous Integration. With quality, feedback is easier to incorporate. Tech stack: Java 7, Wicket. Testing with JUnit and FitNesse.
See this blog post for more: http://blog.crisp.se/2016/03/16/perlundholm/continuous-discovery-and-validation
Thomas Cook Northern Europe
Sep 2012 - Dec 2012
Helping Thomas Cook Northern Europe asses their agile development and product management processes.
Paxport, Passenger Management System
2008, 2009 - 2012
Worked as developer in Java 6, Wicket and Postgresql. Testing with JUnit. Scrum Master and Product Owner at various projects. DevOps work format.
Danaher Motion
2008-2009
Coordinating project for introducing self-guided forklifts in a warehouse.