Young Reacts #139

I am finally done with this round of recruiting. I have no more phone screens or interviews scheduled. I started looking externally three months ago, talked to about 25 companies, phone screened with about 15, had about 5 onsite interviews. I had an offer from one company and am waiting to hear back from two companies.

The process was quite stressful, especially when I failed an internal interview for a manager role at Netflix. But the numbers don’t look that bad, considering that I am not currently a manager. Hopefully, I will be able to get an offer I am excited about at the end.


Software Engineering ⚙️

Mind the platform execution gap

This article is a good primer for what it means to be a platform: trust is the most important asset when a team builds a platform for other teams to rely on. Building software is complex enough that those teams do not need another variable in their work.

The article focuses on developer productivity platforms, but much of it applies to product platforms as well.

Unit Tests give you Observability!

A code coverage metric is not important. It’s a poor proxy for how well we understand our application. Instead of mechanically covering all lines of code, we should focus on the risky parts of code.

People ❤️

Tech Lead Management roles are a trap.

I did “full-stack” management when I was a manager because the startups I worked for didn’t have pre-existing structures: no career ladder, no recruiting team, and no defined hiring process. So I focused on creating those processes and less on managing individual performances. I also had to spend some time coding, which took more time away from performance management.

So when I look back, I haven’t communicated expectations and provided feedback enough. I don’t believe a tech lead role is a bad way to start managing (contrary to the article), but one should be aware of the risk and intentional about learning how to manage properly.

The Human Side of Elixir

I am against choosing a cutting-edge technology (Elixir, for example) over a boring one (Java) just for the sake of it. But doing so selectively could help to attract engineers to your team. You can’t compete on compensation, so you find another reason to choose your team, such as cool tech. My previous team was able to hire a top-notch engineer because we worked with serverless functions before it became mainstream.

Hidden Bias

A set of visualizations showing how biased inputs into the model training lead to biased results, even if the protected information such as gender is kept away.

Business 💸

Metaverses

A good call out that we won’t have “the Metaverse” but will have many competing metaverses.

Young Reacts #139

To let employees recharge, Netflix’s leadership chose to take August slow. For the first half, we are strongly encouraged to take time off. For the latter half, non-essential meetings (any meetings not directly related to work) are canceled. I felt many bottled-up pressures for the past few weeks, so I really welcome this slowdown. To recharge, my wife and I have planned on making multiple trips this month.

Photo by Madelynn woods on Unsplash

Software Engineering ⚙️

A framework for balancing and budgeting engineering resourcing

It is challenging to make a trade-off decision between engineering investment and product work. If a product team is left on its own, it would naturally focus on new features. So rule-of-thumb guidance on resource allocation coming from the top would help balance that.

The Large, Small, and Dynamic Viewports

When I developed a mobile website, iPhone’s dynamic viewport was a hot topic. We weren’t sure how our styling would react to the changes in the viewport size (I think the behaviors are still not standardized). I am glad to see some standardization effort.

People ❤️

Guiding critical projects without micromanaging

Flexibility is crucial for leaders. The situation is different, the team is different, and better yet, people change. While it is important to have heuristics and go-to moves, leaders need to stay nimble and do what’s best for the team.

How To (Not) Plan A Career

A bottom-up approach makes sense if one doesn’t yet know what to do. When they follow the approach, they should actively seek new experiences and learn from their choices. Otherwise, it will be like having no career at all.

The SaaS Org Chart

The example org charts are not particularly useful for me as I am not running an org. But it could be in the future when I join a startup.

Business 💸

Mark in the metaverse

Facebook is leaning into the metaverse, building on top of its Oculus and social network.

Young Reacts #137

My wife and I started fostering a dog last week. We had to adjust to living with this little boy. But it felt good to look after something that needs my help. I started feeling quite a bit more positive over the last couple of days. I wouldn’t say fostering is for everyone, but I’d suggest looking for some purpose bigger than oneself.


Software Engineering ⚙️

