Agile Coaching, Scrum Coaching, Software-Entwicklung, Lean, Kanban, TDD, DDD
Aktualisiert am 18.07.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 18.07.2024
Verfügbar zu: 100%
davon vor Ort: 20%
Software Engineer
Senior Consultant
Technology Consulting
English
fluent
German
fluent
Spanish
fluent

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz

Möglichst "remote" mit Reisen aus wichtigem Grund wie z.B. Meetings, Veranstaltungen

möglich

Projekte

Projekte

2024 - today: Created dashboards and automations for power monitoring


Place of Work: Spain

Role: IoT Developer

Customer: on requst


Tasks:

  • Evaluated, planned and installed IoT gateway and end nodes to monitor soil humidity, temperature andconductivity to provide automated irrigation to a Miyawaki style forest co-fi nanced by the European Union'sLIFE program (via LifeTerra foundation).
  • Created dashboards and automations for power monitoring, to control water pumps and other devices. Did theelectrical installation and software. The system is solar powered and off the utility grid.


Skills:

Internet of Things Network, LoRaWAN, NPC, BLE, Home Assistant, Dragino, Milesight, Shelly, SMA devices


2022 - 2023: frontend application to promote an ecosystem restoration project


Place of Work: Spain

Role: Product Designer and Developer

Customer: on request


Tasks:

  • CaimitoEU is a frontend application to promote an ecosystem restoration project in Andalusia, Spain. The application contains a shop for packaged products and also an innovative butcher shop to facilitate the sale of fresh Iberico meat.
  • It is written in JavaScript with VueJS (version 3), HTML5 and CSS3 for styling. After a bad experience with TailwindCSS the styling was redone in pure CSS3. It is deployed as a Docker container with an NGINX reverse proxy in the front and for handling SSL encryption. CaimitoEU consumes an API provided by GranjaEU and does not have local data storage.
  • Secured via Keycloak, CaimitoEU calls the backend API REST endpoints authenticating itself as a service account.
  • To process payments PayPal is integrated. CaimitoEU displays information in English, German, Spanish languages via vue-i18n and some Vue Router tricks to redirect to language specific pages for larger content.
  • Build and deploy happen via GitHub Actions to a staging and production environment. The multi-stage build includes Cypress UI tests and also Cypress smoke tests before a candidate container is marked as ready for deployment.
  • More complex features that take longer in development are controlled via feature flags in order to make them visible in the staging but not in the production environment.
  • GranjaEU is the backend API for CaimitoEU and also a small-scale ERP system for running a farm which is being used daily by the workers of Granja Caimito.
  • The backend API is coded in Java with Spring Boot. It exposes REST endpoints to the GranjaEU webapp and also a secured public API, via Keycloak, for CaimitoEU (in the future, other farm applications as well).
  • User management is done within Keycloak. Data is stored either structured in PostgreSQL or as documents in MongoDB.
  • The user interface is made with Vuetify and supports English and Spanish languages via vue-i18n.
  • GranjaEU also sends emails via JavaMail and the Google SMTP server to customers in response to shop actions and to notify customers about state changes for their orders.
  • Test-driven development and rapid prototyping are two of the methods used. Actual farm workers use the application at a very early stage and provide feedback. Deployment to production - in the sense of trunk-based development - for both applications happens multiple times per day in small chunks.
  • As with CaimitoEU build and deploy happen via GitHub Actions as a multi-stage build pipeline. Maven is building and running a large number of JUnit unit and integration tests. Cypress is used to test the GranjaEU web UI and also runs smoke tests of the deployed application for selected critical functionality. The output is several Docker containers which are stored at GitHub's container registry and deployed via SSH to a Docker Compose to staging and production environments.
  • All servers running Docker Engine based on Debian Linux are maintained by myself.


Skills:

VueJS, Vuetify, Cypress, Keycloak (OAuth2), Docker (compose), MongoDB, PostgreSQL, NGINX, Spring Boot (REST, Data, Mail, Thymeleaf, Security), Flyway, JUnit, Maven


2021 - 2022: Coaching on Object-Oriented Programming


Place of Work: Germany

Role: Developer

Customer: Mercedes-Benz


