Kennis / Ervaring

Software ontwikkelen kun je op vele verschillende manieren doen. Zo zijn er vele verschillende technieken en processen beschikbaar en daarnaast heb je nog een heel groot scala aan tooling (gereedschap) dat ingezet kan worden.

De ontwikkelingen in het vakgebied gaan enorm snel. Daarom probeer ik mijn kennis op peil te houden door veel onderzoek te plegen, conferenties te bezoeken, cursussen/workshops etc. te volgen.

Mijn expertise ligt op het gebied van Java en het Java ontwikkelplatform. Dit is een enorm sterke technology stack met oneindig veel mogelijkheden.

Hieronder een puntsgewijze opsomming van mijn kennis/ervaring. Dit is overigens geen complete lijst, maar een lijst met alleen de meest relevante items.

Ontwikkel- en scripting talen

  • Java
  • Kotlin
  • HTML
  • JavaScript en Typescript
  • XSLT
  • SQL en Oracle PL/SQL

Architectuur

  • Ontwikkelen van desktop applicaties
  • Ontwikkelen van web-applicaties
  • Ontwikkelen van Android en IOS applicatie op basis van IONIC (Cordova)
  • n-tier architectuur
  • Microservices
  • Event Sourcing architectuur
  • CQRS (Command Query Responsibility Segregation)
  • REST interfaces (client en server)
  • SOAP interfaces (client en server)

Frameworks / Platformen / Bibliotheken

  • Java platform en Java EE
  • Spring en SpringBoot framework
  • Axon Framework
  • Docker
  • Angular
  • ReactX

Besturingssystemen

  • Windows
  • Mac OS X
  • Linux
  • Android

Processen en methodieken

  • Scrum
  • ScrumBan
  • Kanban
  • DevOps
  • Waterval
  • Pair programming

Versiebeheer

  • GIT (en GitFlow)
  • Subversion

Databases / Datastores

  • Oracle DB
  • MySQL
  • Microsoft SQL
  • H2 DB
  • Elasticsearch (NoSQL datastore)
  • Axon Server (Event store)
  • NEO4J (Graph database)

Tooling

  • Atlassian stack (JIRA, Confluence, BitBucket, GitLab)
  • SonarQube
  • Jenkins
  • Bamboo
  • IntelliJ, Eclipse
  • CoPilot plugin (code generatie op basis van AI)