Young Reacts #184

After sending my first bi-weekly update e-mail to the team, following The weekly CEO e-mail, I’ve gotten some great responses. People liked to see the progress of the projects they were not directly involved in. I plan to continue for two months and evaluate if my team continues to find value in my updates.


Software Engineering ⚙️

Astro Online Playground

I don’t follow the Javascript ecosystem as closely, but I was blown away by this demo. Astro, a Javascript framework optimized for static content, provides an online playground through StackBlitz. StackBlitz lets me install the framework in your browser and use it as I would in my local environment. Tools like this make my old Javascript environment at Netflix look primitive.

Why We’re Sticking with Ruby on Rails at GitLab

One of my principles when designing a system is to make doing the right things easy. That’s why I feel uneasy about monoliths; it’s too easy for uninformed engineers to destroy the architecture. This article asserts that if you have the governance and the modular architecture in place, it’s possible to maintain a monolith at scale.

People ❤️

Stop Overcomplicating It: The Simple Guidebook to Upping Your Management Game

This article made me realize that it’s more important to perfect the core management activities rather than chase the latest trend in the business world. I am unsure if I will follow the author’s framework (Direction, Coaching, Career) verbatim, but it looks like a good framework.

How To Elicit Effective Commitments

Just as there is an art to giving and receiving feedback, there is an art to requesting and giving commitments. The requestor should specify who, when, and what so there is no misunderstanding. If the request isn’t explicit, the giver should know to clarify.

Job performance feedback is heavily biased: new Textio report

Acknowledging our own biases is the first step to fighting the biases. If you are curious about your personal biases, try this Harvard Implicit Association Test.

Meta bans staff from open discussion of Roe v. Wade decision and is deleting internal messages that mention abortion: report

I first negatively reacted when I read this. I was upset that people couldn’t talk about their personal hardships at work. But then I realized it might be a kind thing to prevent some employees from doing a victory lap over Roe v. Wade.

Business 💰

Leaked transcript: Inside Elon Musk’s first meeting with Twitter employees

If I worked at Twitter, I would start interviewing immediately if I hadn’t started. Even if I agree with Musk’s perspective, “there would have to be some rationalization of headcount and expenses to have revenue be greater than cost” sounds too ominous.

Young Reacts #183

Today is Juneteenth, or Emancipation Day, in the US. Last year, it became a national holiday to celebrate, not the Emancipation Proclamation, but when all enslaved people became free after the American Civil War ended. Let’s take time today to learn more about Juneteenth’s origin and the continued struggle people of color face.


Software Engineering ⚙️

Tracking On-Call Health

It’s hard to get meaningful data on oncall. We can track the number of pages and incidents we get, but what can we do to improve our experiences? Is it more training, more instrumentation, or something else? We need to get qualitative feedback from the oncall engineers to answer that question.

Sunsetting Atom

Atom, the once-popular text editor that the Electron framework spun out of, will be sunset in December this year. While I haven’t used Atom (I used Sublime and Visual Studio Code), I am grateful for all innovations Atom made possible with Electron.

People ❤️

The weekly CEO e-mail

I’ve been meaning to do more written communication now that my team is larger, making it harder to keep everyone in sync. I am no CEO, but I will take the format here to send my first update tomorrow.

Business 💰

Down Rounds: Deal With Reality

If one joined a late-stage startup for a payday in a couple of years, they must find the current valuation downtrend frustrating. One late-stage startup I talked to in 2018 had a valuation of $1.2B then and $8B early this year. I keep seeing rumors about its IPO, but I assume the IPO will be pushed back a couple more years now.

Remote work or in the office? Why the tide could turn again

The article argues that we may return to the office as the labor market weakens due to the recession. I don’t buy it. The decision-makers of such policies also benefit from the remote-friendly work environment and will object to reverting to the old way.

The Latecomer’s Guide to Crypto Crashing

Bloodbath continues in the crypto world for crypto companies and investors.

Interesting Finds 💡

Is LaMDA Sentient? – an Interview

An engineer at Google claims that LaMDA, Google’s chatbot, is sentient and must be treated as a person. If one talks like a person, is it a person? Think about that as you read this transcript of a conversation between the engineer and LaMDA.

Young Reacts #182