Tasks:

  • Worked 100% remote with an international DevOps style group on an internal application to manage SonarQube in combination with GitHub Enterprise.
  • Backend work with Java, Quarkus, Hibernate, Maven Frontend work with VueJS, Vuex Store, Typescript, Vuetify, Cypress automated testing
  • Development environment was Docker, GitHub Actions. Production deployment to Azure Kubernetes cluster.
  • Worked on Quarkus Native Executable on GraalVM as Docker container. Did minor changes to Helm charts and within Microsoft Azure.
  • The application uses Keycloak for authentication and I also got to do some work with its API and manage local deployment for testing purposes.
  • Worked on a demo setup for a different group to enable them to use Microsoft .NET on Kubernetes. Development with .NET on Mac OS and deployment to selfhosted Ubuntu MicroK8s.
  • Did some limited coaching on Object-Oriented Programming and Test-Driven Development for the colleagues with a SysAdmin background.


Skills:

Java, Quarkus, Hibernate, Maven Frontend work with VueJS, Vuex Store, Typescript, Vuetify, Cypress automated testing, Docker, GitHub Actions, Azure Kubernetes cluster


2020 - 2020: Orchestrate a number of external services


Place of Work: Japan, USA, Europe

Role: Developer

Customer: PH7


Tasks:

  • Working on a NodeJS based API to orchestrate a number of external services.
  • Functional programming style and use of Promise and lodash/fp.
  • Unit testing with JEST, acceptance and smoke testing with Cucumber.js and Chai.
  • Geographically distributed team with team members working from individual locations in Europe, Japan, and USA.


2019 - 2019: Performed an IT process and system assessment for the executive board


Place of Work: Pristina, Kosovo

Role: Consultant

Customer: Raiffeisen Bank


2019 - 2019: Performed an IT process and system assessment for the executive board


Place of Work: Sarajevo, Bosnia-Herzegovina

Role: Consultant

Customer: Raiffeisen Bank


2019 - 2019: Performed an IT process and system assessment for the executive board


Place of Work: Belgrade, Serbia

Role: Consultant

Customer: Raiffeisen Bank


2018 - 2018: Improving engineering practices


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Insurance


Tasks:

  • Continued the work from 2017. Worked with several teams and senior management on improving engineering practices.
  • Advised on network security and information security practices.
  • Introduced a former coachee to the teams to support XP style testing practices at the team level.
  • Consulted on Self-Contained Systems (SCS) based on Docker containers to improve application architecture


2017 - 2017: Performed an audit of the software development and operations groups


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Insurance


Tasks:

  • Performed an audit of the software development and operations groups in preparation of a larger engagement to uplift skills and create a DevOps structure.
  • Did some initial coaching on two teams to lay the foundation for future coaching work with these two teams and additional groups to follow.

2017 - 2017: cooperation with other Agile Coaches


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Bank


Tasks:

  • Continuation of the 2016 engagement
  • Objective is to create a DevOps culture inside the bank and restructure the whole organization accordingly.


2016 - 2016: Test-Driven Development


Place of Work: Germany

Role: Agile Coach

Customer: Thales, Stuttgart


Tasks:

  • Within the axle counter group of Thales Transportation Systems I coached project manager and solution architect on their new roles of Scrum Master and Product Owner.
  • Introduced technical team members to Test-Driven Development in C using the tool Cantata.


2016 - 2016: product development


Place of Work: Bad Waldsee, Germany

Role: Agile Coach

Customer: Versandhaus Walz


Tasks:

  • The engagement started as a group of three coaches for their main office and an external development partner.
  • Initially I trained and coached on technical matters in a Java J2EE environment with IBM Websphere Commerce.
  • Over time I became the main coach for the main office and worked with a larger group developing the new eCommerce shop for Walz.
  • Coaching topics included product development vs service delivery, information visualization, integration of non-developers, restructuring a traditional retailer to become an eCommerce company, new roles and skills.
  • For 2017 Walz wants to bring all shop development inhouse and I started in 2016 to train newly hired developers on microservices architecture and the DevOps model.

2016 - 2016: cooperation with other Agile Coaches


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Bank


Tasks:

  • Did anamesis with a number of several development groups over the course of a whole week and created a proposal about creating a DevOps culture within a division for management.
  • Received approval to proceed in 2017.


2016 - 2016: Introduced User Story Mapping


Place of Work: Frankfurt, Germany

Role: Agile Coach

