Young Reacts #160

Happy new year 🎊! Even though my holiday vacation felt short, I am excited to accomplish the goals I’ve set for 2022. My wife and I will start looking to buy our first home and adopt a second cat. Professionally, I will learn how to scale backend systems and invest more in my network. What are you excited to accomplish this year?

Happy new year from our cat Mari to you all 🎊

Software Engineering ⚙️

Where do you put spacing on design system components?

I wondered why more websites don’t use spacer divs to manage their margins. The author compares it to the old table-based layout, which instantly made me realize spacer divs add clutters with no semantic meanings.

Patch fixing critical Log4J 0-day has its own vulnerability that’s under exploit

This issue is already fixed but serves as a good reminder that security is a never-ending issue.

People ❤️

I feel stuck when a decision is not a two-way-door decision and involves much uncertainty. Such choices are whether to buy a home, pursue a specific career, and so on. I can see that there are times when I need to take that leap of faith, but I am still scared.

Five takeaways from looking for a new senior role in tech

The author defines “senior” as the following in this article:

executive roles for small companies (I would say fewer than 50 engineers) or Vice President of Engineering and above for mid-sized (say 50-500 engineers), or Director and above for larger organizations (500+).

I enjoyed reading about how job searching is like at this level.

Business 💰

IEEE Spectrum’s biggest semiconductor headlines of 2021

We never worried about new cars’ or Xbox’s availabilities before COVID. Now, money can’t buy these things due to chip shortages. That’s just one of the many ways how semiconductor industry impacted our lives in 2021.

NYC Just Passed a Law Requiring Employers to Post Salary Ranges in Job Ads. There’s Actually an Upside

There is a similar law in Colorado, but this law is a bit more limited in scope. This law only applies to roles in NYC employed by employers in NYC. I wonder if some companies will move their HQs to avoid following this law.

Interesting Finds 💡

Mise en Place Writing

Writing more is such a difficult thing to do. The author suggests separating generating ideas (he calls it “pre-writing”) from writing itself. I am going to give that a go this year.

The Return of the Urban Firestorm

A fire burnt down more than a thousand homes last week in Colorado. A climate scientist talks about how we all try to find a haven from the changing climate when there isn’t any.

Young Reacts #159

As I plan for the next year, I’ve been contemplating my contributions at work and found two significant deficiencies: insufficient technical expertise and lacking business/product context. Even though I can rely on engineers and product partners in these areas, I want to understand my team’s work in more detail. After the holidays, I will reach out to my colleagues and create a plan to build more expertise there. In the meantime, I started taking an entry-level SQL class.

Software Engineering ⚙️

Star Schema vs. Snowflake Schema

Based on my rudimentary understanding of MySQL, I believed that all data should be normalized. But this article taught me that normalization makes queries more expensive by requiring more joins and that some denormalization may be preferred depending on the use cases.

Why Vitest

Jest has been the defacto standard to test Javascript for many years since it has everything you need with sensible defaults. But it’s built with the assumption that Javascript is bundled, which is no longer true thanks to Snowpack and Vite, which uses native ESM in browsers. Vitest takes advantage of this new module paradigm.

Introducing fuite: a tool for finding memory leaks in web apps

I found this tool intriguing but not too valuable. All web apps I worked on mainly suffered from slow APIs or sluggish rendering. In addition, they were short-lived, so some memory leaks didn’t hurt them. It may be helpful if you are working on work tools like Figma, Slack, or Google Sheets.

Building a Service Mesh with Envoy

My team recently migrated to Envoy, so I wanted to learn more about how it fits the rest of the tooling.

People ❤️

Time management for makers

When meetings keep getting thrown at you, it isn’t easy to progress on significant projects. The article proposes that we allocate our time based on priorities in advance. For example, my allocation could look like this:

  • 30-40% Team management (preparing for and conducting 1:1s, planning growth conversations, hiring, etc.)
  • 20% Planning and delivery (setting the goals, shaping upcoming projects, managing the scrum process, etc.)
  • 20% Context gathering (meeting stakeholders, reading documents, etc.)
  • 20% Buffer time (emergency meetings, extracurriculars, etc.)

