David Verweij

About (Academic)

See a non-academic version here

I am a creative technologist building digital and physical products, and always busy with user experience design, software and hardware. In my current academic position I specialise in a Research Through Design methodology. Using novel technologies and bespoke designs, I develop interactive research products and deploy them in-the-wild. Learning from these experienceable products allows the exploration of alternative futures. In particular, my interests lay in interaction with distributed data in everyday environments that support or relieve human cognition, in enjoyable, playful and less-utilitarian ways. In my current research, as a Doctoral Trainee, I deploy alternative approaches to explore data as a resource for family life. This contributes to the search to find family-inclusive ways to use, manage and enjoy data amongst the family at home, including children and elderly of all ages.

Parallel to this work, I experiment with designing software, hardware and product design, and enjoy woodworking, being outdoors and boardgames.

Contact me on Github, LinkedIn, or Email.

Resume (Academic)

Experience
NOW 03/23 Company Website Senior Software Engineer - Department for Work and Pension (DWP), UK

Dev lead and senior software engineer in an agile dev team (6 devs, 3 QA engineers, and 2 business analysts), tasked with the development and maintenance of a new cloud-native payments architecture through modern, scalable, and modular technologies. This is developed in line with DWP’s Strategic Reference Architecture (SRA) and the latest developments in the banking industry - in order “to ensure that people who get paid by DWP receive the right amount of money, at the right time into the right bank account”.

  • Design and implement restful APIs to accept, process and enhance payment requests, focusing on idempotency (including deduplication), resiliency and recoverability.
  • Accommodate and architect these services for throughput and scalability to handle DWP paying over 20 million people and over 250 billion British pounds annually.
  • Study and engage with “legacy” services to support and enable the modernisation of their financial systems without redeveloping their services.
  • Support and grow development team(s) in maturity through team building, working methods, redundancy in skills and responsibilities, collaborative exploration of best practices, and attention to personal development - regardless of job title.
  • Contribute to (company-wide) efforts to standardise quality and efficiency - including reusable CI/CD components.
  • Manage and represent a team of developers and the technical product, support management in estimating and prioritising upcoming work, maintain and argue for continuous improvements, and engage with architects, product managers and the wider business in the representation of the technical product.
02/23 03/22 Company Website Software Engineer - EPAM Systems, UK

Node.JS backend software engineer in a medium-sized agile dev team (8-12, 2 BE engineers), tasked with the redesign and development of two new, modernized, web applications for the customer’s enterprise lifecycle management platform (JavaScript, Typescript, NoSQL, Express.js, NPM, Jest, InversifyJS, Swagger, Gitlab, AWS Cloud).

  • Architect and implement data synchronisation infrastructure, designed to ensure data consistency (and redundancy) between two applications which edit the same data entities (AWS Cloud: Step Functions, Lambda, Cloudwatch, SQS, SNS, S3, DynamoDB).
  • Lead large-scale migrations (>20.000 entities) across development and production environments.
  • Develop REST API endpoints, challenged with tight coupling to enterprise software and asynchronous upload processes for mixed-media entities (Node.JS, Express.js, AWS S3, Lambda, SQS).
  • Maintain and expand search functionality (Elastic Search), adopt changing data schematics (re-indexing) and develop event-driven data streaming and transforming pipelines (DynamoDB streams, Lambda).
  • Implement and coordinate code-quality and application monitoring improvements, such as real-time pipeline alerts in Microsoft Teams (AWS CloudWatch, SNS), test-suite for serverless code (AWS Lambdas) using the existing CI/CD, as well as improvements of code-review processes.
02/22 01/21 Project Website Research Software Engineer - Open Lab, Computer Science, Newcastle University, UK

Python software engineer, researcher, and technical support with a leading role in a small dev/research team (3-4), developing stable MVPs, supporting a global digital health research project (48 research institutes and companies) into consumer products for health monitoring of chronic-disease patients (Python, FastAPI, Poetry, Docker, NoSQL).

  • Design, develop, and maintain the ETL data pipeline, extracting physical sensor data from third-party APIs (Apache Airflow, Python, Docker, MongoDB).
  • Develop API endpoints for within-project services, providing access to temporary patient device credentials, pipeline statuses and product user-manual (Python, FastAPI, Docker), and maintain the corresponding reverse proxy router to provide access through a singular address (Traefik, Docker).
  • Manage the user-centred design and development of the research’s clinical study management dashboard.
  • Evaluate and assess usability and user experience of digital health technologies using literature, expert interviews, and patient feedback.
01/21 10/17 Open Lab Profile Postdoctural Researcher and Developer - Computer Science, Newcastle University, UK

