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.

Young Reacts #170

One more thing I appreciate about working at Square is its regular deep work weeks, where we are encouraged to cancel non-essential meetings. While meetings are most of how I, as a manager, get work done, I still find myself needing some quiet time to focus and write. This week, I will think about how my team’s work fits in with my organization’s goal and how we will deprecate a widely used API.


Software Engineering ⚙️

A Proposal For Type Syntax in JavaScript

This proposal could be, as the article points out, “one of the most impactful improvements to the world of JavaScript.” The idea is to add a type syntax to Javascript that Javascript runtimes will understand without a required build process like Typescript compilation. I would compare the impact of this change to that of ES Modules.

The case for creating a merge commit

It doesn’t matter which merge strategy your team uses (squash, rebase, or merge), as long as everyone follows the same strategy.

People ❤️

A Rubric for Evaluating Team Members’ Contributions to an Inclusive Culture

I’ve found it difficult to assess candidates’ aptitude and willingness to promote inclusion at work. I couldn’t help but feel that many of the answers were value-signaling. Thankfully, this article describes specific criteria, such as moderation and attribution, that contribute to inclusion that I can use to evaluate my team and candidates.

Kirkpatrick Model: Four Levels of Learning Evaluation

I joined a discussion on how to communicate vision this week and asked the presenter how they measure the success of their communication. And they shared this Kirkpatrick model, which can be used to evaluate training. There are four levels: Reaction, Learning, Behavior, and Results, which get progressively harder to measure and closer to business goals.

Directors/VP of Engineering, how did you get to that level and what does your day to day look like?

I am probably a few years away from making a director, but this answer directed me on the axes to grow:

Be the trusted person that made [something compelling] happen, and when your org needs more structure, create the plan for your part of the organization should look.

Business 💰

Walgreens Advertising Group Announces Launch of Self-Serve Programmatic and Clean-Room Solutions

I never thought I’d link something from Walgreens, but here I go. Walgreens is launching an ad platform for eyeballs on its website like Amazon’s ad platform. This wouldn’t have worked without Apple’s new restrictions on sharing data with 3rd parties.

U.S. eliminates human controls requirement for fully automated vehicles

This change opens the door to self-driving vehicles without the “driver seat.”

Young Reacts #169

I am going to the office tomorrow to see my teammate visiting the area. He will be my first Square coworker that I meet in person after five months of working here. I look forward to meeting a real person behind the tiny rectangle on my screen!


Software Engineering ⚙️

Resilience engineering: Where do I start?

I like learning about how systems fail in surprising ways to further my understanding of their behaviors. This short article contains many links to the foundational academic papers. If you find all these papers daunting, How complex systems fail is a great starting point.

How to publish Deno modules to NPM

Deno is a new serverside Javascript runtime, an alternative to Node.js. It has a different set of native APIs, making it challenging to write a code that works on Deno and Node.js.

The author uses dnt to publish their Deno module to NPM. I am amazed that they could cross-publish an HTTP framework with a few configurations and code branches.

Imbalance detection for healthier experimentation

My team recently adopted A/B testing, so this level of sophistication is not yet desirable. However, I learned two things in this article: 1. since achieving true random is difficult, imbalances can happen. 2. online traffic is precious, so every time we waste a user session, we miss out on a learning opportunity.

People ❤️

What We Lost

We’ve been working remotely for two whole years now. Many of us have changed our lives, assuming that we will work remotely permanently. I moved away from where my office and many colleagues did too. That flexibility is a win, but I miss being in the office; jokes, walking meetings, serendipities, all of them.

The skills product managers need to become a Director, VP, or CPO

This table in the article summarizes well. In short, what got you here won’t get you there.

Business 💰

Apple CEO Tim Cook tells employees the return to offices will begin on April 11th

As the COVID case rates continue to go down, companies plan to bring their workers back to the office. As Apple always planned to return to the office, I am not surprised by this news. But I wonder if companies that declared to go permanently remote will reverse.

Kroger expanding into Oklahoma City as it builds national delivery network

As more spending moves from offline to online, even traditional retail chains like Kroger are building fulfillment centers only for online orders.

Young Reacts #168

I shared this message with my team on Thursday morning:

Hi all, you may have heard the news about Russia invading Ukraine. I recognize that the last couple of years have been difficult and this invasion makes it worse. If you need time to clear your heads or to learn more about the crisis, please take the needed time off. If you’d rather focus on deep work, do go ahead and cancel meetings.

In crises like this, it is paramount to care for ourselves. At the same time, we have to consider our civic duty to one another. I am currently thinking about the “banality of evil” and how silent complicity enables opportunists who seek to take advantage of the people.

This kind of intro probably isn’t why you subscribe to my newsletter, but I didn’t have mental space for a different one.

Software Engineering ⚙️

Typescript Type Assignability Matrix

Captured from the above link. Each cell indicates whether a variable of type [row] is assignable to a value of type [column].

I wish I had something like this when I first started learning Typescript. The matrix may be confusing. But when you read each cell carefully and consider why they behave like that, you will understand it.

People ❤️

Support open-source that you use by paying the maintainers to talk to your team

Speaking engagements sound more beneficial for engineers than direct sponsorships (though direct sponsorships are essential, too!). I wonder what the reasonable rate for the speakers is.

Times are great for programmers now. How does it end?

I can’t imagine a world where technology gets less critical in businesses. We have barely digitized our messy real world. I predict that the story will differ based on the engineers’ skillsets—while machine learning engineers are on-demand, Fortran or Cobol programmers are not. Individual engineers need to continuously learn and adapt to stay relevant.

Business 💰

Shopify’s Evolution

Shopify is moving from an integration hub to a full-stack service provider for eCommerce. It now has its payment system, a fulfillment network, and more. However, its evolution is creating a platform risk to its partners:

Announcing our $100M Series C funding

Hasura, a major contributor to the GraphQL ecosystem in both content and OSS, got a new round of funding to invest in its cloud services. I am happy for the team, and I hope that they keep the current effort in pushing the ecosystem further.

10 Lessons Learned after $5B of M&A

The most surprising lesson was the second one:

Startups are sold to individuals, not to companies. The champion – often a product leader, the CEO, or a general manager – risks their career by buying a startup.