ROBIN STEENEKEN

Senior Webdeveloper & Agile Enthusiast


My life goal is to help people, even if in small increments. IT is a (very cool) means to that end.

I am based in The Hague (The Netherlands) and have experience with working remote and managing an offshore team.

I have a broad technical interest and have performed these roles:

  • senior / lead developer
  • scrum master / agile coach
  • (technical) project manager
  • devops consultant

Besides tinkering with new technologies, I like boardgames, roleplaying games/fantasy and am a veggie foodie. I tend to binge-watch quite some series as well.

SKILLS

I'm mostly experienced with backend (PHP/MySQL/Yii or NodeJS) combined with basic frontend, although with my move to serverless I'm becoming increasingly proficient in fullstack.

Tech Proficiency
Backend & integrations
Frontend
Agile & Scrum
Server & DevOps
Communication

PROJECTS

In my 20+ years as a freelancer, I did a lot of projects.
Rather then listing them all, I have selected some higlights and combined comparable projects into a single entry.

Solarpanels Offer Tool (2022)

  Client:   Zonwatt
  Stack: Firebase, VueJS & Vuetify, nodeJS, Javascript
  Role: Developer

Custom system that allows Zonwatt to create offers for the placement and maintenance of solar panels. The system consists of an employee portal where the offers are configured, a customer portal for viewing and accepting the offers and some nodeJS microservices providing integrations with third party services for additional solar calculations, crm and invoicing.

Because it was clear from the start that the Domain Model was complicated as well as subject to future changes, a relational database was not suited. I decided to implement this project with Google Firebase to circumvent this issue.

Nohisto.com (2021 - 2022)

  Client:   3Shades
  Stack: PHP/MySQL, socket.IO, OAuth, LEMP HA setup
  Role: Tech & DevOps Consultant

Nohisto.com provides access control (e.g. for concerts, events, working sites) based on new disruptive technologies. I regularly do some tech consultancy for them, where I deliver proof of concepts that they then further integrate.

I have:

  • Created a system where tourniquets communicate with a central server using socket.IO
  • Build the onboarding and payment process for integrating with MollieConnect (splitFees) using OAuth
  • Set up an automated deployment pipeline for their webserver software
  • Set up a highly available, high-performance web- and databasecluster

MijnVriendenboekje.nl (2019 - 2021)

  Client:   Artizani
  Stack: PHP/MySQL, Yii2, Bootstrap, jQuery, nodeJS, Chromium
  Role: Developer

MyFriendbook creates customized books to memorize special occassions, like a marriage anniversary or when a collegue switches jobs. The bookowner invites participants, who all fill in a questionaire with personalized questions and add some photo's. The book is then printed and delivered to the happy endcustomer.

I was approached by Artizani to rebuild their elaborate and complex systems, because their 10 years of technical debt had become unmanageable. Due to the size of their codebase, we decided to keep the current data model as intact as possible. In phases I rebuilt all their features - all the while making sure that both old and new code worked seamlessly together. Another challenge was rewriting all the exceptions that the legacy code had in such a way that we would not loose any existing functionality, but that they would be more futureproof and easily extensible.

The new system was delivered in 2021. I still regularly work for this customer on new feature requests.

Team Lead Innovation (2017-2019)

  Client:   PTI
  Stack: Agile, NodeJS, MongoDB, PHP/MySQL
  Role: Team Lead Developer, Agile Evangelist, Project Manager

With as goal portfolio diversification a new IT department was created in 2017, called "Innovation". Task: built SaaS products for new, non-utility markets.

In partnership with IQ-Pass (acquired by Boels during the process), we built a new platform from scratch for access control to events and industrial sites. Due to the different types of customers, the system was highly customizable and consisted of a microservice architecture powered by Node/MongoDB. We provided both a web interface and a mobile (ReactNative) app. Also we provided proof of concepts for new access control systems, that were implemented on several customer sites.

Part of our "innovative" approach was to implement full-on scrum as well. I acted as scrum-master for this and eventually became more of an Agile Evangelist for our entire organisation. I handed over control on the IQ-Pass project and focused on training our organisation for Agile, while also doing project management on two new applications (one for Credit Management and another one for the planning and editing of all forms of customer communication, like letters/e-mail/sms etc).

After a total of twelve years working for PTI, in 2019 I decided it was time for a change and became a freelancer again.

Smart Metering Integrations (2016)

  Client:   PTI
  Stack: PHP/MySQL/WSO2 ESB/Yii/SOAP/REST
  Role: Integration Specialist, Developer

PTI processes meterreadings for almost all utility companies in The Netherlands. When the smart meter was introduced, I created several integrations that could retrieve both current and historical values for these smart meters. These values were then postprocessed and used for people moving in/out of a home and for VKO's (verbruikskostenoverzicht, information send to the owner of the meter). Some API's where direct, while others worked asynchronously (meaning possible wait time of up to 3 hours). Next to integration/implementation/documenting, I was also responsible for certifying our solutions.