Onboarding a product manager – do’s and don’ts in the first few weeks

As I thought about how best to learn business and product context, I started reading how product managers get onboarded. I realized that I hadn’t spent much time with my team’s product yet.

Cool things 😎

Guidelines for Submitting Unicode® Emoji Proposals: Evidence of Frequency

It was surprising to read that a screenshot of a Google Trends page could show the need for a proposed emoji.

You need to supply screenshots of each result for each of the methods listed below: Google Search, Bing Search, Google Video Search, Google Trends (Web Search), and Google Trends (Image Search). Trends screenshots must include “elephant” as a comparative search term.

Young Reacts #159

I’ve always been a big fan of ThoughtWorks’s Technology Radar as it succinctly summarizes the technology landscape and helps me discover what I missed. The company recently published a tool to build your radar. While it was first used on technology, I believe it can be used anywhere. So I tried putting a few ideas and technologies that I’ve been tracking on my radar (image below). I found it refreshing to organize my interests using this framework and hope it directs my energy to where I find the most value.

Software Engineering ⚙️

Scaling the Practice of Architecture, Conversationally

As more teams are organized to be independent and self-sufficient, a way to build a cohesive architecture also needs to change. This article recommends several techniques, some of which I’ve seen at Netflix and Square: decision records, architecture advisory forums, architectural principles, and tech radars.

Apollo Federation Contracts

When the entire GraphQL schema is exposed to a 3rd party, the company risks disclosing unfinished or private features. Apollo Federation Contracts are a mechanism to hide sections of schema based on the consumers’ roles.

Reliability as a Product Feature

This article emphasizes that even when we talk about seemingly engineering-driven qualities like reliability, we need to make sure improving reliability will improve our customers’ lives.

Deno joins TC39

Deno, an alternate Javascript runtime, has joined TC39. This news made the project a bit more credible in my eyes.

Measuring Web Performance at Airbnb

I’ve always been dumbfounded by how difficult it is to measure UI performance. So I am grateful that Airbnb published how they measure their website’s performance.

People ❤️

OSS Simple Sabotage Manual, Sections 11, 12

This declassified document from the Second World War describes several ways an individual can sap an organization’s energy. Most of those behaviors still can be found around us, such as “Refer back to matters decided upon at the last meeting and attempt to reopen the question of the advisability of that decision.”

Business 💰

Async, not avatars: Slack’s Stewart Butterfield on the future of work

This quote struck me: “There’s a lot of effort and energy and attention that goes into [physical offices], and relatively little, in most organizations, into the digital side of it, and how we expect people to work together.” Currently, we suffer from constant interruptions when we work digitally, a problem Slack is also part of.

PayPal says ‘buy now, pay later’ volumes surged 400% on Black Friday

Three stories from PayPal’s CEO: first, buy now, pay later services are becoming more popular. Second, PayPal is open to new acquisition opportunities. Third, PayPal is interested in new utilities cryptocurrencies could provide.

Young Reacts #157

I am happy to report that having a weekly plan helped me stay focused and feel more accomplished at the end of the week. I didn’t go through more TODOs than I did the weeks before, but I stayed in a driver’s seat and was able to make meaningful progress. On the downside, I ended up spending about 30 minutes at the end of every day to review and plan the next day, which felt a bit too much. I will continue to refine my planning and share when I think it’s ready.

Software Engineering ⚙️

React Server Components and Remix

Remix is the thing in React community. It’s similar to Relay. Yet, I had difficulty understanding how it was different from the newer frameworks like Next.js. This post, which compares I’dix with React Server Components, made it click in the head. Because Remix knows all data dependencies, its loading behavior (“Fetch, Then Render”) is better than alternatives.

