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.

Young Reacts #174

The most productive work we can do is canceling work found to be unproductive. This may be counterintuitive as we start our careers as doers (design, sales, programming, etc.). But the more senior we grow, the more critical our ability to understand the value becomes. What projects or processes have you canceled at work?


Software Engineering ⚙️

Why we don’t use a staging environment

I like reading about contrarian posts like this as they challenge me to justify my ideas. A monolith can operate without a staging environment with good enough continuous integration and deployment process. However, once we break down the monolith into multiple services, we need a stable environment to test our local changes against.

Measuring Latency Overhead with Own Time

Metrics cut through the complexity of real life into a few numbers and enable actions. This “own time” metric is an excellent example of that. The author created this metric to isolate performance issues owned by their team. This metric then provided actionable insights to improve the performance of their system.

People ❤️

The oldest park ranger, who told the stories of Black women in WWII, retires at 100

Do you ever feel like it’s too late in your career? This woman started her park ranger career at 85 and is now retiring at 100. She worked more years after 85 than I have worked since 24. Her example gives me the courage to try new things.

The startup CTO growth cycle

As an executive of a company, a CTO’s role evolves with the company. Then again, there is a question of whether the person in the CTO role is willing and able to grow with the company.

Business 💰

The Scoop: Inside Fast’s Rapid Collapse

Fast is one of the more fascinating startup failure stories in recent memories. Many inside the company saw the warning signs (measly $600k revenue, for example) but couldn’t connect the dots or didn’t have the courage to predict the eventual shutdown.

Proposed bill would shorten California workweek to 32 hours. Here’s what you need to know

The bill proposes to reduce the workweek to 32 hours for those who work for employers with more than 500 employees. I don’t think this bill will become law, but I am still surprised that this 4-day workweek has gained enough traction to have a bill.

Young Reacts #173

It was my birthday yesterday, and I enjoyed some excellent quiet time with my wife. In the past, I would have gone out and got drunk. But I learned that I prefer relaxing, quiet time. As I grow older, I’ve become clearer about what I cherish the most and start caring less about what others say. I am still learning more about myself but like the wiser me.

Photo by Lidya Nada on Unsplash

Software Engineering ⚙️

React 18.0

A year and a half after React 17, the much-hyped React 18 is here. There are significant architectural changes (concurrent rendering), but the migration seems safe and straightforward in a typical React fashion.

Why Don’t You Use …

The critical insight of the article is that the real reasons for companies’ technology choices may be different from the official reasons.

People ❤️

The Five Conditions for Improvement

Identifying our different assumptions gets us genuinely see eye to eye. Even though we agree that there is a problem, we may have other priorities. Even if we agree with the priorities, we may have different plans to address them.

Engineering Leadership Lessons with Zapier’s Co-Founder & CTO

I’ve been contacted a few times by early-stage companies (<10 employees) since I changed one of my previous titles as “Head of Engineering.” I do not have an experience with those small companies, so I read about how engineering leadership evolves as startups evolve.

Business 💰

Penny Wise and Cloud Foolish

Google Cloud increased its pricing or started charging for many key functionalities (data replication and data operations in multi-region). This move could force rearchitecture projects on its current customers and scare potential customers away from Google Cloud.

Spotify and Google Announce User Choice Billing

Google allows Spotify to place its billing system next to Google’s within Spotify’s Android app, contrary to its policy thus far. I wonder if Google will grant this privilege to more companies, and, if so, to what types of companies (sizes, industries, countries, etc.).

Young Reacts #172

In my random donut chat with another engineering manager, I shared my team’s challenges that surprised me when I joined. When I was done, they said I shouldn’t have been surprised. I asked why and they told me there are only three scenarios where manager positions open up:

  1. the team is growing too fast for the internal promotions to fill the needs
  2. the predecessor left because the team is in a tough spot
  3. the predecessor left because the work is boring

And as the first case is rare, I should have expected the second or the third case when I joined as a manager. While surprising, this suggestion made a lot of sense to me. I will keep this in mind when I find my next role.


Software Engineering ⚙️

Why do we use Story Points for Estimating?

I am learning how to run sprints properly (I realize I never learned how each ceremony should be done). Key lessons in this article are that 1. humans are bad at estimating absolute terms so sprint uses relative story points. 2. we find representative stories for each story points to standardize estimates across sprints. Story points are the building blocks of well-planned sprints.

Okta hack puts thousands of businesses on high alert

As we build software, we need to consider potential vulnerabilities even in third-party software.

People ❤️

The Impact of Fair Pay Perception on Employee Retention

Since we employees don’t have enough data to understand our personal markets, we fill the information void with subjective narratives. Employers can provide more compensation information to reduce unnecessary stress on employees.

#TalkPay

I laud the bravery to share their personal information in a personally identifiable way. While I agree that pay transparency is important, I don’t want the Internet to know what I am getting paid.

Disney had a tight-lipped employee culture. Then Florida happened

Company leaders, as the influence of the private sector, grows and the society becomes more complex, need to be able to understand the societal issues and eloquate their position. That has not been the norm, but the norm is changing.

How to develop product sense

The ability to find great product thinkers to work with is important not only because the team will achieve greater results faster but also because you will learn from them every day.

Business 💰

TV, merchant media and the unbundling of advertising

New privacy-related regulations and platform rules are changing the advertising landscape by making 1st-party publishers such as Instacart more viable, and the advertisers now need to work with many more than Facebook and Google. How will the advertisers coordinate their campaigns across all these disjointed ad platforms?

Young Reacts #171

I am dealing with some stress in my life and learning that I do not cope with stress well. It’s been hard to deal with personal conflicts and disappointments. Video games or other hobbies help me forget them, but the stress comes back after. How do you deal with your stress? 😰


Software Engineering ⚙️

How Google, Twitter, and Spotify built a culture of documentation

I am not big on documentation because I haven’t seen it done well. But I liked the idea of hack days dedicated to documentation.

Clientless Web Isolation is now generally available

Cloudflare is expanding its offerings based on its edge architecture. Clientless Web Isolation is a cool security product to access potentially dangerous websites or files in an isolated environment.

People ❤️

7 Mental Models For Great Engineering Leadership

The article provides various axes to help managers prioritize their time. A truly great manager can adapt to the needs of their team. In my situation, I need to stay more people/process-focused, focus on engineering competence, and spend more time with customers.

Goldman Sachs’ CEO demanded all employees return full-time to the office. Only half showed up

This article reminds me that there is no actual “authority” at work. We have varying levels of influences, and others choose to heed your words or not.

Business 💰

Exit interview: Facebook’s former counterterrorism chief talks Meta’s moves in Russia

Societies now continue to ask more from large corporations: from environmental issues to social issues to now geopolitical matters. That expectation reflects the power these companies hold.

AWS-MongoDB Deal Favors Collaboration Over Competition

Do you remember when MongoDB changed its license in response to AWS launching DocumentDB? The only constant in business is change, and there are no perpetual enemies.

Amazon closes $8.5 billion deal to acquire MGM

As streaming becomes commoditized, the content becomes the king. Just as Netflix acquires movie producers, Amazon keeps up with the competition.

Interesting Finds 💡

Empty npm package ‘-’ has over 700,000 downloads — here’s why

TLDR; typos are the reason why. This is another funny quirk of the JS ecosystem.