Teun Duynstee: Curriculum Vitae

Geboren: 22 maart 1971
Woont: Utrecht

Met uitzondering van een onderbreking voor een opleiding tot chemisch technoloog, ben ik sinds 10-jarige leeftijd altijd met software development bezig geweest. Met name het werken aan systemen die door grote hoeveelheden mensen worden gebruikt vind ik leuk. Toen ik in 1994 mijn eerste website bouwde was ik verkocht.

Werken in software development heeft een aantal kenmerken die het voor mij de ideale omgeving maken: samenwerken met slimme mensen, de technologie ontwikkelt zich zo snel dat het nooit saai wordt en je kan met een klein aantal mensen een grote impact hebben.

Ik vind het leuk om dingen uit te leggen en kan goed en helder presenteren.

Werkervaring

2023 - nu: edmij.nl - Software developer

Edmij is een (heel) kleine energieleverancier in Nederland, maar is zeer innovatief waar het gaat om het slim in- en verkopen van hernieuwbare energie. De prijzen daarvan fluctueren tegenwoordig hevig en het is een belangrijk onderdeel van de energie-transitie om te zorgen dat energie (goedkoop) verbruikt wordt wanneer er een overvloed is en beperkt verbruikt wordt bij schaarste. Omgekeerd zijn er momenten dat een producent van electriciteit beter niet kan produceren. Met een combinatie van meteorologie, data science en software probeert Edmij vboor zijn klanten het beste resultaat te bereiken.

Engineering culture: Er is een indrukwekkende hoeveelheid slimme software gebouwd binnen Edmij, maar om deze software effectief te onderhouden is meer structuur nodig. In de kleine organisatie die er stond deed iedereen alles. Ik werk aan de professionalisering van het Software Development team, het scherper krijgen van prioriteiten en het optimaliseren van "work not done". Ik geniet van de vrijheid die een kleine organisatie geeft.

2014 - 2022: snappet.org - Software developer, Data scientist, Software architect

Data science: Snappet gaf me de kans om met data science serieuze bijdragen aan het leerresultaat van honderduizenden basisschoolleerlingen te doen. Het development team groeide daarnaast met een factor 5, met alle groeipijnen van dien. Door teams meer autonomie te geven en de software langzamerhand in losse onderdelen op de splitsen bleef de productiviteit per developer op peil, met meer focus en ownership binnen teams.

Cloud native: Snappet heeft vanaf de start de mogelijkheden van cloud computing gehad. Betalen voor gebruik in plaats van vooraf aanschaffen van hardware zit in het DNA. Maar de grote voordelen van cloud computing zijn misschien niet dat je je servers via een API kan opstarten, maar dat je helemaal niet meer hoeft na te denken over server management. Door de jaren hebben we het Snappet platform laten evolueren van een klassieke oplossing op cloud-servers naar een echte cloud-oplossing: zo veel mogelijk serverless.

Micro services: Om de verschllende teams productief te houden werd het al snel belangrijk om de monolitische oplossing van Snappet te splitsen in meerdere applicaties en services die alleen via goed gedefiniëerde interfaces op elkaar voortbouwden. Door een duidelijk plan voor de toekomstige architectuur te schetsen en daarbinnen de teams zo veel mogelijk vrijheid te geven kon Snappet groeien. Releases werden langzamerhand no-brainers and technische innovaties konden in teams worden uitgeprobeerd en soms bedrijfsbreed worden uitgerold.

2007 - 2014: funda.nl - Software architect, Manager of development

Organisatie: bij funda werd tot 2007 alle software ontwikkeling uitbesteed. Bij een strategische heroriëntatie werd dit als risico aangewezen en ik werd aangetrokken om deze afdeling intern vorm te geven. Dat is een geleidelijk proces geweest, waarin cruciale systemen (issue tracking, source control) intern moesten worden opgezet en langzamerhand een volwaardig intern software development team werd opgezet. In 2014 werkten bij funda 17 ontwikkelaars verdeeld over 5 zelfsturende SCRUM teams.

