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
LifeManagement

5 Mistakes That Damage Your Personal Brand As A Young Professional

by dxiang 2021-10-27
personal-brand

As you progress in your career, your success largely depends on your personal brand as a professional.

Everything you do contributes to this brand.

Early on, you are focused on learning, adding value, and developing as a professional. During this time, it’s essential that you avoid behaviors that have the potential to become brand-damaging habits. Curating these behaviors is difficult for a few reasons:

  1. These behaviors are subtle and are easily overlooked. Nevertheless, it’s better you notice them before your manager does.
  2. It’s impossible to fully control how you’re perceived. A well-intentioned gesture always has the chance to be taken the wrong way. In life, this is inevitable.
  3. While your personal brand is mostly in your control, its effectiveness depends heavily on your environment. The same you may be a great fit at a large corporation, but may fall flat at a start-up.

In this post, I share 5 mistakes that damage your personal brand as a young professional. Recognizing and avoiding these behaviors may save you a lot of time in your career.

Continue Reading
ManagementSoftware

Staff Software Engineer Responsibilities – Align With Authority

by dxiang 2021-10-10
staff-software-engineer

Check out my original post on Staff Software Engineer Responsibilities!

As a Staff Software Engineer, one of your hardest challenges is to influence without authority. If your position doesn’t hold authority by default, then your best bet is to align with it.

This topic was inspired by an insightful quote from Will Larson’s Staff Engineer: Leadership beyond the management track.

Stayed aligned with authority to remain an effective leader over time. Technical leadership roles rely on proxied authority from another (usually, managerial) leader, and continued access to that authority depends on staying aligned, trustworthy, and predictable.

Will Larson

Alignment is essential. As a Staff Engineer, internalized alignment re-orients your approach when persuading people to follow your ideas. This will manifest in subtle—but significant—differences.

I’m proposing we do a large migration. I’ve seen this architecture play out before and it’s better we do this sooner rather than later.

I’m proposing we do a large migration. This will benefit the team by making their local development significantly easier and should increase our group’s velocity in the long-term.

In this post, I’ll share a few ideas on how to achieve the two core components behind Will’s idea: staying aligned and building trust.

Continue Reading
LifeManagement

Communication For Leaders — Be Generous

by dxiang 2021-09-20
communication-for-leaders

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 a leader, you must be generous with your communication. Here are some ideas.

Continue Reading
SoftwareTechnology

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

by dxiang 2021-08-22
software-messaging-queue-pub-sub

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:

  1. Develop an intuition for messaging, queues, and pub-sub through analogies.
  2. Share a short heuristic to help choose between queues or pub-sub.
  3. Discuss software implications for each paradigm.
Continue Reading
ManagementSoftware

20 Micro-Habits Of High-Impact Software Engineers

by dxiang 2021-07-18
high-impact-software-engineers

“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 for promotion can be bland and frustratingly opaque—consistently deliver value turns into create impact for your team, which quickly evolves into create impact for multiple teams, and somehow leads to create impact for the entire company and drive its future. These large expectations are difficult to break down. It’s easier to start with the details (“micro-habits” if you will) and see where that takes you.

Before continuing, I highly recommend reading, “On Being A Senior Engineer“, which provides a holistic set of expectations on what it means to be “senior.” With these expectations in mind, the following is an opinionated list of micro-habits exhibited by high-impact software engineers. I’ve broken them down into 4 themes, each with 5 habits.

  1. Leadership & Culture
  2. Execution
  3. Scope & Complexity
  4. Communication
Continue Reading
ManagementSoftware

6-Step Guide For Software Engineering Decision-Making

by dxiang 2021-06-16
software-engineering-decision-making

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 Into Decisions” as one of a Staff Engineer’s primary responsibilities. I note that prolonged technical debates are a risk for organizations and that Staff Engineers must “push through friction” in order to arrive at decisions. However, once you feel the friction, it’s never clear how you’re supposed to push through it.

This article presents a generalizable 6-step outline to help engineers drive consensus. This is a set of heuristics, not an algorithm.

Continue Reading
SoftwareTechnology

What Is A Runtime Environment?

by dxiang 2021-02-26
runtime-environment

“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.”

CONTINUE READING
ManagementSoftware

Software Engineering Culture Metrics

by dxiang 2021-02-10
software-engineering-culture

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 software engineering culture. Instead of the discussing the values themselves, I discuss the activities which measure them.

Continue Reading
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