Customer: Deutsche Bank


Tasks:

  • Tought Product Owners and team members from different vendors the basics of Scrum.
  • Introduced User Story Mapping.
  • Performed a three day learning week to introduce kanban elements and the concept of 3 Amigos via paper prototypes amongst others.
  • Consulted on team size and shape and what Scrum can do for the organization.

further projects on request

Position

Position


Kompetenzen

Kompetenzen

Top-Skills

Software Engineer Senior Consultant Technology Consulting

Produkte / Standards / Erfahrungen / Methoden

Software Entwicklung
Experte

Profile

  • As International Software Development Coach and Consultant I help CEOs and Department Leaders to improve value creation and cohesion within their organization. The outcome will be higher quality, customer delight and more revenue.
  • Based on my fi rst lines of code written in the early 1980s and fi rst publication. I?ve beenhoning my skills in software development and business since then.
  • My passion is software development in multiple programming languages and thanks to my demanding clients Ikeep up with current technologies being languages, frameworks and also networking, operating systems oroperations topics.
  • Unlike some of my peers in Agile Coaching I have never stopped programming personally and so I can do for realwhat I talk about. In every engagement that ability earns me quickly respect and people like to take my advice asit comes from the trenches and not from books or lectures.
  • I help CEOs and Department Leaders to improve value creation and cohesion within their organization. Theoutcome will be higher quality, customer delight and more revenue.
  • Agility and self-organization require technical competence. Scrum, Kanban and other frameworks and conceptsdo not work without technical abilities. I help everybody involved to acquire or grow these abilities.
  • My contributions help the organization to become more adaptable and more resilient so that it can prevail inglobal dynamic markets that are constantly changing.
  • My work, on an international level, gets me in touch with many diff erent national and corporate cultures. Thatallows me to see the bigger picture, provides me a large arsenal of tools and therefore makes me able to solvediffi cult situations in a way that is new to the particular client I?m working with.


Special Experiences

  • I taught a young developer in China at Huawei Behavior-Driven Development inPython using the framework
  • She did not speak a lot of English and wewere communicating through a translator who was sitting between us. 
  • As I wasable to show in code what I was explaining in English - the translator turning mywords into Mandarin - my coachee quickly understood the concepts and we wereable to deliver a valuable service to her team.

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz

Möglichst "remote" mit Reisen aus wichtigem Grund wie z.B. Meetings, Veranstaltungen

möglich

Projekte

Projekte

2024 - today: Created dashboards and automations for power monitoring


Place of Work: Spain

Role: IoT Developer

Customer: on requst


Tasks:

  • Evaluated, planned and installed IoT gateway and end nodes to monitor soil humidity, temperature andconductivity to provide automated irrigation to a Miyawaki style forest co-fi nanced by the European Union'sLIFE program (via LifeTerra foundation).
  • Created dashboards and automations for power monitoring, to control water pumps and other devices. Did theelectrical installation and software. The system is solar powered and off the utility grid.


Skills:

Internet of Things Network, LoRaWAN, NPC, BLE, Home Assistant, Dragino, Milesight, Shelly, SMA devices


2022 - 2023: frontend application to promote an ecosystem restoration project


Place of Work: Spain

Role: Product Designer and Developer

Customer: on request


