David Verweij

About



With a background in interactive product and technology development, I have developed software amongst small teams for bespoke MVPs and large agile teams for enterprise applications and longstanding running services. I am creative, self-directed, resourceful, and analytical – favouring documentation and diagrams. I am a keen participator in project processes, such as agile planning and estimations, and – where appropriate – naturally take on a leading role ideally in a managerial role. I enjoy working on debugging, automation, optimisations, and quality control, in both work processes and coding. In addition, I engage and improve in company processes, such as technical interviews, CSR, and mentoring activities. My current tech stack specialises in NodeJS backend engineering for rest APIs and microservices on AWS – though am a quick learner and confident across various languages.

In my free time, I experiment with designing software, hardware and product design, and enjoy woodworking and DIY on my house, being outdoors and (board)games. Contact me on Github, LinkedIn, or Email.

Resume

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