Introducing Envelop – The GraphQL Plugin System

This is a cool idea from The Guild. I am excited that this plugin approach allows developers to adopt new features without waiting for the framework owners to support them as Babel does.

The Latest Ref Pattern in React

We don’t want to use useState because we don’t need to trigger a component re-render when we update to the latest value.

When I read this, I immediately thought of the infinite loop I created because I used useState instead of useRef 🤦🏻‍♂️

at method for relative indexing

The “at” method is an alternative for the “indexOf” method on an array. This new method understands negative indexes such as “-1,” making it simpler to get elements near the end. This feature is available on the latest Chrome (92) and Firefox (90).

People ❤️

The Activision Blizzard Lawsuit Fallout Is What Women Have Been Saying All Along

This recurring sexism in the game industry showcases how difficult it is to fix cultural issues. Press releases and public apologies won’t fix them. That makes me reconsider the companies I am talking to with checkered pasts.

The Case for Location-Independent Salaries

I’ve seen many employees argue for location-independent salaries. But this is the first time I’ve seen such a founder. I appreciate that the founder aligned the company’s compensation policy with its mission. If you wonder how much the company pays, check out its job posts.

Beat the bystander effect with minimal social pressure

When my team needs to find the owner for the next steps, I usually take them myself as I don’t like unowned tasks and feel awkward asking others to do the work. “Being clear that “no” is a fine response” is the neat trick I’ve been missing.

Business 💸

Visual guide to the best books on product management

A list of interesting books on product management. I’ve read a few on this list. Because I don’t have a great memory, I usually summarize my takeaways in one sentence per book:

  • Crossing the chasm: your customer profiles change as you go from early adopters to the mass market.
  • The Lean Startup: Build-Measure-Learn-Repeat
  • Escaping the build trap: a collection of useful tactical PM tips
  • Measure What Matters: A good reference for when you implement OKR

Young Reacts #136

I’ve talked to a director last week about my career goals and one piece of advice rang deep. He said, “Don’t trust the people who say that titles don’t matter. They say that because they’ve had the titles. You should do what you want.”

And another piece of advice he had: “You should write more.”


Software Engineering ⚙️

npm audit: Broken by Design

When I used “npm audit” for the first time, I was glad to have it. I was going through the same daily motion of “npm install” but now was able to enjoy the security benefit of experts. I still think that, with sufficient education and experience, it’s not that hard to read through the alerts and fix the ones I need to care about. But I see Dan Abramov’s point that it’s daunting yet not right enough for the newcomers.

Islands Architecture

Server-side rendering is usually followed by hydrating to a single-page application. What if, instead of having only one hydration point after loading, we hydrate by interactive elements? That could improve the performance. The creators of Snowpack came up with a new static site builder, Astro, that follows this architecture.

People ❤️

My questions for prospective employers (Director/VP roles)

I fully recognize that if you really need that role, it would be difficult to ask some hard questions. But also remember that asking good questions shows the interviewers that you are serious about the role.

Despite the title of the article, there are some good questions for lower-level roles, especially the first two sections.

A Manager’s Guide to Holding Your Team Accountable

Holding someone accountable and being held accountable are both inherently uncomfortable. So our discomfort is not a reason to avoid accountability. Start with simple, and non-judgemental questions. When we ask judgemental questions, that’s a sign that we waited too long before the questions and started creating our internal narratives.

Business 💸

Introducing Culdesac

When I hear the word “startups,” I first think of tech startups, and maybe some IoT or Biotech companies. But I never expected a city-building startup. Having to drive a car through traffic is the worst but most people have to bear with it because our cities are built to be only livable with cars. This company is challenging that status quo.

Young Reacts #136

When I consider leaving Netflix, I am most concerned about leaving its culture. I appreciate the no-nonsense, no-bullshit, yet empathetic attitude. I worry that I won’t enjoy working at another company due to its culture, even if the role is what I want. Is my impatience getting in the way of enjoying the good things I have now?

