Nguyễn Đức An

Software Engineer | Excalidraw, Point and Frame

About me Opinion Engineering Blog Notes System Design Notes Coding Interview Archives

Break your expectation, read real signals, question the unconventional to seek adaptable truth

Coaching Skills

  • Fact about expectations - Charlie Munger
  • How to control and manipulate the decision
  • Write a ADR
  • Thinking of others - My missing piece
  • Kind of people
  • State a strong argument
  • System Design Structured
  • DSA Implementation Structured
  • Software Engineer Level Growth
  • How to be a player - Game Theory
  • How to coach others
  • Clarity values - what they need in others is what they miss in their childhood.
  • Signals - how you observe other with facts not assumptions
  • Control Assumptions - Based on signals, not your expectations
  • How to detect a sentence is lie or truth
  • Persuade Skills - Get them to do what you want
  • Buyers and Sellers - Understand the needs of the other party
  • Love Advices

Software Engineer Skills

  • Coding Skills: Latter solution is better than previous solution.
  • System Design: Design high-level solution + verified each requirement and enhanced questions and facts (metrics, current system).

How to Deal with Uncertain Problems

  • Telemetry First: Identify service dependencies and understand how services interact.
  • Explore Service Endpoints: Examine the HTTP and gRPC endpoints exposed by each service.
  • High-Level Thinking (Intuitive Curiosity): Understand the overall architecture and product vision from Figma designs and system design documents.
  • Explore the Flow: Trace the end-to-end request flow and identify the core functions within the codebase.
  • Testing: Run the application and test API endpoints to verify inputs, outputs, and expected behavior.
  • Coding: Optimize the implementation and perform thorough code reviews.
  • Monitoring: Add meaningful metrics, logs, and alerts to observe the health and performance of the feature.

Grill weaknesses

  • Meta thinking first: Draw high-level idea map before doing anything.
  • Structured Thinking: Order the actions.
  • Implementation Skills: Understand full flow, not only tickets.
  • Retain long-term knowledge: store facts, feedback, concepts, active retrieve it in long-term knowledge base.
  • Present for impact (teach, convince, motivate): stimulate to explain your thinking for other people follow Feynman Technique, 3-sentences rules for other needs, use body language and focus to main point to grab user attention.
  • Improve quality of outreach, connections: enhance outreach to open communicate with strangers, value connections, and make service for community.

Frame A Decision

  • Fact is what happening. Proposal comes with trade-offs and reasons.
  • Needs are about survival. Wants are about desires.
  • How to learn new thing: See it (mostly 70%). Do it (for high-execution required skills). Feedback it (be corrective feedback with insights)

Socratic Questions

My expectations 2026

CV / Resume

Grab Engineering - The Hugo evolution - Engineering Grab's unified, one-click data ingestion platform with Apache Flink

Here is my notes about the blog https://engineering.grab.com/one-click-data-ingestion-platform-with-apache-flink

engineering-blog-notes

July 13, 2026

Read More

ScyllaDB - Fastest write-heavy NoSQL Database, compare with Cassandra

Here are my notes after exploring ScyllaDB architecture and comparing it with Cassandra.

engineering-blog-notes

July 12, 2026

Read More

Grab Engineering - Scaling Grab's Data Lake - Our journey to Apache Iceberg adoption

Here is my notes about the blog https://engineering.grab.com/our-journey-to-apache-iceberg-adoption

engineering-blog-notes

July 12, 2026

Read More

Grab Engineering - Counting Service for User Event Tracking

Here is my notes about the blog of Grab for Counting Service

engineering-blog-notes

July 12, 2026

Read More

RocksDB - Embedded Persistent Key-Value Database

RocksDB is a high-performance embedded persistent key-value database originally developed by Facebook (Meta). It is optimized for high write throughput, low latency, and efficient SSD utilization.

engineering-blog-notes

July 12, 2026

Read More

Grab Engineering - Catwalk Gateway - Serving Machine Learning Models at Scale

Here is my notes about the blog https://engineering.grab.com/catwalk-serving-machine-learning-models-at-scale

engineering-blog-notes

July 12, 2026

Read More

Sidecar & Daemonset

Both Sidecars and DaemonSets are Kubernetes patterns for running supporting workloads, but they operate at different scopes and solve different problems.

engineering-blog-notes

July 12, 2026

Read More

Exploring Apache Flink for Stream Processing

Apache Flink is a distributed stream processing framework designed for high-throughput, low-latency, and stateful data processing.

engineering-blog-notes

July 12, 2026

Read More

HHVM - Why Facebook use PHP in backend side in global scale ?

In the era, where concurrency and high-throughput traffic applications are trend, multiple high-performance language: Java, Golang is out-perform choices due to it handle multi-threads better, Facebook still used PHP as main backend language, so why ?

engineering-blog-notes

November 05, 2025

Read More
😕 No items found.

Since Jan 2025, with motivation and courage to break my ego, be challenged and grow myself.