I am back in the US and from vacation. It felt great to disconnect and spend time with my family and friends, some of whom I haven’t seen for almost three years. While the pandemic isn’t over, I am glad we have learned to live with it.


Software Engineering ⚙️

The Away Team Model at Amazon

Square uses a similar away team model where an away team jumps in and works on another team’s code base. My team is a host team for a few away teams and sometimes struggle collaborating with that many away teams. So I found it helpful to read that teams should use the away team model as a last resort.

People ❤️

Problem, Solution, How, and Execution

Rubric to evaluate your product team

We all start in our careers as doers. We are given the instructions and execute them. But as we gain more experiences, we go upstream: how, solution, and, finally, problem. And that growth of work ownership coincides with the increase in work scope, from 1-2 week projects to multi-year strategies.

Not My Job

Even if you are a respected senior leader of a team, you cannot tackle everything. You should choose which problems to focus on, which ones to delegate, and which to let go of.

Business 💰

Metaverse: another cesspool of toxic content

In Meta’s metaverse platform, Horizon World, a group of avatars sexually assaulted a researcher’s avatar. Some may say it’s a human problem, not a technology problem. I used to think that too. But this astute commentary changed my perspective:

If this is a really hard problem to solve at scale, then that means that the technology is not ready to be scaled. Facebook could choose to prioritize the safety of its users from virtual rape and sexual assault and solve that problem before trying to scale the technology. It did not. Misfortune has nothing to do with that decision. (Link)

Cruise can finally charge for driverless robotaxi rides in San Francisco

I remember Cruise’s recruiter telling me in 2018 that they were targeting the commercial launch in 2019. It’s 2022 now. How difficult it must have been to solve both technical and regulatory challenges.

Interesting Finds 💡

AirPods Evolution

This article has CT scanned images of multiple generations of AirPods with some commentaries on design choices. It was interesting to see where Apple placed different sensors.

Young Reacts #181

I will skip the following week’s newsletter as I am traveling to visit my family in Korea. I hope you get some time this summer to recharge as well!


Software Engineering ⚙️

Proposal: GraphQL Composite Schemas Working Group

There have been a lot of movements in the federated GraphQL space. Just recently, Hasura launched its offering (GraphQL Join), and Apollo launched a new major version of its famous Apollo Federation. The proposed GraphQL working group wants to ensure minimum consistency between different federation solutions.

People ❤️

Persistent Models vs. Point-In-Time Goals

Just as there is a hierarchy of executions (company-level vs. team-level), there is a hierarchy of KPIs (north star metrics vs. project-level metrics). When I’ve conflated them in the past, it became frustrating to measure the success of projects because attribution was not easy.

Do We Still Need Teams?

In some past roles, I felt my “team” was not a team but just a group of people who reported to the same manager. Now, I have the vocabulary to describe that group: “co-acting groups.”

Anti-pattern: The Engineering Managers’ Group

This article made me reflect on how often I interact with my peer managers. And the answer is, I don’t really 😅

Business 💰

A Framework for Navigating Down Markets

I found some techniques helpful in evaluating startups: valuation multiples (valuation divided by annual revenue) and burn multiples (cash burn divided by net revenue add). If you are talking to startups, ask them to share the necessary information (revenue, burn rate, etc.) to get these.

Interesting Finds 💡

Bionic Reading

Bionic reading is a clever way to highlight the essential parts of words so that our brains can read texts faster. I am curious how it will be to read blog posts with this when the extension launches. The following is the first paragraph of my previous post with bionic reading. How does it feel?

My team experienced an outage this week. All outages are enlightening, but this one stood out as it cut across the systems owned by two other teams. One team launched a feature that dramatically increased the demand on our system, which led to an issue with the other team’s system. When the other team resolved that issue, my team’s system experienced a sudden increase in demand, falling behind the requests.

Uncertainty Saves Lives – the Peltzman Effect

Peltzman Effect, or Risk Compensation, is a theory that people behave more dangerously when they feel safer. You can see that from driving and dealing with COVID.

Young Reacts #180

My team experienced an outage this week. All outages are enlightening, but this one stood out as it cut across the systems owned by two other teams. One team launched a feature that dramatically increased the demand on our system, which led to an issue with the other team’s system. When the other team resolved that issue, my team’s system experienced a sudden increase in demand, falling behind the requests.