Photo by Elena Mozhvilo on Unsplash

Software Engineering ⚙️

A Deep Dive into Airbnb’s Server-Driven UI System

Server-Driven UI seems to be the natural next step after the team creates the shared data layer and establishes the common design system. In my organization, we started seeing use cases to use Server-Driven UI to build new forms or deduplicate domain logic between the server and the UI. So this article from Airbnb was an inspiring read. I am curious now how the backend system manages the UI configurations.

Towards a better responsiveness metric

Defining a UI performance is tricky as users can interact with it in so many ways. Thus, we usually rely on our guts or fly blind. I learned a great deal about how to think about measuring performance from this article.

The State Of Web Workers In 2021

I had been confusing web workers and service workers before I read this article. But this article clarified that for me. A key takeaway: web workers are not a performance silver bullet due to their limited data sharing.

On scaling graphql subscriptions

As I only use GraphQL from the client-side, I don’t understand the costs of certain features. This article gave me a glimpse of that complexity.

People ❤️

4-day work week companies

There is no magic to the 40-hour or 5-day work week. It is a modern invention due to industrialization and will change as societies do. I appreciate that a few companies, such as Buffer, are willing to experiment with different approaches.

How can you evaluate the caliber of people at a company before joining it?

I believe that the companies we choose to join are far more important to our careers than how we show up at work. So knowing how to evaluate the companies and their people from the outside is as important as interviewing well. I have a few rules of thumb myself: when the interviewer says, “we are all smart people here,” it is a sign of hubris and a red flag to me.

Young Reacts #134

As I talk to different teams about their management roles, I realize that I haven’t actually interviewed for a manager role before. I underestimated the amount of preparation and failed to present myself in the clearest and best way. In fact, I’ve received one feedback saying I should have prepared more. There weren’t that many resources available online, but I found one at Exponent and will give that a go.


Software Engineering ⚙️

GitHub Copilot

GitHub announced a VS Code extension that could produce simple functions based on the context. The webpage sure looks impressive. But I don’t have access, so I do not know if it works well yet. Even if it does, I wonder if it has a risk of leaking the proprietary code to the outside.

Is WebAssembly magic performance pixie dust?

This article shattered my misconception that WebAssembly will always make things faster than Javascript. No, WebAssembly may be able to do so in the future, but V8 is already very good at running Javascript fast.

Collecting GraphQL Live Query Resource Identifier with GraphQL Tools

I liked how the author solved eventing by wrapping GraphQL resolvers with common data registration. I wonder how to scale if the number of live queries grows too big.

People ❤️

Dealing with Disappointment

Putting myself out there has the potential to disappoint. I heard from my top-choice role that they wouldn’t move forward with me. It hurt then and still does. But as the article says, “although disappointment is inevitable, being discouraged is always a choice.”

Business 💸

Exclusive: New LinkedIn Data Leak Leaves 700 Million Users Exposed

LinkedIn allowed a malicious actor to scrape data off of its API. While LinkedIn asserts that it’s technically not a breach, it still doesn’t put my mind at ease.

Slopes Diaries #40: The Droid (Stats) You’re Looking For

No explicit takeaways, but I liked reading an indie developer’s experience releasing an Android port of their iOS app.

Young Reacts #133

A couple of months ago, a mentor advised me to start talking to multiple companies if I want to go back to management. She said that if I have other opportunities lined up, I wouldn’t be disappointed when I inevitably get rejected by some. So I did. Having a few conversations, I’ve learned that having three or four 30-minute conversations a week drains me quickly. Honestly, they have gotten in the way of my work too much.

On the bright side, I was able to pick up what matters to me at this time:

  • I want to focus on management. I don’t mind coding sometimes, but I don’t want to be a tech lead of a 3-person team.
  • There must be at least one of these three things that excite me about the role: maybe it’s because I’ve used the product, because I believe in the team’s mission, or because I think I will grow tremendously.
  • (a weak preference) I’d rather get RSUs than options.