Tasks:

  • CaimitoEU is a frontend application to promote an ecosystem restoration project in Andalusia, Spain. The application contains a shop for packaged products and also an innovative butcher shop to facilitate the sale of fresh Iberico meat.
  • It is written in JavaScript with VueJS (version 3), HTML5 and CSS3 for styling. After a bad experience with TailwindCSS the styling was redone in pure CSS3. It is deployed as a Docker container with an NGINX reverse proxy in the front and for handling SSL encryption. CaimitoEU consumes an API provided by GranjaEU and does not have local data storage.
  • Secured via Keycloak, CaimitoEU calls the backend API REST endpoints authenticating itself as a service account.
  • To process payments PayPal is integrated. CaimitoEU displays information in English, German, Spanish languages via vue-i18n and some Vue Router tricks to redirect to language specific pages for larger content.
  • Build and deploy happen via GitHub Actions to a staging and production environment. The multi-stage build includes Cypress UI tests and also Cypress smoke tests before a candidate container is marked as ready for deployment.
  • More complex features that take longer in development are controlled via feature flags in order to make them visible in the staging but not in the production environment.
  • GranjaEU is the backend API for CaimitoEU and also a small-scale ERP system for running a farm which is being used daily by the workers of Granja Caimito.
  • The backend API is coded in Java with Spring Boot. It exposes REST endpoints to the GranjaEU webapp and also a secured public API, via Keycloak, for CaimitoEU (in the future, other farm applications as well).
  • User management is done within Keycloak. Data is stored either structured in PostgreSQL or as documents in MongoDB.
  • The user interface is made with Vuetify and supports English and Spanish languages via vue-i18n.
  • GranjaEU also sends emails via JavaMail and the Google SMTP server to customers in response to shop actions and to notify customers about state changes for their orders.
  • Test-driven development and rapid prototyping are two of the methods used. Actual farm workers use the application at a very early stage and provide feedback. Deployment to production - in the sense of trunk-based development - for both applications happens multiple times per day in small chunks.
  • As with CaimitoEU build and deploy happen via GitHub Actions as a multi-stage build pipeline. Maven is building and running a large number of JUnit unit and integration tests. Cypress is used to test the GranjaEU web UI and also runs smoke tests of the deployed application for selected critical functionality. The output is several Docker containers which are stored at GitHub's container registry and deployed via SSH to a Docker Compose to staging and production environments.
  • All servers running Docker Engine based on Debian Linux are maintained by myself.


Skills:

VueJS, Vuetify, Cypress, Keycloak (OAuth2), Docker (compose), MongoDB, PostgreSQL, NGINX, Spring Boot (REST, Data, Mail, Thymeleaf, Security), Flyway, JUnit, Maven


2021 - 2022: Coaching on Object-Oriented Programming


Place of Work: Germany

Role: Developer

Customer: Mercedes-Benz


Tasks:

  • Worked 100% remote with an international DevOps style group on an internal application to manage SonarQube in combination with GitHub Enterprise.
  • Backend work with Java, Quarkus, Hibernate, Maven Frontend work with VueJS, Vuex Store, Typescript, Vuetify, Cypress automated testing
  • Development environment was Docker, GitHub Actions. Production deployment to Azure Kubernetes cluster.
  • Worked on Quarkus Native Executable on GraalVM as Docker container. Did minor changes to Helm charts and within Microsoft Azure.
  • The application uses Keycloak for authentication and I also got to do some work with its API and manage local deployment for testing purposes.
  • Worked on a demo setup for a different group to enable them to use Microsoft .NET on Kubernetes. Development with .NET on Mac OS and deployment to selfhosted Ubuntu MicroK8s.
  • Did some limited coaching on Object-Oriented Programming and Test-Driven Development for the colleagues with a SysAdmin background.


Skills:

Java, Quarkus, Hibernate, Maven Frontend work with VueJS, Vuex Store, Typescript, Vuetify, Cypress automated testing, Docker, GitHub Actions, Azure Kubernetes cluster


2020 - 2020: Orchestrate a number of external services


Place of Work: Japan, USA, Europe

Role: Developer

Customer: PH7


Tasks:

  • Working on a NodeJS based API to orchestrate a number of external services.
  • Functional programming style and use of Promise and lodash/fp.
  • Unit testing with JEST, acceptance and smoke testing with Cucumber.js and Chai.
  • Geographically distributed team with team members working from individual locations in Europe, Japan, and USA.


2019 - 2019: Performed an IT process and system assessment for the executive board


Place of Work: Pristina, Kosovo

Role: Consultant

Customer: Raiffeisen Bank


2019 - 2019: Performed an IT process and system assessment for the executive board


Place of Work: Sarajevo, Bosnia-Herzegovina

Role: Consultant

Customer: Raiffeisen Bank


2019 - 2019: Performed an IT process and system assessment for the executive board


Place of Work: Belgrade, Serbia

Role: Consultant

Customer: Raiffeisen Bank


2018 - 2018: Improving engineering practices


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Insurance


Tasks:

  • Continued the work from 2017. Worked with several teams and senior management on improving engineering practices.
  • Advised on network security and information security practices.
  • Introduced a former coachee to the teams to support XP style testing practices at the team level.
  • Consulted on Self-Contained Systems (SCS) based on Docker containers to improve application architecture