GraphQL @ Yelp Schema Design Guidelines

Yelp published its schema design guideline. All the rules are straightforward. But I’d love to read about how they enforce this, which is the hard part.

Introducing the new Relay compiler

Relay now has a Rust-based compiler to stay performant at Meta’s scale. The post also provides a good overview of the Relay compiler’s goals.

Summary of the AWS Service Event in the Northern Virginia (US-EAST-1) Region

AWS experienced a region-wide outage from a thundering herd phenomenon on Dec. 7. I used to read public postmortems because I could get insights into how these systems are architected. But now, since my team owns public-facing services, I read them to learn how the teams handled the incidents and ran postmortems.

People ❤️

How to rest well

I agree that the timing and the quality of my rest are important. I know how tired I get when I sleep with my lights on. As I plan to rest better, I can’t shake this feeling that my rest just turned into “work.”

Business 💰

Google delays mandatory return to office beyond Jan. 10

Google pushed the return to the office indefinitely because of the new Omicron variant. Even if we believe we can handle this variant, what happens with the next one and another? Permitting long-term remote working is the way to provide stability to the employees.

The Amazon Empire Strikes Back

Before the pandemic, the components of eCommerce—logistics, storefronts, payments—were thought to be commoditized. But the supply chain challenges from the pandemic gave Amazon, which still has a functioning logistics system, an upper hand in attracting more merchants.

Young Reacts #156

Not much from me this week. I hope you enjoy what I read this week!

Software Engineering ⚙️

Belonging to Amazon’s Principal Engineering Community

An interesting look inside Amazon’s staff+ level engineering before 2020.

Would Xcode Cloud replace our current CI/CD solution?

Call me a skeptic, but Apple has been infamous for its lack of support for the developers. Will they care enough to make Xcode Cloud a good CI/CD solution?

People ❤️

Deep Habits: Plan Your Week in Advance

I’ve been slowly habituating work habits to get better as a professional. So far, I’ve made daily habits of giving feedback, asking for feedback, writing daily notes, and so on. I am now trying to add weekly routines. I will practice reviewing and setting up weekly plans every Sunday.

Stop Telling Women They Have Imposter Syndrome

There is usually a systemic explanation for the individuals’ sufferings. When our colleagues share their pains, trust them, and use our privileges to improve the system for all of us.

Why the ‘stay interview’ is the next big trend of the Great Resignation

Regardless of the current job market, we managers owe it to our teams to look after the team members’ needs at work. We can start by asking what they want to achieve at work and how best to support them.

The Church of Interruption

I engage in a conversation by completing the other person’s sentences. It helps me stay focused. But this article made me learn that not everyone is like me, and many don’t appreciate my interruptions.

Business 💰

Your Board of Directors is Probably Going to Fire You

Before one experiences disappointment at work, it’s easy to have this idealized view of the companies and teams like families looking after another. But Corporate America demands that everyone, even the CEOs and the board directors, puts the business above their loyalty to their colleagues.

Young Reacts #154

Since this is Thanksgiving week, here is the list of things I am grateful for these days:

  • My family is all healthy and relatively unimpacted by the ongoing pandemic.
  • My wife and I met and adopted Mari, a lovely and smart black cat.
  • I found an opportunity to manage a team at a reputable company.

Writing about things you are grateful for improves your mental health. What are you thankful for?

Software Engineering ⚙️

Announcing Apollo Federation 2

Apollo Federation 2 is a backward-compatible release of Apollo Federation. The main benefit I see is the additional flexibility in the schema validation that eases modifying and migrating the schema. I recommend reading the docs if you use GraphQL.

The inception of ESLint

ESLint changed how I developed as an engineer and as part of a team. I relied on it every day when I was an engineer to keep the coding style consistent and detect bugs. So I found it interesting to read its origin story.

People ❤️

The great tightrope act