Armed with this clarity, I started having conversations more selectively, opting out of conversations quicker.

Photo by engin akyurt on Unsplash

Software Engineering ⚙️

No code reviews by default

After working with pull requests for so long, I stopped questioning the utility of pull requests. But this article got me thinking. Primarily, I find pull requests informative. I approve almost automatically as I trust my colleagues to deliver working code. I instead focus on understanding by asking questions and leaving comments on the pull requests.

I now see that there is sometimes tension among my team because we aren’t fully aligned on why we do pull requests. So this should be a good topic for my next 1-1s.

Import assertions

This proposal lets Javascript assert against a module import. Its first use-case is to validate the type of imported modules (JS or JSON, for example). It’s not super useful for me, but I am interested in how the ecosystem will use it in the future.

ES2021 is already cut, so this stage-3 proposal will probably be part of ES2022.

The State of WebAssembly 2021

My two takeaways from this survey:

  • AssemblyScript is the second most popular WebAssembly language. (I am curious if the JS developers, in particular, favor the language)
  • WebAssembly is expanding outside the “web.”

Reducing Product Risk and Removing the MVP Mindset

Yes, we should deliver iteratively. But we should be clear about why: are we trying to learn more about the problem or deliver value quickly?

People ❤️

Make Boring Plans

Planning is integral to successful execution, especially if there are unknown variables: cross-functional coordination or new technologies.

Business 💸

LET’S BUILD A CHIP – WITH MATH

Many companies started producing chips internally, most notably Apple with its M1. The article goes into the cost of doing so. The key takeaway is that the decision to produce chips internally comes with a huge sunk cost with future cultural and strategic implications.

Facebook will start putting ads in Oculus Quest apps

It reminds me of Wall-E’s dystopia where ads are omnipresent.

Young Reacts #132

Thanks to all the new online services such as Netflix, DoorDash, and Amazon Fresh, I almost forget how challenging the real world can be (especially so, if I don’t read the news). When we moved yesterday, I was reminded that there are still tough, physical challenges. As we were unpacking and putting stuff away, I kept thinking, “I wish life could be like Sims and I could just drag and drop stuff.” But boxes had to be opened, and stuff has to be put in place. This is why the metaverse concept is so enticing to me, a world without real constraints.

Photo by Michal Balog on Unsplash

Software Engineering ⚙️

Announcing GraphCDN, the CDN for GraphQL APIs

People criticize GraphQL that GraphQL queries are difficult to cache via HTTP. GraphCDN is an answer to that criticism that uses edge computing to cache the query responses. Impressive!

Scaling relational SQL databases

When I talk to companies for a manager position, some companies ask me to go through technical rounds, which makes sense since they expect their manager to lead technically. However, backend system design is not part of my day job, so I started reading more about backend topics such as databases. My takeaway from reading this article: performance tuning, vertical scaling, replicas, or sharding.

An Unbelievable Demo

Not strictly software-related, but it is a horrible story about how big corporations can be oblivious about the IP. I won’t spoil it for you.

People ❤️

The Return of the Office

Not everyone wants to return to the office. The article discusses the dichotomy between managers and frontline workers. While that dichotomy makes sense, I suspect that other socio-economic factors influence people’s opinions. Regardless, we should show empathy for our colleagues.

People Show Support for Interns after HBO Max Email Snafu

An intern at HBO Max inadvertently sent testing emails to real customers. Then lots of people jumped to share their screwups from their earlier days. That’s amazing, but we also need to admit that the more “senior” professionals still screw up every day. “To make mistakes is human.

Business 💸

Google is using AI to design its next generation of AI chips more quickly than humans can

We are one step closer to singularity.

Young Reacts #131

This Tuesday (June 15), California will “open up…business as usual.” The state government won’t enforce mask mandates or capacity reductions. It will be such a relief after long 15 months. I only hope that this relief isn’t short-lived.

Photo by Mike Petrucci on Unsplash

Software Engineering ⚙️

