David Foulke

David Foulke

Full-Stack Engineer based in Seattle, WA

David is an experienced full-stack software engineer currently based in Seattle, WA. He has a Bachelor's degree in Computer Science from Hampden-Sydney College, a small, liberal arts college in Virginia. He has several years of experience working in an agile environment, has a strong understand of data structures and algorithms, and has experience working at all stages of the development lifecycle.

Highlights and Expertise

React icon

David's first exposure to React came in the spring of 2018 while working at Deloitte, when he was building a workforce planning and data visualization tool for a federal government client. The front end quickly outgrew its original architecture of HTML and jQuery, and David took it upon himself to find a more robust solution. He decided that was best-suited for this challenge, as its lightweight footprint allowed for a more gradual refactor process. David rewrote the HTML templates as JSX, and designed a Webpack configuration that allowed the back end to serve each page as a bundled React app, removing the need for a routing module and subsequent architecture redesign. Since then, David has deepened his knowledge of React at Microsoft, where he has spent the last 5+ years working on the Teams Web/Desktop client and delivered features such as Teams Live Events, Teams Webinars, and Teams Town Halls. While it's not the only tool in his front-end toolbox, React is David's go-to framework for new Web-based projects due to its flexibility and unopinionated nature.

Python icon

When David first began using Python in the fall of 2017, he was taken aback at the versatility and extensibility of the language, as well as by the breadth and resourcefulness of the developer community. Python offered David his first introduction to the world of MVC Web frameworks while at Deloitte, where he was tasked with building a bespoke, Web-based data visualization tool for a federal government client using the Django framework. David designed and wrote a flexible ETL system for a workforce planning application that leveraged Django's powerful ORM to churn through thousands of records at once and return reports specifically tailored to the user's request. At Microsoft, David has used Python to handle UI automation testing for the Teams client, and has also worked on a hackathon project to auto-generate data visualizations in Excel based on Microsoft Forms data. At home, David likes to use Python as a multi-purpose scripting language for building Web scrapers, basic Web APIs using Flask, and other small data projects.

TypeScript icon

David has been using TypeScript since the spring of 2019, when his project at Deloitte brought on a new manager who recommended the team rebuild their stack using Angular and NestJS. David's background of using strongly typed langugages in both academic and professional settings made the jump from vanilla JavaScript to TypeScript feel very natural. David's experience using TypeScript spans across both front- and back-end development, and he has spent the last 5+ years at Microsoft honing his TypeScript skills. TypeScript is now David's language of choice for new Web-based projects, and he has used TypeScript in a number of personal projects.

Microsoft Azure icon

David has been a part of several projects that utilize Microsoft Azure for various aspects of the application lifecycle. Most notably, David has integrated a number of enterprise applications with the organization's Azure Active Directory (now EntraID) system for single sign-on, and became known as an authority on authentication solutions among his circles at Deloitte. David has also helped create a CI/CD workflow using Docker and Azure DevOps to deploy to an Azure cloud service, as well as built an Azure DevOps pipeline to automatically run daily load tests for the Microsoft Teams Townhall feature.