Born: March 22, 1971
Lives in: Utrecht, The Netherlands
Apart from a short interruption when training to be a chemical engineer, I have been working on software development since I was 10 years old. I especially like working on systems used by large numbers of people. When I built my first website in 1994 I was sold.
Working in software development has some characteristics that make it the ideal environment for me: working with smart people, technology develops so quickly that it never gets boring and you can have a great impact with a small number of people.
I like to explain things and I can present clearly.
Edmij is a small (tiny) electricity utility company in The Netherlands and is very innovative in buying and selling renewable electricity. Prices of electricity are highly volatile nowadays and an important part of the energy transition is making sure that the free market makes energy be used (cheaply) when an abundance is available and to limit use in times of scarcity. Likewise, there are times when a producer of electricity had better NOT produce anything because prices are negative. Combining meteorology, data science and software engineering, Edmij tries to get the best deals for consumers, producers and the environment.
Engineering culture: Although an impressive amount of effective software was produced in the organisation, the structure for effectively maintaining the platform was lacking. In the small organisation everyone was responsible for everything. I work on professionalizing the engineering team, getting priorities straight and optimizing "the work not done". I deeply enjoy the freedom this small organization offers me.
Organisation: Over the years, the development team grew by a factor of 5, with all the growing pains that go with it. By giving teams more autonomy and gradually splitting the software into separate parts, the productivity per developer remained at a decent level, with more focus and ownership within teams.
Data science: Snappet gave me the opportunity to make serious contributions to the learning outcomes of hundreds of thousands of primary school students with data science. Especially in the early years when I could still combine thinking about the psychometric models AND the software architecture.
Cloud native: Since its inception, Snappet has had the capabilities of cloud computing. Paying for usage instead of upfront hardware purchase is in its DNA. But the major benefits of cloud computing may not be that you can start up your servers via an API, but that you don't have to think about server management at all anymore. Over the years, we have evolved the Snappet platform from a classic solution on cloud servers to a true cloud solution: as serverless as possible.
Micro services: In order to keep the various teams productive it quickly became important to split Snappet's monolithic solution into multiple applications and services that only built on each other through well-defined interfaces. By sketching out a clear plan for the future architecture and giving the teams as much freedom as possible, Snappet was able to grow. Releases became no-brainers and technical innovations could be tested in teams and sometimes rolled out across the company.
Organisation: Until 2007, Funda outsourced all software development. During a strategic reorientation this was identified as a risk and I was hired to set up this department internally. This has been a gradual process, in which crucial systems (issue tracking, source control) had to be set up internally and gradually a full-fledged internal software development team was formed. In 2014, Funda employed 17 developers divided over 5 self-managing SCRUM teams.
Technology: funda was built on a 100% Microsoft .NET stack. This was very good in certain areas (eg. development tools), but in other areas open-source tools were available that better fit the use cases of funda. During my time at funda, we successfully introduced new technologies such as memcached (caching), Apache Solr (search engine), Hadoop (batch data processing), Atlassian Bamboo (continuous integration).
Knowledge: A development team must always work hard to acquire and share knowledge. Standing still is going regression. That's why I've introduced a number of things at funda to encourage this. Think of regular "pizza sessions" where developers present each other new technologies and ideas, Fedex Days, where teams get 24 hours to build a feature in complete freedom and present it to the company, and coding challenges, where developers are challenged to build different solutions for a problem, so that we can learn from each other's approach.
Macaw was the perfect first employer for me: one of the first parties in Europe to realize that the internet is not only a place to publish documents, but also a platform for applications in combination with databases. An organization that values knowledge development and has a wide variety of customers. At Macaw, I developed from junior programmer to lead developer and specialist.
Important projects I have worked on for Macaw: Univé (first Dutch insurance provider to offer insurance directly via the internet), HEMA (we built hema.nl, including the first version of HEMA's online photo service), KPMG International Headquarters (international intranet), CreAim (online platform for financial services/accountancy).
I have followed many courses and trainings over the course of my career. These are the ones that I'm proud of completing a final exam:
2013-heden Several courses on coursera.org (Functional Programming, Computer Networks, Automata, Algorithms, Financial Theory, Financial Institutions, Computational Finance, Archaeology)
1989-1995 MSc. Chemical Engineering, Rijksuniversiteit Groningen
1982-1988 Gymnasium Haganum, Den Haag
I speak Dutch (native), English (full professional proficiency), Spanish (limited working proficiency), German (limited working proficiency)
Languages: 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).