Technologie: funda is gebouwd op een 100% Microsoft .NET stack. Deze voldeed op bepaalde vlakken zeer goed (bv. ontwikkeltools), maar op andere vlakken waren open-source tools beschikbaar die beter aansloten bij de use cases van funda. Over mijn periode bij funda hebben we succesvol nieuwe technologieën geïntroduceerd zoals memcached (caching), Apache Solr (search engine), Hadoop (batch data processing), Atlassian Bamboo (continuous integration).

Kennis: een ontwikkelteam moet altijd hard blijven werken aan het verwerven en delen van kennis. Stilstand is hollend achteruit gaan. Daarom heb ik bij funda allerlei zaken geïntroduceerd om dit te stimuleren. Denk aan regelmatige "pizza sessies" waarin developers elkaar nieuwe technologieën presenteren, Fedex Days, waarbij teams 24 uur de tijd krijgen om in volkomen vrijheid een feature te bouwen en deze te presenteren aan het bedrijf en coding challenges, waarbij developers uitgedaagd worden om verschillende oplossingen voor een probleem te bouwen, zodat we kunnen leren van elkaars aanpak.

1996 - 2007: Macaw - Junior/Medior/Lead/Specialist Developer

Macaw was voor mij de perfecte eerste werkgever: één van de eerste partijen die inzag dat internet niet alleen een plek is om documenten te publiceren, maar in combinatie met databases ook een platform voor applicaties. Een organisatie met oog voor kennisontwikkeling en met een grote diversiteit aan klanten. Bij Macaw heb ik mij ontwikkeld van junior programmeur tot lead developer en specialist.

Belangrijke projecten waaraan ik voor Macaw heb gewerkt: Univé (eerste verzekeraar die direct via internet verzekeringen ging afsluiten), HEMA (we bouwden hema.nl, inclusief de eerste versie van HEMA's online fotoservice), KPMG International Headquarters (internationaal intranet), CreAim (online platform voor financiële dienstverlening/accountancy)

Publicaties

  • Professional Visual Basic 6 XML - James Britt and Teun Duynstee - 1999 - WROX Press
  • Professional XSL - Kurt Cagle et al - 2001 - WROX Press
  • C# Class Design Handbook - Richard Conway et al - 2003 - WROX Press

Opleiding

2013-heden Losse vakken bij coursera.org (Functional Programming, Computer Networks, Automata, Algorithms, Financial Theory, Financial Institutions, Computational Finance, Archaeology)

1989-1995 Technisch Scheikunde, Rijksuniversiteit Groningen (afgerond, ir.)

1982-1988 Gymnasium Haganum, Den Haag (afgerond)

Ik spreek Nederlands (moedertaal), Engels (vloeiend), Spaans (redelijk) en Duits (redelijk).

Interesses en hobbies

  • Het maken (research, schrijven, presenteren, technische poductie) van de podcast Nooit Geweten
  • Machine learning en Big Data
  • Speltheorie
  • Open source projecten (github.com/Teun/). Ik ben de maker en onderhouder van thenBy.js, een veelgebruikte javascript micro-library voor sorteren (1.6M downloads per maand).
  • Archeologie
  • Wielrennen, zuiver als toeschouwer
  • Reizen, literatuur, geocaching

Tools en technologieën

Talen: C# (expert), javascript/TypeScript (expert), .NET Core (expert), XSLT (experienced), Dart/flutter (experienced), R (experienced), Go (basic), python (basic), java (basic), ruby (basic), scala (basic)

Tools: Visual Studio (expert), Visual Studio Code (expert), git (expert), Azure DevOps (experienced), GitHub (experienced), TeamCity (experienced), NUnit (experienced), AutoFac (experienced, Moq (experienced), NHibernate (experienced)

Amazon Web Services (expert, Lambda, ECS, S3, SNS, SQS, CloudWatch, EC2, DynamoDB, RDS, Kinesis, CloudFront, CloudFormation, IAM, ElastiCache), Software: SQL Server (expert), memcached (expert), MongoDb (experienced), Apache Solr (expert), PostgreSQL (basic), MySQL (basic), Redis (basic), MSMQ (basic).