Thomas Coopman - Independent Software Consultant
Thomas Coopman has been fascinated with computers since he was a kid. Playing around at first, became programming later and after learning some programming for himself and a small detour starting studies for nursing, he went on and studied Master of Informatics at the KULeuven.
Thomas is a polyglot and loves to learn new languages. His latest language studies have taken him to Elixir, Elm, OCaml and he has a special affinity for functional programming languages.
Thomas is an independent software consultant, coach and architect focused on improving software through people. Thomas is also currently active in the DDD Belgium and Software Craftsmanship Belgium community.
Work
Infinite Tree 2016-01 - Current
Independent software consultant.
SD Worx 2018-01 - 2018-03
- Consultant for Continuous Deployment: Investigate if it’s possible to roll out a continuous deployment pipeline across many teams.
Keywords: Continuous Deployment, Agile
Teamleader 2017-01 - 2018-01
- Frontend Consultant:
- Designing a frontend architecture that avoids the frontend monolith. I also gave a talk about this.
- Coaching the frontend developers in building clean frontend applications with React and Redux.
Keywords: Frontend Architecture, React, Frontend Microservices
Protime 2015-05 - 2017-12
- Team leader
- Senior software developer Ruby, Javascript and C#
- Agile software development
- Architect
I started as senior developer on a ruby on rails project. I helped reducing accidental complexity in the code base and transformed the team from sprints to kanban.
After this I joined a different team on a C#(Event Sourcing/CQRS)/Javascript(React/Redux) project that was struggling to deliver. Here I started reducing the complexity in both the frontend and backend and also transformed this team to kanban. After a few months we went live with our first customers and started growing quickly. To support the grow we invested heavily in continuous deployment and continuous improvement.
During the whole time at Protime I was part of the architecture board where we discussed and guided architectural decisions. I also helped a transformation to feature teams so that more people were able to work on the same product. This transformation was both in architecture (microservices) and organisational.
Keywords: C#, Javascript, Ruby, React, Redux, Vue, Kanban, Event Sourcing, CQRS, DDD, Microservices, Continuous deployment, Authorization engine
Kenniscentrum Openbaar Domein (K-O-D) 2015-04 - current (continued as consultant)
- Development of a road inspection tool with:
- Elixir for a backend GPS transformation tool
- Typescript/React frontend
- Docker to develop and deploy
- Development of a longitudinal profile for sewers:
- Typescript/React and Bucklescript frontend
- Elixir as backend server for pdf printing
- NodeJs as pdf generation tool
Keywords: Typescript, Javascript, React, Elixir, NodeJs, Docker
Kenniscentrum Openbaar Domein (K-O-D) 2010-07 - 2015-04 Projectleader for IT projects
- Development and project leader for a GIS Viewer, mostly for sewers
- Project lead and development of a platform for searching and creating public domain projects in synergy
Interests
Hobby projects:
In my spare time I always try to learn. I focus on things that are relevant on the job or things that will broaden my perspective. This ranges from new programming languages (Elm or OCaml) for example, to DDD, architecture of coaching. I try to focus on a broad aspect of things, and go deeper into detail where necessary.
On my github or goodreads you can see some of these topics. On my github account you can also see that I try to participate in open source project and I’m also a maintainer for some small open source projects.
Meetups and conferences:
- Co-organiser of DDD Belgium and Socrates Belgium
- Speaking and workshops at conferences:
- Domain Driven Refactoring: 2018 DDD Europe
- Playing with projections: 2017 DDD Europe, I T.A.K.E., NCrafts
Keywords: DDD, Socrates, Workshops
Hobbies:
- Cycling
- Hiking
- Reading
Education
Master of Informatics (KULeuven)
Masterthesis: A framework for dynamic extensible and context-driven domotics systems (A User-Oriented and Context-Aware Service Orchestration Framework for Dynamic Home Automation Systems)
A prototype of this framework was developed in Java, Qt with an ontology framework.
Relevant Trainings
- DIY Event sourced tooling
- Bikablo training
- Event sourced process managers
Skills
Methodologies | |
---|---|
Domain Driven Design | Evolutionary Architecture |
Kanban | Agile software development |
Continuos improvement |
Backend | ||
---|---|---|
C# | Elixir | NodeJs |
Ruby | Java | Python |
OCaml | Go |
Frontend | ||
---|---|---|
Javascript | Elm | ReasonML/Bucklescript |
HTML | CSS | Reactjs + Redux |
GIS | |
---|---|
ArcGIS Server + Desktop | Geoserver |
Leaflet | Openlayers |