I am a Software Engineer with over 20 years of experience in building distributed systems, and an expert in real-time communications systems. Having worked in startups as well as multinationals as a technical leader, I communicate with, and am able to understand and translate between, people of other teams and disciplines (legal, product, design). I make relevant connections, and act as a bridge, to acquire a complete understanding of (the requirements for) all parts of a system and benefit from other's work.
My experience drives the balance between security, reliability, privacy, performance, and maintainability of the end result. To stay current, and learn from others, I participate in Open Source communities and standards organizations, including serving as Chair of the XMPP Standards Foundation.
Netdata is a observability and troubleshooting platform offering high-fidelity data, real-time, opinionated visualizations, reliable alerts, anomaly detection for every metric, and a monitoring experience that works out of the box.
Through Nuntians (owner and founder), I contract work as independent software developer and technical lead.
Elastic is the company behind the Elastic Stack (Elasticsearch, Kibana, Logstash, Beats), the basis for its Enterprise Search, Observability and Security solutions. Its Cloud team focuses on running Elastic's products in public cloud (Elastic Cloud, the official Elasticsearch Service) and private cloud (Elastic Cloud Enterprise and Elastic Cloud on Kubernetes).
VEON is a communications and internet provider, and was the name of its personal internet platform. The VEON Platform included a mobile app offering Chat, VoIP, and personalized news, entertainment, and offers, as well as an open marketplace for partners.
Mailgun is a (transactional) email service for developers. During my employment it was part of Rackspace, the leading managed cloud company. As Software Engineer, I have been responsible for a variety of Mailgun's back-end services, most notably:
Mochi Media was the largest online games network in the world. They provided products and services for managing the distribution of games, to track usage and support in-game advertising and micro-transactions. As Platform Engineer I was responsible for maintaining and improving the Python and Erlang based back-end systems for serving up ads and supporting services. I moved ETL jobs for log processing and reporting from Vertica to Hadoop/HBase, enhanced the centralized logging infrastruture and standardized Python application logging and created UDPLog, and introduced emitting and graphing application metrics.
The logging and graphing projects proved to significantly cut down on the amount of effort and time needed to track down issues and allow us to detect new problems faster. Besides that we were able to cut down on technical debt by replacing or removing related existing custom code and suboptimal services.
Mediamatic Lab was a company that built web-based social networks, communities and connections with the physical world. The social networks are built on top of the Community Management System anyMeta. My role was to architect and implement new features for websites running anyMeta. A large part of these has been to connect 60 social networking sites into a single federation using open technologies like Atom, OpenID, OAuth, XRDS and Jabber/XMPP. Related physical world projects involved RFID and Arduino controller boards. Parts of these enhancements have been built using Twisted in Python.
Jaiku was the name of an online service that was developed by a company with the same name, prior to being acquired by Google in October 2007. The service provided users the ability to share their online presence and location with other people, and keep them updated on new photos, trips, blog entries and other social objects they create within other services. All these updates are aggregated into a so-called activity streams. Aspects of Jaiku have influenced what eventually grew to be Google Plus
Besides the website, the service could be accessed through a mobile client for Nokia Series 60 phones, a mobile version of the website, SMS and Instant Messaging (IM). As Software Engineer, my work focused on the IM interface, based on Jabber/XMPP and more general backend programming on top of Twisted, a framework for networked applications in Python. I was also involved with developing a way to let the service interoperate with other social networking services using open protocols and formats, such as XMPP and Atom, in a near-real time fashion.
Jabber is a set of streaming XML protocols and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time. Jabber's base protocols have been standardised within the IETF as the eXtensible Messaging and Presence Protocol or XMPP. The XMPP Standards Foundation (XSF) builds open standards on top of XMPP in its XMPP Extension Protocol (XEP) series and is the unifying entity in the Jabber community.
Twisted is an event-driven framework for building networked applications in Python. It implements several network protocols, and I am the module owner of the Jabber implementation.
Natural Languages | Dutch and English, both fluent in writing and speaking. | |
---|---|---|
Programming languages | Python, Ruby, Javascript, Perl, C, and C++ | |
Network Protocols | XMPP/Jabber, TLS, HTTP, SMTP, IP, TCP, UDP, RTP and related WebRTC technologies, Syslog | |
Messaging systems | XMPP/Jabber, Kafka, Logstash, RabbitMQ, Syslog | |
Monitoring, Alerting | Prometheus, statsd, Graphite. | |
Web development | (X)HTML, XML, XSLT, XPATH, CSS, RSS, Atom | |
Databases | Elasticsearch, PostgreSQL, SQLite | |
Workflow technologies | Jenkins, Travis-CI, Github, Trac, Buildbot | |
Configuration Management | Ansible, Chef, Puppet, Sphinx |