This article spoke to my heart. Management is about finding a balance between many stakeholders: individuals on your team, customers, leadership, and your cross-functional partners. It’s complex, and there are no easy answers.


Technology on the menu for Covid-hit restaurants

Technology helps restaurants not only to get more customers via different channels but also to deal with staff shortages.

How NOT to screw up switching your app to subscriptions

A lesson here is that you shouldn’t renege on the deal with customers. Plus, see what inspired this article.

‘AR Is Where the Real Metaverse Is Going to Happen’

You’d expect a CEO of a company built on AR to push back on VR-based metaverses. He based his argument for AR on his assertion that people evolved to be outside, which I found lacking. Plus, I wasn’t impressed by how he brushed off the interviewer’s concern on security.

Cool stuff 😎

Monitor Your Pet’s Health with Litter Exporter

Now you can monitor your cat’s health like you do your servers.

Young Reacts #153

The reorg had finally happened last Friday. The team memberships are finalized, old meetings canceled, and new ones set up. We still need to tackle issues such as splitting shared responsibilities across the teams. But I am glad that we pulled the trigger. The three-week-long limbo put a lot of stress on the engineers. Now, we can look towards the future.

Software Engineering ⚙️

TC39 proposal for chaining errors

Though I don’t code Javascript anymore, I am still excited about the proposal. It will make error handling far more convenient in Javascript.

Benchling’s double-writes approach to incrementally adopting GraphQL

TheI’velity to find and follow a gradual migration path is the org’s bread and butter of software engineering. This article is a perfect example in a large web application.

People ❤️

On Direction ‘Versus’ Empowerment

Over the last few weeks, I’ve been a bit frustrated that my org’s leaders mandated decisions that I felt the individual teams should own. Reading this article made me realize that different circumstances call for different types of leadership. Still, I should share my frustration with my manager.

How to Create an Individual Development Plan

The growth conversations in my org revolve around upcoming promotions. Managers at Square often use the promotion packet template to track their reports’ progress. That helps prepare for the next promotion cycle, but there is a significant gap: the promotion packet template doesn’t track our growth outside Square’s definition of progress. Therefore, the internal training team recommended creating a development plan for everyone on the team, and I intend to do so.

Why The Status Quo Is So Hard To Change In Engineering Teams

“Learned helplessness” is a powerful concept that I learned from this article. I’ve seen many engineers overlook problems because “that’s just how it is.”

Cool stuff 😎

To the brain, reading computer code is not the same as reading language

I used to say that we should write code as if we were writing prose. This research debunked that. But apparently, it’s not like math either:

Understanding computer code seems to be its own thing. It’s not the same as language, and it’s not the same as math and logic.

Young Reacts #152

I mentioned last week that I hoped to have a less overwhelming week, but it didn’t turn out that way. I had to navigate a personal relationship issue that started long before I joined. It didn’t help that I approached the problem with my own set of biases.

To identify the right thing to do, I sought advice from senior leaders at the company, and they thankfully spared 30 minutes of their days to coach me. By Friday, I was able to provide the needed support to the employee and discuss the plan. I learned that I am prone to my own confirmation biases and am grateful for having the support of more experienced leaders to overcome those biases.

Software Engineering ⚙️

Monitoring Depop

The author argues that we need to monitor the SLA of the third-party services we use, and I agree 100%. If we decide to outsource some pieces of our stack, it’s our responsibility to make sure those pieces work as expected.

How we’re building a production readiness review process at Grafana Labs

I am allergic to approval processes. Giving people full context, autonomy, and accountability over their decisions enables the teams to move faster and keeps the people engaged. However, if the domain is too complex or the decision impacts people outside the decision-making, we need processes to ensure that the right things happen.

People ❤️

Flexible work is the future of work

Instead of moving over to a 4-day workweek, Front has made Friday a “no meeting, no email, no chat” day. I don’t understand the argument for it over a 4-day workweek. But while reading this post, I realized that when we designate “no meeting” anything (Wednesday, afternoon, etc.), we need to mean it. Providing time for deep work is a necessity, not a luxury, to get our work done.