The Plan for React 18

React 18 is now in the works and looks like it will be released soonish (they say several months). I am glad that they plan to provide a backward-compatible upgrade path—that has been the best feature of React. Of the mentioned features in the announcement, I particularly look forward to startTransition.

Best Practices for Designing Federated GraphQL Schemas 🎞️

A good list of things to keep in mind when working with a federated GraphQL schema. I would emphasize that following the guidelines in practice is where the real work is, especially with this one “Prioritize client needs, but not just one client’s needs.” (at 13:25 mark).

People ❤️

How to Feel Progress

My anti-pattern at work is that I seek quick wins and get impatient with “slow” progress. Some types of meaningful work are possible with such an attitude, but most require persistence and long-term vision. This article made me realize that estimating the required effort and the timeline is key to moderate my impatience.

From Listening Tour to State of the Union

When I came up with a vision for how authorization should work at Netflix Studio, I learned that a vision doesn’t get created in a vacuum; I gathered information with ad-hoc 1:1s, surveys, and focus groups. Only after understanding different points of view across the org, was I able to create a compelling, meaningful vision. As mentioned in the article, one technique I found especially useful was asking whom else to talk to at the end of the 1:1s. This article suggests other helpful tactics, as well.

Tag-ups

Occasionally I find some topics not useful for team-wide meetings but aren’t well covered by 1:1 meetings. A tag-up is a project-specific meeting that gets the right set of people together regularly. I will turn some of my 1:1s into this format.

Business 💸

Y Combinator entrepreneurs say they were kicked out of the accelerator for criticizing its founders and slamming efforts to skip vaccine lines

Incidents like this slowly make me lose faith in the mainstream Silicon Valley startup scene. This isn’t the first time top VCs reacted poorly to criticisms. If you are that rich and powerful, you can’t pretend to be a victim of media and Twitter.

Young Reacts #130

My wife started her summer internship last week. I was excited about her getting real work experience as a UX researcher. But I was also nervous for her because the introductory period could be scary and stressful. But thanks to her caring mentor, who actually spends time providing the context and listening to her questions, she is adjusting without much trouble. He provided a detailed plan for the summer in advance and checks in with her at the end of every workday. I am thankful for what he does to help my wife succeed and want to replicate the kindness for others in the future.

Photo by Jessica Lewis on Unsplash

Software Engineering ⚙️

15 Things You Should Know About Product Managers

This article made me empathize with product managers more deeply. All of us engineers work with product managers one way or another, so maintaining a productive relationship is key to our own success. Let’s not set our partner up to fail.

The case against normalized caching in GraphQL

I agree with the author that rich GraphQL clients force UI developers to know too much about the domain. But I don’t agree with the author’s solution to use browser caching. In an enterprise environment, GraphQL subscriptions enable the UI to react to data changes correctly and promptly.

Introducing Handsfree.js

This library enables JS apps to understand hand gestures, facial expressions, and poses. It’s impressive what Javascript can do these days.

People ❤️

I Want to Hire Someone My Team Said No to on the Debrief: Ask the EM

Even though most companies are not democracies and decisions are to be made by certain individuals, relationships and trust are important. To keep the hard-earned trust, try understanding where differences come from. Disagreements are signs of possible misalignment.

Surviving IDEO

Bad culture hurts real people and turns the abused into abusers. This is a story of ex-IDEO employees.

Inclusion and diversity matter

Snowflake and Medium are among the latest companies to get publicly hammered on I&D issues. I get that most executives do not have the background to navigate the complex inclusion issues at work. But these issues create serious retention and hiring problems, so they better figure this out soon.

Business 💸

Colorado Excluded

Colorado started requiring all job postings for Coloradans to contain salary ranges. To avoid noting their salary range, some companies decided to exclude Coloradans from their candidate pool. For example, one Twitter job posting says, “Roles listing ‘Remote US’ as a location are not currently available in the following states: Colorado, Iowa, and Louisiana.”