We are still dealing with the aftermath of the incident. But I look forward to learning to provide better visibility into other teams’ projects and set up clear expectations for what we can support.

Photo by Shubham Dhage on Unsplash

Software Engineering ⚙️

Refactoring and Optimizing a High Traffic API at PayPal

This article provides an overview of the team’s optimization effort. I see five different activities here:

  1. Prioritizing a problem: The team’s service violated SLA and provided a poor customer experience.
  2. Setting up key metrics: The service latency was used to measure the progress.
  3. Designing a solution: The team found bottlenecks with the sequential loading of resources.
  4. Building the solution: The team implemented a couple of optimization techniques.
  5. Measuring the change: The latency metrics were improved across the board.

I liked this article because it shows the structure of how we do projects everywhere. But not all teams are good at all these activities. My team is still learning how to set up metrics. Our prioritization could be better, too. What about your team?

Handling Incidents Mindfully 🧘🏽 — Part 1: Acceptance

Incidents are stressful. As an owner of a system that’s not meeting customer expectations, we feel like we are under attack. From that defensive perspective, it’s tempting to set up more red tapes to prevent more incidents. But we need to accept that when we change systems or customers change their behaviors, incidents will happen.

People ❤️

Why Success Is Often Elusive at the Highest Echelons

Starting a new job is always tricky. But it gets progressively more challenging because the success looks wildly different from one role to the next. The article talks about a few failure modes to watch out for: inability to dream, failure to execute, lack of support network, lack of context, and cultural incompatibility.

Having Career Conversations

This article was a shocker because “where do you see yourself in a few years” is my favorite 1-1 question. I hadn’t considered that the other person might worry about how I will perceive their answer.

Business 💰

YC advises founders to ‘plan for the worst’ amid market teardown

YC sent out a cautionary memo to its portfolio companies. It says, “it’s your responsibility to ensure your company will survive if you cannot raise money for the next 24 months.” Two years is a long time.

A third straight week of tech layoffs in the books

Tech companies across the stages are announcing layoffs, both big and small. This is an important time to remember that “layoffs don’t happen to companies, they happen to people.”

Young Reacts #179

I want to give a big shoutout to my wife, who just finished her graduate study in Master of Information Management and Systems at UC Berkeley. She started her study during the pandemic but managed to make the most of the two years. I am proud of you, and I will continue to be your biggest supporter.

Photo by Emmanuel Offei on Unsplash

Software Engineering ⚙️

Why we’ve ditched scrum sprints (and you should too)

I try to refine my perspectives by reading articles counter to my current beliefs. I read this one as I am learning to do scrum properly. I would have agreed with the piece more if I had read it before seeing it work at my org. But now, I found a team can address said criticisms by focusing on the spirit of scrum and adding some extra project management.

This article made me realize how great it is for product and engineering leadership to agree to the same process. I don’t have to convince my peers to treat scrum seriously as their boss already cares deeply about scrum.

JavaScript Containers

Written by the creator of Node and Deno, the article asserts that JavaScript will replace Bash, and JavaScript containers will simplify most of our servers.

People ❤️

Airbnb’s design for employees to live and work anywhere

Airbnb announced that it would let its employees live and work anywhere, albeit with some travels for in-person gatherings.

Business 💰

The great VC pullback of 2022

There are some chatters about a slowdown in the tech world. The public stocks have crashed, and, the author suggests, the crash is making VCs slow down their investments.

The crypto crash, explained

I didn’t realize that crypto also crashed more than the stock market—a lot of uncertainties in the industry.

Young Reacts #178

Another team merged with my team this week, and now I have nine engineers on my team. It’s close to the limit of what I can support, and I do worry about the burden on me. But I am still very excited. When we had two teams, these nine engineers, who work on the same system, had to find times outside the regular meetings to talk (this issue is more pronounced because we all work remotely and there is less chance of serendipitous chats). It eventually became too hard for us to stay aligned on critical changes or ongoing outages. Now, with everyone on the same team and sharing the same team ceremonies, these engineers will have plenty of opportunities to coordinate and make decisions.

