Nguyễn Đức An

Software Engineer, Philosophy & Psychology Interest

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

Grill your weaknesses, be an ultra-learner
Ref: Ultra-learning, Scott H. Young

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.

Principles

  • 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)

CV / Resume

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, welcome feedbacks and grow myself.