Free Download • No Sign-up Required

Node.js Resume

The battle-tested resume format for Node.js engineers. Clean, performance-focused, and designed to pass the technical bars at top-tier firms like Coinbase and Dropbox.

98% ATS Score LaTeX Quality 50K+ Downloads
resume.pdf

Yuki Thompson

yuki.thompson@proton.me • +1 (842) 982-3248 • github.com/yukithompson • linkedin.com/in/yuki-thompson

Education

UC Berkeley May 2018
Bachelor of Science in Computer Science GPA: 3.88/4.0

Technical Skills

Languages: JavaScript (ES6+), TypeScript, Go, SQL (PostgreSQL), Bash, Python
Frameworks: Node.js, NestJS, Express, Fastify, Socket.io, Jest, TypeORM
Tools: Docker, Kubernetes, Redis, AWS (Lambda, ECS), RabbitMQ, Datadog, Terraform

Professional Experience

Senior Software Engineer (Backend) June 2021 – Present
Coinbase San Francisco, CA
  • Architected a high-throughput transaction processing engine using Node.js and Redis Streams, reducing p99 latency for order execution from 180ms to 42ms.
  • Led the transition from a monolithic Express API to a NestJS microservices architecture, decreasing deployment cycle times by 50% and improving team velocity across three squads.
  • Optimized memory usage in a data-intensive worker service by implementing Node.js streams for large JSON parsing, reducing heap consumption by 1.2GB and eliminating OOM errors during peak loads.
Software Engineer II July 2018 – May 2021
Dropbox San Francisco, CA
  • Built a real-time collaboration notification system using Node.js and WebSockets (Socket.io), supporting over 80,000 concurrent active connections with less than 100ms delivery delay.
  • Implemented a comprehensive distributed tracing strategy using OpenTelemetry across Node.js services, reducing the mean time to resolution (MTTR) for production incidents by 35%.

Projects

Distributed Job Scheduler TypeScript, Redis, BullMQ, Docker
  • Developed an open-source distributed task queue capable of handling 5,000 jobs per second with built-in retry logic and exponential backoff.
✓ ATS-Optimized

Benchmark Your Current Node.js Experience

Upload your current draft and see how your technical bullets compare against senior-level standards for backend roles.

Drop your resume here

or click to upload (PDF only, max 10MB)

We'll analyze your resume and show you how to improve it

Translate Asynchronous Logic Into Business Value

Stop listing tasks and start showing how your Node.js optimizations impacted the bottom line and system reliability.

❌ Vague/Generic

Responsible for maintaining the backend API and fixing bugs in Node.js.

✓ Impact-Focused

Resolved a critical event-loop blocking issue in the main Express API by offloading heavy computational tasks to Worker Threads, resulting in a 25% increase in request throughput.

Copied!

Why it works: It identifies a specific Node.js technical challenge (event-loop blocking) and the exact mechanism used to fix it (Worker Threads), with a measurable outcome.

❌ Task-Focused

Wrote unit tests for several Node.js modules using Jest.

✓ Results-Driven

Increased backend test coverage from 40% to 85% by implementing integration tests with Supertest and Jest, preventing at least 12 high-severity regressions in the last two quarters.

Copied!

Why it works: Numbers matter. Moving from 40% to 85% shows a commitment to quality, and linking it to 'prevented regressions' shows business awareness.

❌ No Metrics

Improved the performance of the database queries in our Node application.

✓ Quantified Achievement

Reduced database CPU utilization by 30% by refactoring TypeORM queries to use efficient indexing and removing N+1 query patterns in high-traffic endpoints.

Copied!

Why it works: It demonstrates a deep understanding of ORM pitfalls and provides a clear metric (30% CPU reduction) that translates to lower infrastructure costs.

❌ Passive Voice

A new microservice was developed by me for processing payments.

✓ Action-Oriented

Designed and deployed a Node.js payment gateway service that processed $2M+ in daily transactions with 99.99% uptime using a circuit-breaker pattern for third-party API resilience.

Copied!

Why it works: It uses strong action verbs and mentions a specific design pattern (circuit-breaker) which signals senior-level architectural knowledge.

Hiring Manager Insights: Node.js Roles

Practical answers for backend engineers looking to stand out in a competitive engineering market.

How should I show my Node.js performance expertise on a resume?

Avoid just saying you 'optimized' things. Mention specific tools like Chrome DevTools, clinic.js, or flamegraphs. Talk about how you managed the event loop, handled backpressure in streams, or optimized memory allocation. Senior engineers want to see that you understand the Node.js runtime, not just how to use a framework.

Is it worth listing Express if I'm using more modern frameworks like NestJS?

Yes, absolutely. Express is still the underlying foundation for much of the ecosystem. Listing both shows you have the foundational knowledge and the ability to work with modern, opinionated architectures. It also helps with ATS filtering for older but high-paying legacy codebases.

How do I handle the 'JavaScript vs TypeScript' debate on my resume?

If you are applying for professional Node.js roles in 2024, TypeScript should be front and center. Most serious engineering teams have moved to TS for backend services. Even if your current job is JS-heavy, highlight any TS migrations or personal projects to show you are ready for typed environments.

What kind of projects stand out for Node.js backend roles?

