Category: Engineering Practice

16 posts

AI Can Write Code, But You Still Need to Know What a Program Is
Engineering Practice · Views

AI Can Write Code, But You Still Need to Know What a Program Is

The first article in Programmer Craft in the AI Era revisits program = algorithms + data structures, and explains why requirements must first become state, rules, complexity, and acceptance examples before a developer can know what to ask AI to build.

Do Not Let AI Guess Your Execution Model
Engineering Practice · Views

Do Not Let AI Guess Your Execution Model

The third article in Programmer Craft in the AI Era covers processes, threads, coroutines, event loops, and blocking calls, and explains why concurrency is not just wrapping code in async or adding more workers.

How Modules Talk to Each Other
Engineering Practice · Views

How Modules Talk to Each Other

The fourth article in Programmer Craft in the AI Era discusses function calls, HTTP/RPC, message queues, event streams, and shared databases. The point is not choosing a fashionable technology, but clarifying coupling, transactions, failure, and observability boundaries.

An API Is Not a URL; It Is a System Contract
Engineering Practice · Views

An API Is Not a URL; It Is a System Contract

The fifth article in Programmer Craft in the AI Era covers request and response schemas, error codes, idempotency, pagination, permissions, version compatibility, and contract tests. Before asking AI to write an API, write down the promise first.

A Database Is Not a Place to Dump JSON
Engineering Practice · Views

A Database Is Not a Place to Dump JSON

The sixth article in Programmer Craft in the AI Era covers table design, indexes, transaction boundaries, locks, slow queries, and migrations. A database is not a universal JSON box; it is the hardest business-constraint layer in a system.

Do Not Put Slow Work Inside the Request
Engineering Practice · Views

Do Not Put Slow Work Inside the Request

The seventh article in Programmer Craft in the AI Era covers caches, queues, and asynchronous jobs. A cache is not a magic accelerator, a queue is not a trash bin, and async jobs still need idempotency, retries, dead letters, batching, and backpressure.

High Concurrency Is Not Just Adding More Machines
Engineering Practice · Views

High Concurrency Is Not Just Adding More Machines

The eighth article in Programmer Craft in the AI Era covers connection pools, batching, rate limiting, degradation, hot spots, cascading failures, and capacity estimation. Concurrency is not a single coding trick; it is pressure design across the whole call chain.

Tests Are the Seatbelt for AI Coding
Engineering Practice · Views

Tests Are the Seatbelt for AI Coding

The ninth article in Programmer Craft in the AI Era explains how unit tests, integration tests, fixtures, contract tests, regression tests, and failure cases can constrain AI-generated code so the result is reproducible, reviewable, and maintainable.

When Systems Fail, You Need to See What Happened
Engineering Practice · Views

When Systems Fail, You Need to See What Happened

The tenth article in Programmer Craft in the AI Era explains how logs, metrics, traces, audit records, and product events form an observability boundary, so AI-generated services do not become black boxes.

Before Blaming AI-Written Code, Stabilize It
Engineering Practice · Views

Before Blaming AI-Written Code, Stabilize It

The eleventh article in Programmer Craft in the AI Era explains how to review, isolate, test, draw boundaries, delete code, and refactor in small steps so an AI prototype can become maintainable software.

What Should Programmers Still Practice in the AI Era?
Engineering Practice · Views

What Should Programmers Still Practice in the AI Era?

The twelfth and closing article in Programmer Craft in the AI Era returns to computer fundamentals, systems thinking, product judgment, communication, and collaboration, and discusses which abilities AI will amplify.

Think About Event Tracking Before the System Is Already Running
Engineering Practice · Views

Think About Event Tracking Before the System Is Already Running

A practical guide to service-side event tracking: why it matters, what to collect at each traffic stage, how frontend, backend, gateway, and queue events differ, and how to choose between PostgreSQL, MongoDB, and ClickHouse.

A/B Testing for API Services: From Rollout Switches to Trustworthy Experiments
Original Engineering Practice · Views

A/B Testing for API Services: From Rollout Switches to Trustworthy Experiments

A/B testing is not only for frontend pages. API services also need experiment discipline for ranking, throttling, provider selection, fallback logic, and cost control: stable bucketing, real exposure, cross-request attribution, guardrail metrics, and cleanup after the test ends.

MCP Needs Security Boundaries, Not Just More Tools
Engineering Practice · Views

MCP Needs Security Boundaries, Not Just More Tools

MCP makes tool integration more uniform, but once tools can read files, query databases, and send messages, security becomes a problem of permissions, identity, audit trails, data flow, and supply chain.

Workflow Automation Notes From Inside Cursor
Engineering Practice · Views

Workflow Automation Notes From Inside Cursor

A practical note on using Cursor, GitHub CLI, Lark CLI, tests, MCP browser checks, stats scripts, and small skills to automate everyday development workflow steps.