Thriving Team Skills

I need to expand my team to tackle some major projects next year and started thinking about how to create a highly effective team. This list of skills (“Strong cross-functional partner,” “Unique perspective/experience to bring to the team,” etc.) demonstrates that hiring highly technical individuals is not enough.

How To Build an Equitable Communications Practice

Our language shapes how we think. This article has some good tips to be more inclusive in our communication, such as “[u]se language that’s accessible to folks outside of the space and avoid using jargon.”

Business 💸

We Calculated Return On Investment For 30,000 Bachelor’s Degrees. Find Yours.

While I don’t think ROI is the right way to think about the value of our education, the statistics are still eye-opening.

Young Reacts #151

A lot has happened to last week. My wife and I adopted a cat we’ve been fostering; we finally got a couch we ordered eight months ago; I got a new Pixel 6 Pro. On top of them, my org still is going through changes. So I had been quite overwhlemed last week. I hope to get a bit more grounded this coming week.

Software Engineering ⚙️

GraphQL 2021

GraphQL October 2021 spec is now available. It is a significant milestone for the GraphQL community because this release is the first after GraphQL ownership was transferred to the GraphQL foundation from Facebook.

Hotwire: HTML over Wire

Even though I do not personally like Rails, I value its focus on developer productivity and unconventional philosophy. Basecamp, led by the creator of Rails, created a web framework that also departed from the conventional wisdom of single-page applications. Instead of using JSON to communicate with the server, a Hotwire application uses server-rendered HTML.

A developer’s guide to programatically overcome fear of failure

Failure is part of our learning journey. The key is to ensure that we learn everything we can from each failure.

Deploying SwiftUI on the Web

WASM enables iOS engineers to create a web app with Swift.

People ❤️

How Guilds Promote the Exchange of Technical Ideas & Best Practices Within Bloomberg Engineering

When teams are organized by product areas, it becomes more difficult for engineers to learn from each other as fewer engineers of the same discipline are in the same team. That’s when the guild system comes in.

Capitalizing on Clarity

I am hosting a workshop for my team to define our team charter this week. This guide suggests that the session should allow individuals to develop their answers before discussing as a group, and I like that it would give more voice to the less vocal members of the team.

Business 💸

Founder’s Letter, 2021

Facebook changes its name to Meta and redefines its vision to enable the metaverse:

Our hope is that within the next decade, the metaverse will reach a billion people, host hundreds of billions of dollars of digital commerce, and support jobs for millions of creators and developers.

Young Reacts #150

My org is still figuring out how to transition from function-oriented platform teams to mission-oriented product teams. My team in particular needs to clarify what our mission and vision are. So my readings this week are oriented towards those themes.

Software Engineering ⚙️

GraphQL, meet LiveGraph: a real-time data system at scale

Figma engineers discuss how they implemented their real-time collaboration with GraphQL Live Queries. I particularly found it interesting to read about how they made it scale using shared subqueries.

People ❤️

Coordination Headwind

This slide deck explains why it’s so much harder to prioritize decisively and get things done in a larger organization. This is why we need a strategy and get everyone aligned.

The Building Blocks of Strategy

This article reminds me that when we come up with a strategy, we need to consider the needs of our customers first.

Tool: Create a vision with the team

I have a 4-hour block next week to create a team vision with my team. I had limited internal resources so I scoured the internet and found this resource from Google:reWork.

Business 💸

Evolving our business model to address developer needs

Google announced various programs that will lower fees for Android developers. For example, if you have a subscription business or a content business with high content costs, you will qualify for a service fee of 15% or less.

It Was Never About Dave

Netflix employees walked out last week to demand action from Netflix to instigate cultural changes. I’ve been proud that I worked at Netflix and hope I can stay proud. Trans lives matter