2017 - 2017: Performed an audit of the software development and operations groups


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Insurance


Tasks:

  • Performed an audit of the software development and operations groups in preparation of a larger engagement to uplift skills and create a DevOps structure.
  • Did some initial coaching on two teams to lay the foundation for future coaching work with these two teams and additional groups to follow.

2017 - 2017: cooperation with other Agile Coaches


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Bank


Tasks:

  • Continuation of the 2016 engagement
  • Objective is to create a DevOps culture inside the bank and restructure the whole organization accordingly.


2016 - 2016: Test-Driven Development


Place of Work: Germany

Role: Agile Coach

Customer: Thales, Stuttgart


Tasks:

  • Within the axle counter group of Thales Transportation Systems I coached project manager and solution architect on their new roles of Scrum Master and Product Owner.
  • Introduced technical team members to Test-Driven Development in C using the tool Cantata.


2016 - 2016: product development


Place of Work: Bad Waldsee, Germany

Role: Agile Coach

Customer: Versandhaus Walz


Tasks:

  • The engagement started as a group of three coaches for their main office and an external development partner.
  • Initially I trained and coached on technical matters in a Java J2EE environment with IBM Websphere Commerce.
  • Over time I became the main coach for the main office and worked with a larger group developing the new eCommerce shop for Walz.
  • Coaching topics included product development vs service delivery, information visualization, integration of non-developers, restructuring a traditional retailer to become an eCommerce company, new roles and skills.
  • For 2017 Walz wants to bring all shop development inhouse and I started in 2016 to train newly hired developers on microservices architecture and the DevOps model.

2016 - 2016: cooperation with other Agile Coaches


Place of Work: Moscow, Russia

Role: Agile Coach

Customer: Alfa Bank


Tasks:

  • Did anamesis with a number of several development groups over the course of a whole week and created a proposal about creating a DevOps culture within a division for management.
  • Received approval to proceed in 2017.


2016 - 2016: Introduced User Story Mapping


Place of Work: Frankfurt, Germany

Role: Agile Coach

Customer: Deutsche Bank


Tasks:

  • Tought Product Owners and team members from different vendors the basics of Scrum.
  • Introduced User Story Mapping.
  • Performed a three day learning week to introduce kanban elements and the concept of 3 Amigos via paper prototypes amongst others.
  • Consulted on team size and shape and what Scrum can do for the organization.

further projects on request

Position

Position


Kompetenzen

Kompetenzen

Top-Skills

Software Engineer Senior Consultant Technology Consulting

Produkte / Standards / Erfahrungen / Methoden

Software Entwicklung
Experte

Profile

  • As International Software Development Coach and Consultant I help CEOs and Department Leaders to improve value creation and cohesion within their organization. The outcome will be higher quality, customer delight and more revenue.
  • Based on my fi rst lines of code written in the early 1980s and fi rst publication. I?ve beenhoning my skills in software development and business since then.
  • My passion is software development in multiple programming languages and thanks to my demanding clients Ikeep up with current technologies being languages, frameworks and also networking, operating systems oroperations topics.
  • Unlike some of my peers in Agile Coaching I have never stopped programming personally and so I can do for realwhat I talk about. In every engagement that ability earns me quickly respect and people like to take my advice asit comes from the trenches and not from books or lectures.
  • I help CEOs and Department Leaders to improve value creation and cohesion within their organization. Theoutcome will be higher quality, customer delight and more revenue.
  • Agility and self-organization require technical competence. Scrum, Kanban and other frameworks and conceptsdo not work without technical abilities. I help everybody involved to acquire or grow these abilities.
  • My contributions help the organization to become more adaptable and more resilient so that it can prevail inglobal dynamic markets that are constantly changing.
  • My work, on an international level, gets me in touch with many diff erent national and corporate cultures. Thatallows me to see the bigger picture, provides me a large arsenal of tools and therefore makes me able to solvediffi cult situations in a way that is new to the particular client I?m working with.


Special Experiences

  • I taught a young developer in China at Huawei Behavior-Driven Development inPython using the framework
  • She did not speak a lot of English and wewere communicating through a translator who was sitting between us. 
  • As I wasable to show in code what I was explaining in English - the translator turning mywords into Mandarin - my coachee quickly understood the concepts and we wereable to deliver a valuable service to her team.

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.