While I am happy about this change, I also consider how I could have convinced the leadership better. This merger happened as the merged team’s manager decided to step down as a manager, allowing us to reevaluate. But I saw this coordination problem before and brought it up with the leadership a few times. I failed to convince them then. What would have made my case stronger?

Photo by Lance Grandahl on Unsplash

Software Engineering ⚙️

Stabilize, Modularize, Modernize: Scaling Slack’s Mobile Codebases

Slack published a three-part series on their journey to improve their mobile codebases (both iOS and Android). I liked this first part because it describes how to recognize the problem, sell the idea to the leadership, and create a concrete plan to execute.

Should UX be part of the Scrum Team?

Developers get blocked all the time: unclear requirements, broken APIs, missing designs, etc. This article opened my mind to the idea that, maybe, we should venture outside our comfort zones and unblock ourselves.

OnCallogy Sessions

My team spends a significant amount of time on oncall but does not discuss how we can make our oncall experiences better. This article is a call to action to spend time together to make improvements.

Storybook Performance: Vite vs Webpack

I wouldn’t have guessed that the cold start time for Vite was more than double Webpack’s since Vite is so famous for its performance.

People ❤️

The Google Incentive Mismatch: Problems with Promotion-Oriented Cultures

When a promotion committee starts making promotion decisions, engineers start focusing on the work that will make their promo packets stronger. That’s why everyone wants to lead something at large companies, often at the customers’ expense.

Why We’re Creating Language to Hide from Tech’s Censorship Systems

Both human and algorithmic moderation affects how we express ourselves on platforms. We may leave for another platform or change our behaviors to fit in. It’s a digital version of the panopticon.

Business 💰

SafeGraph is under fire for selling abortion data. Its CEO says more changes are coming.

I find this article notable on two levels: first, this is yet another example of companies getting pulled into politics. Second, privacy and transparency are often put at odds against each other.

Young Reacts #177

I tested positive for COVID last week. Thankfully, my symptoms have been relatively minor, and I was able to take most of last week off to recover. While it’s unfortunate that I got COVID, I am glad that I got it after the vaccines and the treatment became available. Many weren’t as fortunate.

Don’t forget to wash your hands!


Software Engineering ⚙️

What is architecture?

As I am hosting an offsite to set our technology vision and roadmap, I keep thinking about how best to set up the discussion. My team has suffered from misalignment since we all had different ideas on evolving our systems. I am using this offsite to create a unified view. And I found this definition of architecture captures my intent for this offsite: “the shared understanding that the expert developers have of the system design.”

Slack’s Incident on 2-22-22

Here comes another fun incident story, this time from Slack. When its DB became overloaded due to increased cache misses, the overload created further pressure on the DB since the overloaded DB couldn’t populate the cache successfully, which led to an eventual outage.

jest-preview

Jest Preview Demo

This neat library visualizes what your jest test script does. Especially when the tested component is complex, it gets more difficult to verify if your user events (clicks, types, etc.) are firing at the right DOM element. This library would have saved me a couple of hours on my bad days.

People ❤️

Managing Your Manager

This article asks six questions, each placing your manager on a spectrum and suggesting how best to work with your manager. They start with “why does your manager manage?” and end with “In what phase does your manager prefer to see your work?” I found it helpful to put not only my manager but myself on this scale and see if I have set up my expectations correctly both up and down the reporting structure.

Business 💰

Twitter accepts Elon Musk’s $44B acquisition offer

This week, there was lots of interesting business news, but this tops the list. I am quite shocked that Twitter accepted Musk’s offer. What will this mean for Twitter’s users (especially the banned users)? What about its business? What about its employees?

Beyond Aggregation: Amazon as a Service

Fulfillment of customer orders continues to be a challenge for online merchants, especially when Amazon sets the bar so high. Now, Amazon is offering its logistics network to merchants not on Amazon.com on one condition: these merchants need to use Amazon’s payment solution. Ben Thompson draws the parallel between AWS and this new service.

Young Reacts #176

When it rains, it pours. A lot is going on in my life, and it’s been challenging to get through the past week. But with the support of people around me, I feel a bit better at the moment.