Javascript engineer and Computer Science researcher, individually developing complex and robust research prototypes for everyday families to use on their own at home (Javascript, HTML, C++, Google Firebase, NoSQL, Google DialogFlow).

  • Developed a Google Sheet extension to connect DIY smart displays with IFTTT.com: Phone Grown (JavaScript, HTML, CSS, NoSQL database)
  • Developed a cloud-based configurable data ‘physicalisation’ family toolkit: Domestic Widgets (C++, NodeJS, REST API)
  • Developed a conversation agent for the Google Home (DialogFlow language processing, FaaS, NoSQL)
09/20 02/18 Computer Science Teaching Assistant - School of Computing, Newcastle University, UK
  • Assist in Master and Bachelor CS courses: Advanced Programming, Information Systems, Programming and Data Structures, and an Object-Oriented Programming
12/16 9/16 Visiting Researcher - Edinburgh Napier University, UK
  • Developed an AR app for gesture interaction with AR headsets: SmoothMoves (Java, Processing, C++)
  • Developed an Android smartwatch-app for motion-tracking interaction: WaveTrace (Java, webserver)
08/16 05/14 Company LinkedIn Page Co-owner and STEM Course developer - BétaBoomen, Eindhoven, NL
  • Developed and taught high school STEM courses
Skills
Software Development -
  • Server-side development using serverless (FaaS, NodeJS) and static virtual-machines with containerisation (Docker)
  • Real-time database integrations (NoSQL), REST APIs (NodeJS, Python)
  • Exploratory data analysis and 2D and 3D visualisation (Jupyter Notebook, pandas, D3.js, matplotlib, plotly)
  • Confident programmer across various languages (Python, JavaScript, Java, C++), and a quick learner to adapt to project needs
  • Consistent coder that writes for collaboration
  • Familiar with CI/CD, experienced in version control (Git)
  • Functional front-end development (HTML, CSS, JavaScript)
Soft skills and traits -
  • Project management, leading meetings
  • Verbal and written reporting (technical, academic, and public)
  • Social, team player and collaborative, but also self-directed and enterprising
  • Critical mindset, future thinking
  • Giving and receiving constructive feedback
Education
now 10/17 Open Lab Profile PhD in Human-Computer Interaction - School of Computing, Newcastle University
07/17 09/15 MSc in Industrial Design - Eindhoven University of Technology
07/15 09/10 BSc in Industrial Design - Eindhoven University of Technology
02/15 02/14 Minor Science Education and Communication - Eindhoven School of Education
Management and Volunteering
now 2018 CHI SC Webpage Web Co-chair - ACM SIGCHI CHI Steering Committee
07/20 10/18 CHI 2020 Webpage Assistant to the General Conference Chairs & Design Chair - ACM SIGCHI CHI Conference 2020, Hawaii, USA
2019 2018 CHI PLAY 2019 Webpage Design Chair - ACM SIGCHI CHIPLAY Conference, Spain
11/13 09/12 Lucid Webpage Vice-Chairman & Commissioner of Education - Study Association Industrial Design, Eindhoven, NL
Invited Workshops and Talks
07/20 Workshop on Designing for the End of Life of IoT Objects - Virtual, during the 2020 DIS Conference

An academic workshop on the sustainable and life ‘after death’ for the increasing number of IoT devices

05/20 Workshop om Self Sustainability in Human Computer Interaction - Virtual, during the 2020 CHI Conference

An academic workshop on self-powered sustainable interfaces and interactions

2019 2018 Presentation on Interaction Design - Edinburgh Napier University, UK

Presented my research on Domestic Widgets (in 2019) and on WaveTrace (in 2018) as closing plenary for the BSc Interaction Design

05/18 Workshop on Designing Smart Objects as Embodied Agents in Everyday Life - Lorentz Center, Leiden, NL

5-day academic workshop on the future of smart domestic objects to help frame future work in interaction design

06/15 Workshop at BENQ International - Taiwan TECH University Taipei, Taiwan

9-day product design workshop on future BENQ products

Awards and Grants
03/19 Doctoral Consortium Honorarium - Main applicant | $ 300

Received as part of my acceptance to CHI 2019 Doctoral Consortium

04/18 PGR Research Impact Scheme - Main applicant | £ 300

Used to host my research at the UK Maker Faire 2018 in Newcastle

09/18 Design United Demonstrator Grant - Co-applicant | € 5.000 | Ref. C2E1707

Used to translate the WaveTrace research project into a consumer product prototype

09/17 ACM Student Travel Grant - Main applicant | $ 1.370 | SSTG-May2017 #130

Used for travel and accommodation for ISS 2017