# Jake Dawkins

Staff Software Engineer · Valencia, Spain

Status: Not looking for new roles right now.

- Website: https://jakedawkins.com
- GitHub: https://github.com/jakedawkins
- LinkedIn: https://www.linkedin.com/in/jakedawkins
- CV (HTML): https://jakedawkins.com/cv/

## Summary

I'm a curious software engineer, with experience across the stack. I've worked with React and GraphQL-based products for much of my career, but I've also built editor extensions and CLI tools for a broad audience.

I have a passion for maintainable and accessible software. I have a strong foundation with testing methodologies, and I have experience writing and speaking publicly on software best practices.

I'm a learner and a teacher, and I love what I do. I value empathetic, diverse, and cross-functional teams.

## Highlights

- **90%** decrease in user load times after rebuilding an enterprise product
- **90%+** minimum test coverage from a unit and e2e testing strategy
- **500+** commits to Apollo open source developer tools
- **CPACC** IAAP Certified Professional in Accessibility Core Competencies

## Experience

### Homeaglow (3 yr 8 mo)

**Staff Software Engineer** · Jul 2024 – Present (2 yr 3 mo) · New York, NY

**Senior Software Engineer** · Feb 2023 – Jul 2024 (1 yr 6 mo) · New York, NY

### Carbon Health

**Senior Product Engineer** · May 2021 – Jan 2023 (1 yr 9 mo)