One particularly impactful piece of advice was on how to get out of my head and see things more objectively. I told them a story about how I was struggling, and they first listened carefully and suggested I list all evidence for and against that story. That listing technique made me see that it’s not all doom and gloom, and I’ve made (possibly wrong) assumptions about other people’s actions. While the doom story is still in my head, I know now how to move forward from this story.

Photo by Etienne Girardet on Unsplash

Software Engineering ⚙️

Product Goal & Sprint Goals – A Simple Example and Definition of Done – Where to Start?

Even though I was part of a “Scrum” team for most of my 10-year career, I never learned how a good Scrum team behaves. I got a Scrum training through work and started learning how Scrum is supposed to work. I am usually skeptical of these types of classes from consultants, but I am excited to learn this time.

How we aligned 200 teams to monitor services with SLOs (Part 1, Part 2)

A multi-year program to change how people do their work takes courage, planning, and grit. My team is launching such a program and could learn a lot from this two-part series.

Using Min-Mid-Max Principles for iOS Design

I don’t work with the UI as much anymore. But testing the UI against the known minimum and maximum screen sizes would have saved a lot of my time testing against all different sizes.

People ❤️

What’s The Most Difficult CEO Skill? Managing Your Own Psychology

Not that my job is as tricky as a CEO’s. But I still struggle to maintain a balanced mental picture of my performance. Caring enough to do my best work but not personalizing failures has been challenging.

Business 💰

Employee-VC Alignment

When we look to join a new startup, a sky-high valuation means the company has to work much harder to make our equity 10x valuable. On the other hand, as current employees, the new enormous valuation incentivizes us to stay since our equity is now worth much more. So it’s not as simple as this article suggests; the more tempered valuation may help recruit but hurt retention.

Success and Failure at Pebble

I once owned a Pebble too. I found it interesting to read how Pebble rose and fell from the founder’s perspective. This sentence stuck with me: “we shifted from making something we knew people wanted, to making an ill-defined product that we hoped people wanted.” How can we verify our assumptions before investing months of our lives?

Young Reacts #175

I heard through the grapevine that Netflix plans to introduce engineering levels like those found at levels.fyi. Netflix has not had levels for its engineers for more than a decade. The lack of leveling system has helped the best ideas, not HiPPO, to win but made it frustrating for managers and engineers to discuss performance, growth, and compensation. Managers sometimes end up opting for another company’s engineering levels, which is less than ideal.

As the industry move to the more explicit leveling system and engineers’ expectations change, Netflix has to change. I only hope my former stunning colleagues won’t get too distracted and disappointed when their new levels don’t meet their expectations.


Software Engineering ⚙️

Update on the Atlassian outage affecting some customers

Incidents happen all the time, and some are more difficult than others. But as Viktor Frankl said, we can “choose how [we] will respond to the situation.” Atlassian, unfortunately, failed this test. Their lack of clear communication to their customers during a week-long outage (now two-week-long) damaged their credibility enormously.

Announcing Rome Formatter

Prettier has been one of my must-have tools when I develop JS apps. It speeds up my development and my team’s by removing the shallow discussions around cosmetics. Rome, the full-stack Rust-based JS toolchain project, came up with a Rust-based JS formatter, which they claim to be 9-12x faster.

Experimental Client-Controlled Nullability in Apollo iOS

Client Controlled Nullability, the GraphQL proposal I collaborated on when I was at Netflix, was finally shipped as an experimental feature in a client library. Kudos to Alex Reilly, who drove the proposal to this state despite the frustratingly slow decision-making at the GraphQL working group.

Decoding small QR codes by hand

QR codes became universal in the US after the pandemic started. So I got curious about how to decode QR codes and found this excellent guide.

People ❤️

Managing Yourself: Turn the Job You Have into the Job You Want

I tend to treat my role as static and given. So I found another job when I wasn’t happy with my current one. This article made me realize that I have more agency than I thought before. It never hurts to try.

Motivating Developers to Care About Documentation

This article is a valuable guide to driving cultural changes. How can we make people care about new things? We can start by asking why they matter, making the new desired behaviors easy, and coaching and reinforcing them continuously.

Business 💰

Twitter board adopts ‘poison pill’ after Musk’s $43 billion bid to buy company

Last week, the biggest tech news was Elon Musk’s offer to buy Twitter. The Twitter board is refusing to sell for now.