Evert Pot
Web architect, API developer
- Last update: February 20th, 2018.
- Location: San Francisco, CA, United States.
- Contact: work@evertpot.com.
Summary
My name is Evert, and I’ve been a Web Developer for 15 years. I’ve been doing consulting for a wide range of companies, from small businesses to telcos, financial services and national broadcasters.
I’m especially interested in API design, implementing better engineering practices, scalability problems and application architecture. I served as CTO or technical leadership in most of the companies I’ve worked at.
Links
- Blog: https://evertpot.com/
- Github: https://github.com/evert/
- LinkedIn: https://www.linkedin.com/in/evert-pot-868746147
- Stack Overflow: http://stackoverflow.com/users/80911/evert
Experience
Technical Lead at Yelp, Toronto/San Francisco - 2016-2018
In October 2016, I joined Turnstyle, a company in Toronto that does location- based marketing analytics.
My role there was to help drive the design and architecture of a REST API. We’ve used HAL, OAuth2, json-schema to drive the hypermedia API using NodeJS, ES6, ES7. On a docker-container infrastructure running on Amazon Web Services. I also helped mentor other developers, and act as a technical lead.
In April 2017 Turnstyle got acquired by Yelp, and I subsequently moved to San Francisco in October.
Although my role hasn’t changed that much, I helpbed onboard a quickly growing development team, and working with the needs and requirements of a much larger corporation, including integrating our existing systems and culture with Yelp’s.
Co-Founder/CTO fruux, Germany + UK — 2011 - 2015
In December 2011 I went full-time with fruux, which was a bit of a side-project at the time. We got a seed investment round, and opened the door to our office. As the technical lead I’ve been responsible for the technical and product direction, as well as leading the team from a technical perspective. Aside from that I’ve also got my hands dirty in some marketing and sales, and basically just stepped in where needed.
As a programmer I helped develop their synchronization system for personal information such as calendars, contacts and files. I acted as a liaison for the CalConnect calendar and scheduling standard consortium.
Consulting, worldwide — 2003-today
I originally incorporated at age 17 at the Chamber of Commerce in the Netherlands. I’ve been a consultant and freelancer pretty much at any point in my career where there’s gaps between jobs.
I’ve had the opportunity to work in telecommunication, social media, group ware, advertising, broadcasting, financial service companies in Australia, Portugal, Canada and The Netherlands, and remotely worked for various other companies from North America, Europe and Asia.
Used many different technologies such PHP / Lamp stack, NodeJS, Lots of Javascript, AWS, Backbone, Golang, Sass/Less, or basically whatever tech the job called for.
Software engineer, Ibuildings, Utrecht, Netherlands — 2010-2011
In 2010 I started working for Ibuildings in the Netherlands as a senior software engineer. Ibuildings is a software development company based in The Netherlands and London, UK specializing in PHP and other web-related technologies. My role was primarily in leading development teams, training and development. I’ve worked here on scalability issues for nu.nl (the number one Dutch news site), designed Javascript/YUI3 based ‘fat’ javascript clients, (RESTful) Web-service development and in-house training around subjects such as web-services design, and a full-day javascript workshop.
Lead architect/owner, Filemobile, Toronto, Canada — 2006-2014
After working with Filemobile as a contractor, I took on the job as lead architect. Being the first person on the payroll, I was given the task of making both the application and business scalable by hiring and managing new engineers and putting development processes in place. For Filemobile, I developed a scalable social network and user-generated content whitelabel engine, working with Canada’s leading media brands such as CBC, CTV, Fox, TSN, CP24.
In this job I worked with PHP, complicated multi-master, MySQL setups (with geographic redundancy), Memcached, Amazon S3 and EC2 and I was responsible for developing a multi-core, multi-machine transcoding engine as well as leading the development team. Starting August 2009 I resigned as lead architect to continue my work as independent consultant, after that I was still involved as in an advisory role and owner.
In late 2015 the company was sold to NewZulu, an Australian-based media company.
Senior Web developer/partner, Collab, Utrecht, the Netherlands — 2004-2006
Together with Collab I’ve got a taste of many experimental innovative software, such as real-time, multi-user rich internet applications including web video chat and media conversion. Using technologies such as Flash Communication Server (now Flash Media Server) and FFMpeg. In these 3 years I’ve worked with Dutch media and internet companies, such as NOS, BNN, Telegraaf/Speurders.nl, EasyConcepts, Netmasters and UDC/Dancevalley.
Application developer/Sys admin, V/d Veer, Surhuisterveen, The Netherlands — 2003
Developed and implemented a car inventory and lease database. The Database was based on Interbase, the front-end was built using Borland Delphi. I got this job as an intern, and I was forced to jump in and learn many technologies that were new for me at the time, such as SQL.
Junior sys admin/Tech support, Microdesk, Rijswijk, The Netherlands — 2001
This job involved many system administrator tasks, such as working with hardware, installing and preparing massive amounts of desktop machines and occasionally getting coffee for the more senior people in the company.
Skills
Language
- English: advanced speaking/writing
- Dutch: advanced speaking/writing
- Frisian: advanced speaking
- German: basic speaking/writing
Technology
- Expert skills: PHP, MySQL, WebDAV, CalDAV, CardDAV, HTTP, Rest APIs, Node JS, Ecmascript 6/7, OAuth2, Javascript, Backbone.js, Atom, HTML5, CSS3, Less, Sass,YUI3, Debian and Ubuntu, Video Transcoding tools, CSS 3, Flash Video, Amazon S3 and EC2, Apache, Nginx.
- Novice skills: Squid, CakePHP, Make, Golang.
- Beginner skills: C, Bash programming, Java, Python, Ruby.
- Ancient skills: (Q/GW)Basic, Delphi, Interbase, Turbo Pascal, x86 assembler, Actionscript, Podcasting, AMF, Flash-PHP interaction using Flash Remoting, FMS/FCS-PHP integration, Flix Encoder, XUL, Wowza Media Server, Lighttpd.
Management
I’ve built and led several development teams, implemented development processes (where appropriate and keeps people happy). Teams consisting of people with various skills such as browser front-end developer, designers, Actionscript developers, DBA’s, Linux system administrators and backend-engineers. Experience in interpreting business requirements and communicating technical requirements.
Speaking
- FlashInTO 2007, Toronto, Video conversion with FFMpeg.
- Flash In The Can 2007, Toronto, Flash Video LiveCycle: From User To Delivery.
- PHPBenelux Meetup 2011, Amersfoort, Netherlands: Integrating WebDAV in PHP applications.
- Dutch PHP conference 2011 - Amsterdam, Netherlands: RESTful webservices.
- Dutch PHP conference 2012 - Amsterdam, Netherlands: Backbone.js.
- OwnCloud contributer conference 2015 - Berlin, Germany: sabre/dav and Promises & Generators.
- True North PHP 2015 - Toronto, Canada: Promises & Generators. (slides)
- PHP Meetup, September 2016 - Toronto, Canada: Go for PHP programmers. (slides )
- True North PHP 2016 - Toronto, Canada: Making CSS fun again with Sass. (slides).
- True North PHP 2016 - Toronto, Canada: Introducing sabre/dav.
- Midwest PHP 2016 - Minneapolis, USA: Promises and Generators. (slides)
Recognition
- Best developer of the year - Canadian New Media Awards 2008
Standards
- Member of the PHP Framework Interoperability Group (http://php-fig.org/). Contributor to various PHP standards.
- Member of CalConnect, the Calendaring & Scheduling Consortium. Currently working on several documents that hopefully will become IETF RFCs.
Other projects
Blogging
I’ve been blogging on and off since 2006. Here’s some of my favourites:
- The problems with embedding in REST today and how it might be solved with HTTP/2 (2017-04-03)
- REST is in the eye of the beholder (2016-07-26)
- PHP Sucks (2016-06-14)
- Save memory by switching to generators (2015-08-10)
- An XML library for PHP you may not hate. (2015-04-01)
- HTTP/2 finalized - a quick overview (2015-02-19)
- What's a link? (2015-02-03)
- Promises in PHP (2014-06-24)
- HTTP/1.1 just got a major update. (2014-06-07)
- On idempotence in HTTP (2013-11-01)
- New HTTP status codes (2012-05-04)
- My gripe with Prototype (2011-01-11)
- What happened to HTTP authentication? (2010-07-12)
- Guidelines for generating XML (2010-07-09)
- Filesystem encoding and PHP (2010-04-20)
- Indexing geo-data 3: In practice (2009-03-22)
- Indexing geo-data 2 : simple benchmark (2009-03-20)
- Indexing geo-data (2009-03-19)
- Site Security Policy (2008-06-06)
- Creating a Gopher server with PHP and InetD (2006-08-18)
Because of this, I’ve been published in both PHP Architect (a paper PHP magazine), and PHP Advent (now defunct series of articles).
sabre.io
Since 2007 I started working on an open source library that would be named sabre/dav. This project spawned a number of PHP libraries that are now widely in use for various purposes. The project site is http://sabre.io/. I’m still the lead maintainer for all of these projects.
Ketting
In 2016 I started a new open-source project called Ketting. This project is an opiniated REST client, written in Javascript for both server and client side.