GetHired.dev / library532 published guides

Engineering guides

Backend systems, Node.js, TypeScript, AI coding, fintech infrastructure, and engineering career proof.

21 topics5 core tracks1 author, building in public
Back to engineering guides

Latest posts

Page 15 of 18
Guide

React performance basics: memo, useMemo, and when not to care

A practical guide to React performance tools without overusing memoization before measuring the actual problem.

Advice

Form validation in React: client checks vs server checks

How to split form validation between React client UI and server-side checks without trusting the browser too much.

Guide

Server actions vs API routes in Next.js: when to use each

A practical comparison of Next.js server actions and API routes for forms, mutations, external clients, and backend boundaries.

Guide

React hydration errors: how to debug them without panic

Why React hydration errors happen in server-rendered apps and how to debug mismatches between server HTML and browser render.

Guide

React useEffect mistakes beginners keep making

Common React useEffect mistakes, including derived state, missing dependencies, unnecessary fetching, and cleanup bugs.

Guide

Next.js caching explained: revalidate, no-store, and stale data

How to think about Next.js caching, revalidation, no-store, and stale data without memorizing every edge case.

Guide

Next.js App Router data fetching mistakes beginners make

Common App Router data fetching mistakes in Next.js, including client fetching, caching confusion, and loading states.

Guide

React Server Components explained without the hype

A plain-English explanation of React Server Components, what runs on the server, what runs in the browser, and why it matters.

Guide

Cursor pagination vs offset pagination for APIs

A practical comparison of cursor pagination and offset pagination for backend APIs, including performance and user experience.

Advice

PostgreSQL indexes explained for backend developers

How PostgreSQL indexes speed up queries, when they hurt writes, and how backend developers should think about them.

Advice

Database transactions explained for backend developers

A practical explanation of database transactions, atomicity, rollbacks, isolation, and when backend code needs them.

Guide

Redis caching mistakes Node.js developers keep making

Common Redis caching mistakes in Node.js apps, including stale data, missing TTLs, cache stampedes, and unsafe keys.

Deep guide

Queue dead-letter pattern in Node.js: what to do with failed jobs

Design a Node.js dead-letter workflow with bounded retries, useful failure records, replay controls, idempotent workers, alerts, and safe operator recovery.

Guide

Request ID logging in Node.js: debug production without guessing

How request IDs connect logs across routes, services, queues, and errors in a Node.js backend.

Advice

API error response format for Node.js apps

How to design API error responses that are consistent, debuggable, and safe for frontend teams and users.

Guide

Retry and backoff patterns in Node.js: avoid making outages worse

How to use retries, exponential backoff, jitter, and max attempts in Node.js without creating duplicate side effects.

Deep guide

Webhook signature verification in Node.js: the part tutorials skip

Verify webhook signatures in Node.js without corrupting the raw body, avoid timing leaks, reject stale deliveries, and process valid events idempotently.

Deep guide

Rate limiting in Node.js with Redis: a practical guide

Build an atomic Redis rate limiter for Node.js, choose useful identities and limits, handle proxy IPs, and decide what happens when Redis is unavailable.

Guide

JWT vs sessions for Node.js apps: which auth should you choose?

A practical comparison of JWTs and server sessions for Node.js authentication, including security, revocation, and frontend needs.

Deep guide

How to structure a Node.js backend project without overengineering

A practical Node.js backend folder structure that keeps routes, services, repositories, jobs, and config understandable.

Guide

How to migrate a JavaScript project to TypeScript safely

A step-by-step migration plan for moving a JavaScript project to TypeScript without stopping feature work.

Advice

noUncheckedIndexedAccess explained: why arrays suddenly look unsafe

What noUncheckedIndexedAccess does in TypeScript, why it creates more undefined checks, and when it is worth enabling.

Guide

TypeScript generics without confusion: a practical mental model

A simple way to understand TypeScript generics using arrays, API responses, reusable helpers, and constraints.

Guide

Zod validation at API boundaries in TypeScript

How to use schema validation at API boundaries so TypeScript types match real runtime data.

Guide

How to type and validate environment variables in Node.js

Validate Node.js environment variables once at startup and expose a typed TypeScript config, with Zod and dependency-free patterns plus test examples.

Guide

Type guards in TypeScript: when validation becomes readable

How to write useful TypeScript type guards for unknown data without turning your code into unreadable type tricks.

Guide

Discriminated unions in TypeScript explained with API states

How discriminated unions make loading, success, error, and empty states easier to model in TypeScript.

Guide

unknown vs any in TypeScript: the difference that prevents bugs

Why unknown is safer than any, how to narrow unknown values, and where any is still acceptable in TypeScript projects.

Guide

TypeScript satisfies operator explained with practical examples

A clear explanation of the TypeScript satisfies operator, when it is better than type annotations, and how it helps config objects.

Guide

TypeScript path aliases explained: baseUrl, paths, and runtime bugs

How TypeScript path aliases work, why they can fail at runtime, and how to set them up without confusing your bundler or Node.js.