- Led efforts to rebuild legacy enterprise product with modern tooling (React Native Web, Next.js, TypeScript, Tailwind CSS, Apollo Client).
  - Evidence: [Carbon Health's Resilient Enterprise Frontend Application](https://jakedawkins.com/blog/carbon-healths-resilient-enterprise-frontend-application/) (How the rebuild was engineered for speed and resilience.)
- Set up an interface system used across all major applications and teams at the company.
- Decreased user load times by 90% with the new product.
- Set standards for modern front-end architecture for the broader organization.
  - Evidence: [React Style Guide](https://jakedawkins.com/blog/react-style-guide/) (Conventions for modular, composable, testable React components.)
- Coordinated with product teams to set deadlines and roadmaps.
- Developed contribution guidelines and schema design documents for inter-team collaboration to a shared GraphQL service.
  - Evidence: [GraphQL Style Guide](https://jakedawkins.com/blog/graphql-style.guide/) (Originally written for Carbon Health's data graph.)
  - Evidence: [Feature Flags with React & GraphQL](https://jakedawkins.com/blog/feature-flags-with-react-graphql/)
- Designed and implemented unit & e2e testing strategy, attaining a minimum of 90% test coverage.
  - Evidence: [Testing in the enterprise rebuild](https://jakedawkins.com/blog/carbon-healths-resilient-enterprise-frontend-application/) (Includes the Cypress end-to-end setup.)

Tools: React Native Web, Next.js, TypeScript, Tailwind CSS, Apollo Client, GraphQL

### Apollo GraphQL (3 yr 2 mo)

**Open Source Engineer** · 2019 – May 2021 · Remote

- Led initiative to build a new CLI for Apollo's main product line using Rust.
  - Evidence: [rover on GitHub (168 commits)](https://github.com/apollographql/rover/commits?author=JakeDawkins) (Rover, the Rust CLI for Apollo's product line.)
  - Evidence: [Getting Acquainted with Rust](https://jakedawkins.com/blog/learing-rust/) (Why Rust fit Apollo's CLI toolchain.)
- Assisted in designing and building Apollo Federation's composition algorithm and supporting tests.
  - Evidence: [federation on GitHub (40 commits)](https://github.com/apollographql/federation/commits?author=JakeDawkins) (Apollo Federation.)
- Coordinated features with multiple teams and product roadmaps to ensure a smooth rollout across teams.
- Led experimentation and proposal of a new language (Rust), which now has a growing influence in the company.
  - Evidence: [Unwrap and Expect in Rust](https://jakedawkins.com/blog/unwrap-and-expect-in-rust/)
- Maintained open-source developer tools such as the Apollo CLI and VS Code editor extensions.
  - Evidence: [apollo-tooling on GitHub (131 commits)](https://github.com/apollographql/apollo-tooling/commits?author=JakeDawkins) (The Apollo CLI and language server.)
  - Evidence: [vscode-graphql on GitHub (131 commits)](https://github.com/apollographql/vscode-graphql/commits?author=JakeDawkins) (The Apollo GraphQL VS Code extension.)
- Engaged with the community regularly for technical support, feature requests, and guidance on best-practices.
- Communicated and taught on tooling through blog posts, conference talks, and internal demos.
  - Evidence: [Open Source Software From My Eyes](https://jakedawkins.com/blog/open-source-from-my-eyes/) (Guest lecture at Clemson, 2021.)
  - Evidence: [All talks](https://jakedawkins.com/talks/)

**Apollo Architect** · Apr 2018 – 2019 · New York, NY

- Led frontend & backend architecture reviews for customers.
- Wrote extensive documentation and technical guides.
  - Evidence: [Authorization in GraphQL](https://www.apollographql.com/blog/authorization-in-graphql) (Apollo blog, 2018.)
- Led training sessions and workshops for GraphQL and React.
- Collaborated with engineers inside & outside of Apollo to develop best practices documentation for using GraphQL in production.
- Spoke at conferences and meetups about GraphQL.
  - Evidence: [Testing GraphQL (GraphQL Summit 2018)](https://www.youtube.com/watch?v=loA3FwbVt90&t=39s)
  - Evidence: [A Hands-On Look at Apollo GraphQL (Apollo Day 2018)](https://www.youtube.com/watch?v=bLP0DVS_k9c&index=5&list=PLpi1lPB6opQyY4QPskD20AULj7q6xREm3)
- Maintained multiple Apollo open source projects.

Tools: Rust, TypeScript, Node.js, GraphQL, Apollo Federation, VS Code API

### Major League Soccer

**Lead Engineer, Mobile** · Jul 2017 – Apr 2018 (10 mo) · New York, NY

- Built Android and iOS native apps using React Native.
- Built and maintained GraphQL API with Apollo-Server.
- Mentored junior engineers in their first engineering role.
- Set up type systems and unit testing.
- Managed project timeline and development process.
- Organized weekly team teaching sessions on various technical topics.

Tools: React Native, GraphQL, Apollo Server

### NewSpring (5 yr 2 mo)

**Web Developer** · May 2016 – Jul 2017 (1 yr 3 mo) · Anderson, SC

- Developed web and native mobile applications using React, Redux and React-Apollo.
- Built and maintained GraphQL server to aggregate data from MSSQL, MongoDB, and MySQL in Node.js.
- Managed a MSSQL database which tracked financial data and personal information across the organization.
- Unit tested projects using Jest and Enzyme.
  - Evidence: [More Testable React Components](https://jakedawkins.com/blog/more-testable-react-components/)
- Implemented static typing for JavaScript in Flow.

**Digital Media Content Coordinator** · Jun 2012 – May 2016 (4 yr)

- Managed an archive of digital content ranging 15 years.
- Developed automation and delivery pipeline workflows to handle audio and video encoding and delivery.
- Edited and produced video content for this archive from many weekly live events.
- Operated professional level broadcast equipment and cameras.
- Wrote training documentation to teach volunteers on the equipment.
- Led a volunteer team of approximately 100 people in live video positions.
- Received and handled requests for content across the organization.

Tools: React, Redux, React-Apollo, Node.js, GraphQL, Flow, Jest

## Skills

- **Frontend:** React, React Native, Next.js, TypeScript, Tailwind CSS, Flow
- **APIs & data:** GraphQL, Apollo Client & Server, Apollo Federation, Node.js, MSSQL, MongoDB, MySQL
- **Practice:** Web accessibility (W3C), Testing strategy, Rust & CLI tooling, Mentoring, Writing & speaking

## Certifications

- Certified Professional in Accessibility Core Competencies (CPACC), IAAP. Valid through Dec 2026.

## Education

- Clemson University, B.S. Computer Science, 2012 – 2016. Dean's List.

## Talks and appearances

- [Open Source Software From My Eyes](https://jakedawkins.com/files/oss-presentation.pdf), Clemson University, 2021-02-28. The people, incentives, and responsibilities behind open source projects, and how to get involved.
- [Testing GraphQL](https://www.youtube.com/watch?v=loA3FwbVt90&t=39s), GraphQL Summit 2018, 2018-10-08. Teams that adopt GraphQL see it become a powerful, yet critical part of how their applications work. The schemas that power these apps act as an important agreement between servers and clients. So how do you support such an important piece of infrastructure? With tests of course! This talk is a deep dive into how to test the Apollo Platform, giving you the security you need to go into production.
- [A Hands-On Look at Apollo GraphQL](https://www.youtube.com/watch?v=bLP0DVS_k9c&index=5&list=PLpi1lPB6opQyY4QPskD20AULj7q6xREm3), Apollo Day, 2018-05-31. A practical walkthrough of getting up and running with Apollo GraphQL, including using the newly released Apollo Server 2.0.
- [State Management with Apollo](https://graphqlradio.com/episodes/ep-12-state-management-with-apollo-w-jake-dawkins), GraphQL Radio, Episode 12, 2018-01-24. My work at MLS, and how to use Apollo's new apollo-link-state library for state management in React applications.

## Projects

- [Trample](https://playtrample.com) (Shipped): How many words can you make before you get trampled? A daily word game. No logins, no sign-ups, no ads. A new word and a new chance every day! Built with Next.js.
- [Stitch](https://stitchjournal.app) (Shipped): An interstitial journal: a running log of your day, kept moment by moment. Capture transitions on the Timeline, park stray thoughts in Notes, and export everything as Markdown. Private by default; nothing leaves your browser.
- [Trek](https://letstrek.app) (Backburner): Your place for your places. Make lists. Save places. Get help from friends. Whether planning a vacation, or curating a list of your favorite hometown spots, Trek is your place. Built with Python, Django, Strawberry GraphQL, Apollo Client, React Native, Expo.
- [My Next.js/React/GraphQL App Template](https://github.com/JakeDawkins/next-ts-apollo-template) (Shipped): My personal template for bootstrapping new React projects. Built with Next.js, React, GraphQL.
