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
Tag:

software development

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

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

  • The Importance Of Technical Planning

    by dxiang 2020-08-10
    2020-08-10

    Creating a technical plan is a sign of professionalism and maturity as a software developer. No matter what you’re working on, whether it be a straightforward feature extension or a massive data migration, a technical plan must be written. Why Should I Write A Technical Plan? A written plan forces…

  • Complete Code Review Checklist

    by dxiang 2020-04-12
    2020-04-12

    Code reviews are an essential part of software development. To be good at the craft, we must be able to review the craftsmanship of others. The more books you read, the better you write; the more code you review, the better you code. The following 12-item code review checklist is…

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