David Xiang
  • About
  • Posts
    • Recent
    • Software
      • Technology
      • Management
    • Life
  • Software Developer Life
    • Introduction
    • Buy on Amazon
  • YouTube
David Xiang
  • About
  • Posts
    • Recent
    • Software
      • Technology
      • Management
    • Life
  • Software Developer Life
    • Introduction
    • Buy on Amazon
  • YouTube
Author

dxiang

dxiang

  • Communication For Leaders — Be Generous

    by dxiang 2021-09-20
    2021-09-20

    As a leader, you may have grown accustomed to a variety of conveniences when it comes to communication. You rarely get interrupted during meetings, your ad hoc Slack messages receive prompt responses, and your under-researched opinions influence people more than they really should. Unsurprisingly, not everyone enjoys these conveniences. As…

  • Software Messaging Patterns — Queues vs. Publish/Subscribe (Pub/Sub)

    by dxiang 2021-08-22
    2021-08-22

    This post’s goal is to provide you with a deeper intuition behind two of the most common software messaging patterns—queues vs. pub/sub. This is a deep topic which deserves thoughtful attention when designing software. This article is structured in three parts: Develop an intuition for messaging, queues, and pub-sub through…

  • 20 Micro-Habits Of High-Impact Software Engineers

    by dxiang 2021-07-18
    2021-07-18

    “The 25 Micro-Habits of High-Impact Managers” is a wonderful article highlighting wisdom from various managers across various industries. The article also reinforces an important universal idea—the details always matter. I subscribe to this idea and believe it can be easily re-applied to individual contribution. At any given company, the criteria…

  • 6-Step Guide For Software Engineering Decision-Making

    by dxiang 2021-06-16
    2021-06-16

    Software engineering decision-making is a stressful and time-consuming process. When the stakes are high, you will be met with opinionated programmers, insurmountable organizational constraints, and unfortunate baggage from old projects. Consensus is difficult. In a previous post, “Staff Software Engineer Responsibilities“, I mention that the act of “Transforming Competing Opinions…

  • What Is A Runtime Environment?

    by dxiang 2021-02-26
    2021-02-26

    “Runtime” and “Runtime Environment” are some of the most overloaded terms in software development. It’s confusing for everyone; this word means many different things in many different contexts. This post’s goal is to provide you with an intuition behind the many use-cases of “runtime.”

  • Software Engineering Culture Metrics

    by dxiang 2021-02-10
    2021-02-10

    Company culture. Extremely important, impossible to define. Impossible to define doesn’t mean impossible to understand. A surface-level understanding of culture is available via Glassdoor and company onboarding documents. However, a deep understanding of culture is only available via experience. This article focuses on a set of values often associated with…

  • Staff Software Engineer Responsibilities

    by dxiang 2021-01-19
    2021-01-19

    [October 10, 2021] If you enjoy this article, check out my new post on this topic: Staff Software Engineer Responsibilities — Align With Authority. The path of the Staff Software Engineer represents the career progression of a technologist. Senior Engineer leads to Staff Engineer which leads to Principal Engineer which hopefully leads…

  • Kafka As A Database? Yes Or No

    by dxiang 2021-01-10
    2021-01-10

    I recently read through a Hacker News thread discussing the article “Kafka Is Not A Database”, by Arjun Narayan and George Fraser. The opinions behind this topic are fascinating and I enjoyed sifting through comments from both sides of the table. For the purposes of this post, I’ve labeled these two broad…

  • Software Engineer Vs Programmer

    by dxiang 2020-12-31
    2020-12-31

    The difference between the titles Software Engineer vs Programmer vs Hacker vs {other_coding_title} is rooted in a person’s ideals. This difference is succinctly summarized in the wonderful article 3 Tribes of Programming, where the author buckets programmers into three distinct “tribes”: You are a poet and a mathematician. Programming is…

  • The Debugger’s Mindset

    by dxiang 2020-08-18
    2020-08-18

    Debugging is a critical skill. More important than the skill is the mindset. The debugger’s mindset is the attitude that you must always understand the why behind a problem; any ambiguities or unknowns are unacceptable. This mindset has the potential to carry you from debugging small functions to solving difficult…

Load More Posts

About Me

About Me

Hello!

My name is David Xiang. I am a software developer based in New York City.

Search

Keep in touch

Facebook Twitter Instagram Linkedin Youtube Email

Categories

  • Life (5)
  • Management (16)
  • Software (19)
  • Technology (4)

Join The List

Subscribe to my Newsletter for new blog posts, tips, and technology updates. Let's stay updated!

Software

  • S3 Express One, Value-Less LSM Trees, ShardStore

    2024-02-04
  • Raising The Alarm

    2022-12-22
  • Software Project Planning

    2022-07-30
  • Monolith To Microservices Vs. Your Organization

    2022-01-24

Management

  • Raising The Alarm

    2022-12-22
  • Software Project Planning

    2022-07-30
  • Art or Science?

    2022-04-25
  • Guidelines For Criticism

    2022-03-09

Life

  • Art or Science?

    2022-04-25
  • Guidelines For Criticism

    2022-03-09
  • 5 Mistakes That Damage Your Personal Brand As A Young Professional

    2021-10-27
  • Communication For Leaders — Be Generous

    2021-09-20

Join The List

Subscribe to my Newsletter for new blog posts, tips, and technology updates. Let's stay updated!

  • Facebook
  • Twitter
  • Instagram
  • Linkedin
  • Youtube
  • Email

© David Xiang