ralphm.net

Curriculum Vitæ

Ralph Meijer

Software Engineer (1977, Veldhoven, The Netherlands)

email, online Jabber, LinkedIn

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.

Employment

Elastic (October 2019 – Present, Amsterdam – Partially Remote)

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 (April 2016 – Present, Amsterdam – Partially Remote)

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 / Rackspace (May 2013 – April 2016, San Francisco – Remote)

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 (December 2011 – March 2013, San Francisco – Remote)

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 (November 2007 – December 2011, Amsterdam – Partially Remote)

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 (March 2007 – October 2007, Helsinki – Remote)

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.

Relevant projects

Jabber/XMPP — 2000–present

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 — 2004–present

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.

Education

Master of Computer Science (2004, Technische Universiteit Eindhoven – Distributed Systems)

Skills

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