Skip the 'To-Do' apps. Build something that deals with concurrency or data scale. A custom CLI tool, a real-time chat server with WebSockets, or a distributed scraper shows you understand how Node handles asynchronous I/O, which is its primary selling point.

Should I mention my frontend skills on a Node.js resume?

Keep it brief. If you're applying for a backend role, spend 90% of your space on the server side—databases, caching, queues, and API design. Mentioning React or Vue is fine in a skills list, but don't let it distract from your backend impact bullets.

What is the biggest mistake you see on Node.js resumes?

The 'Fullstack Trap.' Many candidates list 20 different technologies but can't go deep on any. For a Node.js role, I want to see that you understand the 'fs' module, 'path' pitfalls, 'buffer' management, and how to write non-blocking code. Generic resumes that don't mention Node-specific concepts often get ignored.

Ready to Build Your Resume?

Use our AI-powered builder to create a Jake's Resume that stands out. Upload your existing resume and get an ATS-optimized version in seconds.

Build Your Resume Now

Free to start • No credit card required

Node.js Resume LaTeX Code

Copy and paste into Overleaf or your LaTeX editor

%-------------------------
% Node.js Resume
% LaTeX Resume Template - Jake's Resume Format
%-------------------------

\documentclass[letterpaper,11pt]{article}

\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage[hidelinks]{hyperref}
\usepackage{fancyhdr}
\usepackage[english]{babel}
\usepackage{tabularx}

\pagestyle{fancy}
\fancyhf{}
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

% Adjust margins
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}

\urlstyle{same}

\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}

% Sections formatting
\titleformat{\section}{
  \vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]

%-------------------------
% Custom commands
\newcommand{\resumeItem}[1]{
  \item\small{
    {#1 \vspace{-2pt}}
  }
}

\newcommand{\resumeSubheading}[4]{
  \vspace{-2pt}\item
    \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
      \textit{\small#3} & \textit{\small #4} \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeProjectHeading}[2]{
    \item
    \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
      \small#1 & #2 \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}}

\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}

\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}

%-------------------------------------------
%%%%%%  RESUME STARTS HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

%----------HEADING----------
\begin{center}
    \textbf{\Huge \scshape Yuki Thompson} \\ \vspace{1pt}
    \small yuki.thompson@proton.me $|$ +1 (842) 982-3248 $|$ github.com/yukithompson $|$ linkedin.com/in/yuki-thompson
\end{center}

%-----------EDUCATION-----------
\section{Education}
  \resumeSubHeadingListStart
    \resumeSubheading
      {UC Berkeley}{Location}
      {Bachelor of Science in Computer Science}{May 2018}
  \resumeSubHeadingListEnd

%-----------SKILLS-----------
\section{Technical Skills}
 \begin{itemize}[leftmargin=0.15in, label={}]
    \small{\item{
     \textbf{Languages}{: JavaScript (ES6+), TypeScript, Go, SQL (PostgreSQL), Bash, Python} \\
     \textbf{Frameworks}{: Node.js, NestJS, Express, Fastify, Socket.io, Jest, TypeORM} \\
     \textbf{Tools}{: Docker, Kubernetes, Redis, AWS (Lambda, ECS), RabbitMQ, Datadog, Terraform}
    }}
 \end{itemize}

%-----------EXPERIENCE-----------
\section{Professional Experience}
  \resumeSubHeadingListStart
    \resumeSubheading
      {Senior Software Engineer (Backend)}{June 2021 – Present}
      {Coinbase}{San Francisco, CA}
      \resumeItemListStart
        \resumeItem{Architected a high-throughput transaction processing engine using Node.js and Redis Streams, reducing p99 latency for order execution from 180ms to 42ms.}
        \resumeItem{Led the transition from a monolithic Express API to a NestJS microservices architecture, decreasing deployment cycle times by 50\% and improving team velocity across three squads.}
        \resumeItem{Optimized memory usage in a data-intensive worker service by implementing Node.js streams for large JSON parsing, reducing heap consumption by 1.2GB and eliminating OOM errors during peak loads.}
      \resumeItemListEnd

    \resumeSubheading
      {Software Engineer II}{July 2018 – May 2021}
      {Dropbox}{San Francisco, CA}
      \resumeItemListStart
        \resumeItem{Built a real-time collaboration notification system using Node.js and WebSockets (Socket.io), supporting over 80,000 concurrent active connections with less than 100ms delivery delay.}
        \resumeItem{Implemented a comprehensive distributed tracing strategy using OpenTelemetry across Node.js services, reducing the mean time to resolution (MTTR) for production incidents by 35\%.}
      \resumeItemListEnd
  \resumeSubHeadingListEnd

%-----------PROJECTS-----------
\section{Projects}
    \resumeSubHeadingListStart
      \resumeProjectHeading
          {\textbf{Distributed Job Scheduler} $|$ \emph{TypeScript, Redis, BullMQ, Docker}}{}
          \resumeItemListStart
            \resumeItem{Developed an open-source distributed task queue capable of handling 5,000 jobs per second with built-in retry logic and exponential backoff.}
          \resumeItemListEnd
    \resumeSubHeadingListEnd

%-------------------------------------------
\end{document}

Paste this code into Overleaf to compile

</> SWE Resume
Or continue with email