Topics
A map of the journal, not a pile of keywords
Ten pillars. Two hundred planned articles. Only reviewed writing is a page. Everything else stays in the queue so the architecture is visible without publishing empty posts.
Frontend
React
Hooks, rendering, composition, and the boundaries that keep product UIs operable.
2 published · 23 planned · 25 in the map
React · Next.js · TypeScript
Frontend
TypeScript / JavaScript
Language contracts, runtime behavior, and types that pay rent at system boundaries.
3 published · 22 planned · 25 in the map
TypeScript · JavaScript
Backend
Node.js / Backend
HTTP handlers, jobs, validation, and failure modes in Node services.
1 published · 19 planned · 20 in the map
Node.js · JavaScript · TypeScript
Backend
Java / Spring Boot
Service boundaries, transactions, and Spring Boot defaults that matter in production.
0 published · 25 planned · 25 in the map
Java · Spring Boot
Backend
PHP / Laravel
Laravel delivery patterns, PHP typing, queues, and the mistakes that show up under load.
0 published · 20 planned · 20 in the map
PHP · Laravel
Databases
SQL / PostgreSQL / MySQL
Indexes, plans, transactions, and the queries that decide whether a system stays fast.
1 published · 19 planned · 20 in the map
SQL · PostgreSQL · MySQL
Cloud
AWS / Cloud / DevOps
Lambda, queues, IAM, containers, and the operational details that turn diagrams into systems.
1 published · 19 planned · 20 in the map
AWS · AWS Lambda · Docker
AEM
Adobe Experience Manager
Authoring contracts, components, dispatcher, and enterprise CMS delivery.
1 published · 14 planned · 15 in the map
Adobe Experience Manager
Architecture
Software Engineering / System Design
Tradeoffs, interviews, and the design notes that keep teams aligned.
1 published · 19 planned · 20 in the map
System Design · Software Engineering
Engineering Notes
Al's Engineering Notes
Review, mentoring, runbooks, and how engineering work actually gets done.
0 published · 10 planned · 10 in the map
Software Engineering
Content map
Frontend
React
25 planned · 2 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| React Interview Questions, With the Reasoning published · interview | interview | mixed | react-hooks-mental-model, javascript-interview-questions, react-stale-closures |
| A Mental Model for React Hooks That Survives Production published | educational | intermediate | react-interview-questions, react-effects-vs-events, react-stale-closures |
| useEffect Dependencies: Fix the Warning Without Hiding the Bug planned | troubleshooting | intermediate | react-hooks-mental-model, react-effects-vs-events |
| React State vs Refs: What Should Trigger a Render planned | comparison | intermediate | react-hooks-mental-model, react-performance-when-to-memo |
| Composition Over Prop Drilling in Product UIs planned | architecture | intermediate | react-context-vs-props-vs-store, react-architecture-for-product-uis |
| The key Prop Is a Reconciliation Contract planned | educational | beginner | react-list-virtualization-when, react-interview-questions |
| When memo, useMemo, and useCallback Earn Their Keep planned | problem-solving | intermediate | react-bundle-size-and-code-splitting, react-list-virtualization-when |
| React Server Component Boundaries That Stay Honest planned | architecture | intermediate | react-suspense-data-fetching, react-architecture-for-product-uis |
| Error Boundaries That Fail a Widget, Not the Magazine planned | problem-solving | intermediate | react-architecture-for-product-uis, javascript-error-handling-patterns |
| Controlled vs Uncontrolled Forms in React planned | comparison | intermediate | react-state-vs-refs, backend-validation-at-the-edge |
| Context, Props, or a Store: Pick the Smallest Bus planned | architecture | intermediate | react-composition-over-prop-drilling, react-performance-when-to-memo |
| Concurrent React Features You Can Use Without a Rewrite planned | educational | intermediate | react-performance-when-to-memo, react-suspense-data-fetching |
| What to Test in a React UI (and What to Leave Alone) planned | educational | intermediate | react-architecture-for-product-uis, javascript-error-handling-patterns |
| Typing React Component Props Without Ceremony planned | educational | intermediate | typescript-api-contracts, typescript-discriminated-unions |
| When List Virtualization Is Worth the Complexity planned | problem-solving | intermediate | react-performance-when-to-memo, react-key-prop-reconciliation |
| Suspense for Data Fetching: The Boundary Is the Feature planned | architecture | intermediate | react-server-components-boundaries, react-error-boundaries-in-production |
| Designing Custom Hooks That Do One Job planned | architecture | intermediate | react-hooks-mental-model, react-composition-over-prop-drilling |
| Effects vs Events: Stop Putting Clicks in useEffect planned | educational | intermediate | react-hooks-mental-model, react-useeffect-dependencies |
| Accessible Interactive Widgets in React planned | educational | intermediate | react-portals-and-overlays, react-architecture-for-product-uis |
| React Bundle Size: Split the Route, Not the Atom planned | problem-solving | intermediate | react-performance-when-to-memo, react-server-components-boundaries |
| State Machines for UI That Has More Than Two Modes planned | architecture | intermediate | react-forms-controlled-uncontrolled, react-custom-hooks-design |
| Stale Closures in React, Diagnosed planned | troubleshooting | intermediate | react-hooks-mental-model, javascript-closures-in-production |
| Portals and Overlays Without Trapping Focus in the Wrong Tree planned | educational | intermediate | react-accessibility-interactive-widgets, react-error-boundaries-in-production |
| Strict Mode Double Rendering Is a Feature. Treat It Like One. planned | troubleshooting | beginner | react-hooks-mental-model, react-useeffect-dependencies |
| A Product UI Architecture That Stays Editable planned | architecture | senior | react-composition-over-prop-drilling, react-server-components-boundaries, react-testing-what-to-test |
Frontend
TypeScript / JavaScript
25 planned · 3 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| TypeScript Interview Questions, With the Reasoning published · interview | interview | mixed | javascript-interview-questions, typescript-api-contracts, typescript-unknown-vs-any |
| JavaScript Interview Questions, With the Reasoning published · interview | interview | mixed | typescript-interview-questions, javascript-event-loop-for-backend-devs, javascript-closures-in-production |
| TypeScript as an API Contract, Not a Costume published | architecture | intermediate | typescript-interview-questions, typescript-zod-at-the-edge, backend-validation-at-the-edge |
| unknown vs any: One Forces a Decision planned | comparison | beginner | typescript-narrowing-at-boundaries, typescript-interview-questions |
| Discriminated Unions for States That Cannot Be Two Things planned | educational | intermediate | react-state-machines-for-ui, typescript-narrowing-at-boundaries |
| Generics Without Turning the File Into a Puzzle planned | educational | intermediate | typescript-infer-and-conditional-types, typescript-utility-types-that-earn-rent |
| The Event Loop for People Who Also Write Servers planned | educational | intermediate | nodejs-cpu-bound-work, javascript-interview-questions |
| Closures in Production: Leaks, Stale Values, and Useful Privacy planned | educational | intermediate | react-stale-closures, javascript-memory-leaks-in-spas |
| Equality and Coercion: Write === and Still Know == planned | educational | beginner | javascript-interview-questions, javascript-this-binding-without-mythology |
| Narrow Types at the Boundary, Trust Them Inside planned | architecture | intermediate | typescript-api-contracts, typescript-zod-at-the-edge |
| Utility Types That Earn Rent: Pick, Omit, and Record planned | educational | intermediate | typescript-generics-without-overkill, typescript-interview-questions |
| Promises vs async/await: Same Machine, Different Readability planned | comparison | intermediate | javascript-event-loop-for-backend-devs, nodejs-error-first-and-async-errors |
| this Binding Without the Mythology planned | educational | intermediate | javascript-interview-questions, javascript-prototype-and-classes |
| Runtime Validation at the Edge (Zod or Equivalent) planned | architecture | intermediate | typescript-api-contracts, backend-validation-at-the-edge |
| ESM vs CommonJS: The Interop Bugs You Will Hit planned | troubleshooting | intermediate | nodejs-interview-questions, javascript-interview-questions |
| Migrating a JavaScript Service to strict TypeScript planned | problem-solving | senior | typescript-unknown-vs-any, typescript-narrowing-at-boundaries |
| Iterators and Generators When Streaming Is the Point planned | educational | intermediate | nodejs-streams-when-buffers-lie, javascript-event-loop-for-backend-devs |
| When to Write a Declaration File (and When to Fork the Types) planned | educational | intermediate | typescript-unknown-vs-any, supply-chain-security-is-runtime |
| JavaScript Memory Leaks in Long-Lived SPAs planned | troubleshooting | intermediate | react-custom-hooks-design, javascript-closures-in-production |
| Branded Types for IDs So You Stop Passing the Wrong UUID planned | architecture | intermediate | typescript-api-contracts, typescript-discriminated-unions |
| Error Handling Patterns That Leave a Trace planned | educational | intermediate | nodejs-error-first-and-async-errors, rest-api-versioning-without-chaos |
| infer and Conditional Types: Read Them Before You Write Them planned | educational | senior | typescript-generics-without-overkill, typescript-interview-questions |
| Debounce, Throttle, and requestAnimationFrame planned | problem-solving | intermediate | react-performance-when-to-memo, javascript-event-loop-for-backend-devs |
| TypeScript Enums vs String Unions planned | comparison | intermediate | typescript-discriminated-unions, typescript-interview-questions |
| Prototypes and Classes: The Same Object Model planned | educational | intermediate | javascript-this-binding-without-mythology, javascript-interview-questions |
Backend
Node.js / Backend
20 planned · 1 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| Node.js Interview Questions, With the Reasoning published · interview | interview | mixed | javascript-event-loop-for-backend-devs, nodejs-error-first-and-async-errors, lambda-failure-modes |
| Errors in Node: Callbacks, Rejections, and What You Swallow planned | educational | intermediate | javascript-error-handling-patterns, nodejs-interview-questions |
| Node Streams When the File Does Not Fit in Memory planned | educational | intermediate | file-uploads-in-node-safely, javascript-iterators-and-generators |
| One Node Process vs a Cluster: What You Are Actually Scaling planned | architecture | intermediate | nodejs-cpu-bound-work, nodejs-interview-questions |
| Express Middleware Order Is the Bug planned | troubleshooting | intermediate | backend-validation-at-the-edge, nodejs-interview-questions |
| REST API Versioning Without a Permanent v2 Graveyard planned | architecture | intermediate | typescript-api-contracts, pagination-cursor-vs-offset |
| Inbound Webhooks: Signatures, Retries, and Idempotency planned | architecture | intermediate | designing-idempotent-post-handlers, designing-webhooks-as-a-product |
| CPU-Bound Work in Node: Move It or Pay the Event Loop planned | problem-solving | intermediate | javascript-event-loop-for-backend-devs, nodejs-clustering-vs-one-process |
| Graceful Shutdown in Node: Finish the Request You Already Accepted planned | troubleshooting | intermediate | nodejs-timeouts-and-cancellation, connection-pooling |
| Config vs Secrets in Node Services planned | educational | intermediate | secrets-manager-vs-env, nodejs-logging-that-you-can-query |
| Cursor vs Offset Pagination planned | comparison | intermediate | pagination-and-indexes, rest-api-versioning-without-chaos |
| Validate at the Edge of the Service, Not in Every Helper planned | architecture | intermediate | typescript-zod-at-the-edge, typescript-api-contracts |
| Testing HTTP Handlers Without Mocking the Universe planned | educational | intermediate | backend-validation-at-the-edge, nodejs-interview-questions |
| File Uploads in Node Without Becoming a Free Disk planned | educational | intermediate | nodejs-streams-when-buffers-lie, php-security-file-uploads |
| Structured Logs You Can Query at 2 a.m. planned | educational | intermediate | cloudwatch-alarms-that-page, observability-three-signals |
| Background Jobs vs the Request Path planned | architecture | intermediate | laravel-queues-and-failed-jobs, designing-idempotent-post-handlers |
| Common Node Memory Leaks (Caches, Listeners, Buffers) planned | troubleshooting | intermediate | javascript-memory-leaks-in-spas, nodejs-streams-when-buffers-lie |
| Designing Idempotent POST Handlers planned | architecture | intermediate | webhook-design-retries-and-signatures, designing-for-idempotency |
| Timeouts and Cancellation in Node HTTP Clients planned | troubleshooting | intermediate | graceful-shutdown-in-node, api-gateway-timeouts |
| Request Context for Multi-Tenant Node Services planned | architecture | senior | multi-tenant-isolation, backend-validation-at-the-edge |
Backend
Java / Spring Boot
25 planned · 0 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| Spring Boot Interview Questions, With the Reasoning planned · interview | interview | mixed | java-interview-questions, spring-transactional-boundaries |
| Java Interview Questions, With the Reasoning planned · interview | interview | mixed | spring-boot-interview-questions, java-equals-hashcode-contracts |
| Spring Bean Scopes That Actually Matter planned | educational | intermediate | spring-boot-interview-questions, multi-tenant-request-context |
| Where @Transactional Should Sit (and Where It Silently Does Nothing) planned | troubleshooting | intermediate | transactions-isolation-levels, spring-data-n-plus-one |
| Spring REST Exception Handling That Stays Stable planned | educational | intermediate | javascript-error-handling-patterns, rest-api-versioning-without-chaos |
| Spring Data N+1: See It, Then Fetch Join or Redesign planned | troubleshooting | intermediate | jpa-entity-vs-domain, laravel-eloquent-n-plus-one |
| The Spring Security Filter Chain as a Product Decision planned | architecture | senior | authn-authz-boundaries, spring-boot-interview-questions |
| equals and hashCode: The Contract That Breaks HashMaps planned | educational | intermediate | java-interview-questions, jpa-entity-vs-domain |
| Optional as a Return Type, Not a Field Type planned | educational | intermediate | java-interview-questions, java-records-for-dtos |
| Spring Profiles and Config That Do Not Surprise Production planned | troubleshooting | intermediate | nodejs-env-config-and-secrets, secrets-manager-vs-env |
| Java Concurrency for Request-Scoped Services planned | educational | senior | java-memory-visibility, spring-async-and-executors |
| Spring Test Slices: @WebMvcTest vs the Full Context planned | educational | intermediate | nodejs-testing-http-handlers, spring-boot-interview-questions |
| Java Records for DTOs and Why Entities Are Not Records planned | educational | intermediate | jpa-entity-vs-domain, typescript-api-contracts |
| Spring Validation and Binding Errors That Reach the Client planned | educational | intermediate | backend-validation-at-the-edge, spring-rest-exception-handling |
| JPA Entities Are Not Your Domain Model (Usually) planned | architecture | senior | spring-data-n-plus-one, senior-java-service-boundaries |
| Spring Actuator: Expose Health, Not Your Internals planned | educational | intermediate | observability-three-signals, spring-security-filter-chain |
| GC Basics for People Who Run JVM Services planned | informational | intermediate | java-concurrency-for-web-services, java-interview-questions |
| Spring @Async and the Executor You Forgot to Name planned | troubleshooting | intermediate | java-concurrency-for-web-services, background-jobs-vs-request-path |
| Checked Exceptions at Service Boundaries planned | educational | intermediate | spring-rest-exception-handling, java-interview-questions |
| Fat JARs vs Layered Images in Spring Boot planned | comparison | intermediate | docker-multi-stage-builds, docker-interview-questions |
| Java Streams: When a for-loop Is the Senior Choice planned | comparison | intermediate | java-interview-questions, java-gc-basics-for-services |
| Spring Cache Pitfalls: Keys, Eviction, and Local vs Shared planned | troubleshooting | intermediate | caching-where-it-belongs, multi-tenant-isolation |
| Memory Visibility in Java Without a PhD planned | educational | senior | java-concurrency-for-web-services, java-interview-questions |
| OpenAPI Contracts in Spring: Generate or Write, Pick One Source planned | architecture | intermediate | typescript-api-contracts, rest-api-versioning-without-chaos |
| Senior-Level Java Service Boundaries planned | architecture | senior | jpa-entity-vs-domain, tradeoff-logs-not-diagrams |
Backend
PHP / Laravel
20 planned · 0 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| Laravel Interview Questions, With the Reasoning planned · interview | interview | mixed | php-interview-questions, laravel-eloquent-n-plus-one |
| PHP Interview Questions, With the Reasoning planned · interview | interview | mixed | laravel-interview-questions, php-type-system-in-practice |
| Eloquent N+1: with(), then Stop Querying in the View planned | troubleshooting | intermediate | spring-data-n-plus-one, laravel-interview-questions |
| Laravel Queues and Failed Jobs You Can Replay planned | architecture | intermediate | background-jobs-vs-request-path, laravel-horizon-when |
| The Laravel Container: Bindings That Keep Tests Honest planned | educational | intermediate | laravel-interview-questions, laravel-testing-http |
| PHP Types in Practice: Scalars, Unions, and the Boundary planned | educational | intermediate | php-interview-questions, laravel-validation-form-requests |
| Policies vs Gates: Put Authorization Next to the Model planned | comparison | intermediate | authn-authz-boundaries, laravel-interview-questions |
| Laravel Migrations the Expand/Contract Way planned | architecture | intermediate | migrations-without-downtime, laravel-eloquent-n-plus-one |
| Composer and Autoload: The Supply Chain You Install planned | educational | intermediate | supply-chain-security-is-runtime, php-interview-questions |
| Form Requests as the HTTP Contract planned | educational | intermediate | backend-validation-at-the-edge, laravel-api-resources |
| Laravel Events vs Jobs: Side Effects vs Work planned | comparison | intermediate | laravel-queues-and-failed-jobs, background-jobs-vs-request-path |
| PHP Sessions and CSRF for People Who Ship HTML Forms planned | educational | intermediate | laravel-policies-vs-gates, php-interview-questions |
| HTTP Tests in Laravel That Assert the Contract planned | educational | intermediate | nodejs-testing-http-handlers, laravel-interview-questions |
| config() vs env() After Bootstrap planned | troubleshooting | intermediate | nodejs-env-config-and-secrets, laravel-interview-questions |
| PHP Exceptions: What to Catch, What to Report planned | educational | intermediate | javascript-error-handling-patterns, php-interview-questions |
| API Resources as a Serialization Boundary planned | architecture | intermediate | typescript-api-contracts, laravel-validation-form-requests |
| When Laravel Horizon Is Worth Running planned | comparison | intermediate | laravel-queues-and-failed-jobs, observability-three-signals |
| PHP File Uploads: Names, Types, and Storage planned | educational | intermediate | file-uploads-in-node-safely, php-interview-questions |
| Laravel Multi-Tenancy: Database, Schema, or Row planned | architecture | senior | multi-tenant-isolation, multi-tenant-request-context |
| PHP Performance: OPcache First, Then the Query planned | problem-solving | intermediate | indexes-that-match-the-query, php-interview-questions |
Databases
SQL / PostgreSQL / MySQL
20 planned · 1 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| SQL Interview Questions, With the Reasoning published · interview | interview | mixed | postgresql-interview-questions, indexes-that-match-the-query, explain-plans-how-to-read |
| PostgreSQL Interview Questions, With the Reasoning planned · interview | interview | mixed | sql-interview-questions, postgres-jsonb-when |
| MySQL Interview Questions, With the Reasoning planned · interview | interview | mixed | sql-interview-questions, mysql-innodb-locks |
| Indexes That Match the Query, Not the Table planned | educational | intermediate | explain-plans-how-to-read, covering-indexes |
| How to Read an EXPLAIN Plan Without Guessing planned | educational | intermediate | indexes-that-match-the-query, sql-interview-questions |
| Transaction Isolation Levels in Plain Language planned | educational | intermediate | spring-transactional-boundaries, mysql-innodb-locks |
| PostgreSQL JSONB: When a Column Is a Document planned | comparison | intermediate | schema-design-for-events, postgresql-interview-questions |
| InnoDB Locks: Gap, Next-Key, and the Update That Waited planned | troubleshooting | senior | transactions-isolation-levels, mysql-interview-questions |
| Foreign Keys vs Application Invariants planned | architecture | intermediate | schema-design-for-events, sql-interview-questions |
| Schema Migrations Without Taking the Site Down planned | architecture | senior | laravel-migrations-expand-contract, indexes-that-match-the-query |
| Pagination That Uses an Index planned | problem-solving | intermediate | pagination-cursor-vs-offset, indexes-that-match-the-query |
| NULL and Three-Valued Logic: The Filter That Dropped Rows planned | educational | beginner | sql-interview-questions, sql-injection-still |
| Partial Indexes in PostgreSQL planned | educational | intermediate | indexes-that-match-the-query, postgres-jsonb-when |
| MySQL Charsets and Collations: The Equality Bug You Cannot See planned | troubleshooting | intermediate | mysql-interview-questions, sql-null-three-valued-logic |
| Covering Indexes: When the Index Is the Table planned | educational | intermediate | indexes-that-match-the-query, explain-plans-how-to-read |
| Window Functions for Rank, Running Totals, and "Latest Row" planned | educational | intermediate | sql-interview-questions, pagination-and-indexes |
| Connection Pooling: Size, Timeouts, and Serverless planned | troubleshooting | intermediate | lambda-failure-modes, vpc-and-lambda-cold-starts |
| Read Replicas and the Stale Read After Write planned | architecture | intermediate | consistency-vs-availability-product, connection-pooling |
| Schema Design When the Facts Are Events planned | architecture | senior | event-driven-vs-request-response, postgres-jsonb-when |
| SQL Injection Is Still a Parameter Problem planned | educational | beginner | sql-interview-questions, backend-validation-at-the-edge |
Cloud
AWS / Cloud / DevOps
20 planned · 1 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| AWS Interview Questions, With the Reasoning planned · interview | interview | mixed | lambda-failure-modes, iam-least-privilege-in-practice |
| Docker Interview Questions, With the Reasoning planned · interview | interview | mixed | docker-multi-stage-builds, container-image-supply-chain |
| AWS Lambda Failure Modes You Should Budget For published | troubleshooting | intermediate | aws-interview-questions, sqs-visibility-timeout, designing-idempotent-post-handlers |
| IAM Least Privilege in Practice planned | educational | intermediate | aws-interview-questions, secrets-manager-vs-env |
| SQS Visibility Timeout vs the Work Duration planned | troubleshooting | intermediate | lambda-failure-modes, queues-and-poison-messages |
| S3 Prefixes, Listing, and the Consistency You Can Rely On planned | informational | intermediate | aws-interview-questions, data-pipelines-backpressure |
| VPC ENIs and Lambda Cold Starts planned | troubleshooting | intermediate | lambda-failure-modes, connection-pooling |
| CloudWatch Alarms That Page a Human planned | educational | intermediate | observability-three-signals, capacity-and-slos |
| Docker Multi-Stage Builds That Keep Secrets Out of Layers planned | educational | intermediate | docker-interview-questions, container-image-supply-chain |
| ECS vs Lambda: Pick from the Latency and Ops Budget planned | comparison | intermediate | lambda-failure-modes, aws-interview-questions |
| When Step Functions Are the Orchestrator (and When They Are a Tax) planned | comparison | intermediate | background-jobs-vs-request-path, data-pipelines-backpressure |
| Secrets Manager vs Environment Variables planned | comparison | intermediate | iam-least-privilege-in-practice, nodejs-env-config-and-secrets |
| CI/CD for a Static Next.js Site Without Drama planned | educational | intermediate | blue-green-vs-flags, feature-flags-as-architecture |
| Terraform State and Blast Radius planned | architecture | senior | iam-least-privilege-in-practice, backup-restore-you-rehearsed |
| AWS Cost: The Query, the Log, and the NAT You Forgot planned | problem-solving | intermediate | lambda-failure-modes, s3-consistency-and-prefixes |
| Blue/Green vs Feature Flags planned | comparison | intermediate | feature-flags-as-architecture, cicd-for-static-next |
| Container Image Supply Chain: Base, Pin, Scan planned | educational | intermediate | docker-interview-questions, php-composer-and-autoload |
| API Gateway Timeouts vs Lambda Timeouts planned | troubleshooting | intermediate | lambda-failure-modes, nodejs-timeouts-and-cancellation |
| The Three Signals: Latency, Errors, Saturation planned | informational | intermediate | cloudwatch-alarms-that-page, capacity-and-slos |
| Backups You Have Restored at Least Once planned | educational | intermediate | terraform-state-and-blast-radius, what-i-put-in-a-runbook |
15 planned · 1 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| AEM Interview Questions, With the Reasoning planned · interview | interview | mixed | aem-author-developer-contract, aem-dispatcher-caching |
| The AEM Author–Developer Contract published | architecture | intermediate | aem-interview-questions, aem-touch-ui-dialogs, aem-reusable-components |
| Sling Models Without Hiding the Resource planned | educational | intermediate | aem-author-developer-contract, aem-component-versioning |
| Editable Templates: Policy vs Author Chaos planned | architecture | intermediate | aem-author-developer-contract, aem-multisite-msm |
| AEM Clientlibs and the Weight Authors Never See planned | problem-solving | intermediate | aem-dispatcher-caching, react-bundle-size-and-code-splitting |
| Dispatcher Caching: The Layer That Makes or Breaks AEM planned | troubleshooting | senior | aem-interview-questions, caching-where-it-belongs |
| Content Fragments vs Pages planned | comparison | intermediate | aem-author-developer-contract, aem-asset-renditions |
| OSGi Configs: Environment Differences Without Mystery planned | troubleshooting | intermediate | spring-profiles-and-config, aem-author-publish-topology |
| AEM Workflows: When Not to Automate a Human Step planned | comparison | intermediate | aem-interview-questions, aem-author-developer-contract |
| MSM and Multi-Site: Inheritance That Authors Understand planned | architecture | senior | aem-editable-templates, aem-content-fragments-vs-pages |
| Touch UI Dialogs Authors Can Finish planned | educational | intermediate | aem-author-developer-contract, aem-sling-models-without-magic |
| Query Builder vs SQL2 in AEM planned | comparison | intermediate | aem-dispatcher-caching, aem-interview-questions |
| Asset Renditions: Generate Once, Cache, Name Honestly planned | educational | intermediate | aem-clientlibs-performance, aem-content-fragments-vs-pages |
| Versioning AEM Components Without Breaking Authored Pages planned | architecture | intermediate | aem-author-developer-contract, aem-sling-models-without-magic |
| Author and Publish Topology in Plain Language planned | informational | intermediate | aem-dispatcher-caching, aem-interview-questions |
Architecture
Software Engineering / System Design
20 planned · 1 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| System Design Interview Questions, With the Reasoning published · interview | interview | mixed | senior-software-engineer-interview-questions, designing-for-idempotency, consistency-vs-availability-product |
| Senior Software Engineer Interview Questions planned · interview | interview | senior | system-design-interview-questions, how-i-review-a-pull-request, mentoring-without-taking-the-keyboard |
| Designing for Idempotency Across HTTP and Queues planned | architecture | intermediate | designing-idempotent-post-handlers, system-design-interview-questions |
| Rate Limiting Strategies: Token, Window, and Product planned | architecture | intermediate | capacity-and-slos, system-design-interview-questions |
| Caching: Put It Where the Invalidation Story Exists planned | architecture | intermediate | aem-dispatcher-caching, spring-caching-pitfalls |
| Consistency vs Availability Is a Product Sentence planned | architecture | senior | read-replicas-lag, system-design-interview-questions |
| Event-Driven vs Request/Response: Who Is Allowed to Wait planned | comparison | intermediate | schema-design-for-events, background-jobs-vs-request-path |
| API Gateway vs BFF: Aggregation Is a Product Surface planned | comparison | intermediate | rest-api-versioning-without-chaos, system-design-interview-questions |
| Multi-Tenant Isolation: Row, Schema, or Cluster planned | architecture | senior | laravel-multi-tenancy-patterns, multi-tenant-request-context |
| Observability as a Design Requirement planned | architecture | intermediate | observability-three-signals, capacity-and-slos |
| Feature Flags as Architecture, Not Leftover Ifs planned | architecture | intermediate | blue-green-vs-flags, how-i-review-a-pull-request |
| Backpressure in Data Pipelines planned | architecture | intermediate | sqs-visibility-timeout, queues-and-poison-messages |
| Authentication vs Authorization Boundaries planned | educational | intermediate | spring-security-filter-chain, laravel-policies-vs-gates |
| Search Indexes vs OLTP: Two Jobs, Two Systems planned | comparison | intermediate | indexes-that-match-the-query, system-design-interview-questions |
| Queues and Poison Messages planned | troubleshooting | intermediate | sqs-visibility-timeout, lambda-failure-modes |
| Outbound Webhooks as a Product planned | architecture | intermediate | webhook-design-retries-and-signatures, rate-limiting-strategies |
| Capacity and SLOs: The Number Before the Diagram planned | architecture | senior | observability-three-signals, system-design-interview-questions |
| Strangler Migrations That Ship Weekly planned | architecture | senior | typescript-strict-mode-migration, saying-no-to-a-rewrite |
| Documentation as a Design Artifact planned | informational | intermediate | writing-system-design-docs-people-read, what-i-put-in-a-runbook |
| Write the Tradeoff Log, Not Just the Diagram planned | informational | senior | documentation-as-a-design-artifact, system-design-interview-questions |
Engineering Notes
Al's Engineering Notes
10 planned · 0 published
| Article | Intent | Difficulty | Related |
|---|---|---|---|
| How I Review a Pull Request planned | informational | intermediate | senior-software-engineer-interview-questions, writing-system-design-docs-people-read |
| Writing System Design Docs People Actually Read planned | educational | intermediate | documentation-as-a-design-artifact, tradeoff-logs-not-diagrams |
| When to Stop Abstracting planned | informational | intermediate | saying-no-to-a-rewrite, how-i-review-a-pull-request |
| Debugging Production Without Guessing planned | problem-solving | intermediate | what-i-put-in-a-runbook, observability-three-signals |
| Mentoring Without Taking the Keyboard planned | informational | senior | senior-software-engineer-interview-questions, how-i-review-a-pull-request |
| Estimating Under Uncertainty planned | educational | intermediate | writing-system-design-docs-people-read, saying-no-to-a-rewrite |
| Saying No to a Rewrite (Most of the Time) planned | informational | senior | migration-strangler, when-to-stop-abstracting |
| On-Call That Does Not Burn People planned | informational | intermediate | what-i-put-in-a-runbook, cloudwatch-alarms-that-page |
| What I Put in a Runbook planned | educational | intermediate | debugging-production-without-guessing, on-call-that-does-not-burn-people |
| Building in Public Without Leaking Secrets planned | informational | intermediate | how-i-review-a-pull-request, documentation-as-a-design-artifact |