Due to the high level of security for these API's, a PHP-only solution was not feasible: PHP's SOAP API layer is fairly limited. Instead I used a middleware layer (W2SO ESB) that we later - after changing requirements - replaced with a .NET webservice client.

I was also the architect for the SOAP/REST interfaces that we provided our clients with. These were built in India based on my specifications.

Team Lead PTI (2013-2017)

  Client:   PTI
  Stack: PHP/MySQL/Yii
  Role: Team Lead Developer

Having become the "inhouse freelancer", I became Team Lead Developer at PTI. My responsibilities included:

  • Managing a team of developers in our NL and India office, together with our Director IT & Operations. Trained developers technically and in procedures.
  • Overseeing the general architecture for our systems, both soft- and hardware. For hardware I worked closely together with our provider Nextpertise.
  • Responsible for all security-related issues and questions, including participating in ISO/Risk meetings and CERT team.
  • Representing PTI on project implementations and working together with our Sales department on European tenders.
  • Developing! I feel that to stay in touch with what is happening, one needs to keep on programming.

Futuro Customer Portal (2010-2012)

  Client:   PTI (on behalf of Dunea & Waterbedrijf Groningen)
  Stack: PHP/MySQL/SOAP
  Role: Integration Specialist, Developer

Utility companies Dunea and Waterbedrijf Groningen migrated to the SAP platform, necessitating a full rebuild of their customer service portals. I was tasked with handling the physical connectivity as well as the software integrations between several SAP systems and the new customer portal. This included the post-design and testing phase together with CapGemini. I also connected the portal to several API's by postcode.nl. Finally I was responsible for the implementation of ModSecurity - a web application firewall that detects and mitigates online attacks.

Special for this project was that I designed and implemented a queuing system that would make sure the customer portal had limited functionality when SAP went into maintenance mode and would then later retry all the requests to make sure SAP was updated. This approach was then used in several client services that PTI used for different projects.

Server management (2010 - 2022)

  Clients:   Several
  Stack: LEMP, bash
  Role: Administrator

Through my own company I provide premium hosting for customers who have special demands. For this I have managed several linux servers since 2010. My work here includes:

  • Server monitoring and security
  • General maintenance
  • E-mail deliverability
  • Automatic deployments

Several scheduling systems (2004 - 2010)

  Clients:   Aloysius College, Flatbox, PTI
  Stack: PHP/MySQL, Yii, jQuery
  Role: Medior Developer

I have developed several scheduling systems:

  • Aloysius College KWT: students could weekly choose extra teaching hours (keuzewerktijd) through an online interface. A scheduler would then divide them based on their preferences.
  • Flatbox Online TV & Radio: scheduling existing content for online tv & radio channels. The system generated XML output which would then be fed to Windows Media Server or Shoutcast Server.
  • PTI Work Order Manager: a SaaS webapplication that is mainly used by utility companies for customer appointments. Contains automised planning based on customer preferences and geographical regions, workordertool for the mechanics, several different reports and an enduser frontend. I started working on V2 of this project as medior developer, and then rose to senior and team-lead developer, becoming responsible for a team of developers in Bangalore (India). I then lead the team during 2 major versions, handing over control after some years to start on new projects.

Several administrative systems (2003 - 2010)

  Clients:   Ben Becker Papier & Verpakkingen, Delvaux Constructie, DigiCit, PTI
  Stack: PHP/MySQL, jQuery, Mollie integration
  Role: Medior Developer

I have developed several administrative systems, that had such special requirements that standard software would not work (and actually at this point in time there were little standard web-based solutions). E.g. for Ben Becker Papier & Verpakkingen we needed to take into account special rules for packaging taxes. For Delvaux we converted an old MS Access application that had a specific way of generating quotations with a lot of custom business rules to a web application.

Teacher Computer Science (2005 - 2007)

  Clients:   Aloysius College, Den Haag
  Stack: HTML/CSS, PHP/MySQL, Gamemaker
  Role: Medior Developer

After having done some IT projects for them, I was asked as a teacher computer science by my former secondary school. I developed a new curriculum including HTML/CSS, PHP/MySQL and Gamemaker to replace the outdated curriculum. I enjoyed teaching quite a lot, but it proved difficult to combine with my increasing responsibilities on IT projects for other customers. That is why I decided to quit this job.

EDUCATION & CERTIFICATES

  • AWS
    Cloud Practicioner Foundational (in progress)
  • Scrum.org
    Professional Scrum Product Owner I (2017)
  • Exin
    Agile Scrum Foundation (2017)
  • Nikta
    Bedrijfshulpverlener (2017)
  • Scrum.org
    Professional Scrum Master I (2016)
  • Certified Secure
    Several security certificates for websecurity specialist / administrator (2016)
  • Yellow Walnut
    Entrepeneurial Class: Ownership, Creativity, Proactivity within Organisations (2016)
  • Vrije Universiteit Amsterdam
    Informatiekunde (2003 - 2005, not finished)
  • Aloysius College
    Gymnasium - profiel Economie&Maatschappij (2003)
    Elective courses: Information Science, Management&Organisation, Latin