Young Reacts #57 – What Happens When Your Career Becomes Your Whole Identity

This article, What Happens When Your Career Becomes Your Whole Identity, caught my eyes this week. I’ve always valued work-life balance when I started working. While my professional achievements are significant to me, they never defined me. To some degree, the separation was easy because no one knew of the companies I worked for for the first seven years.

After I started working at Netflix, people who I meet for the first time know of me as a “Netflix engineer.” Who I am is less impressive to them than where I work. At first, I appreciated the new respect and interests my job has brought to me. But now I worry that this prestige would be too hard to let go, especially when I keep measuring myself against my peers and friends.

The article has several recommendations to battle this trapping; I found it most helpful to broaden my perspective to see my career in terms of not my company or title, but skills and greater goals. It will be hard to let go when the time comes. But I hope the article helps me in the future.

Photo by Hunters Race on Unsplash


Software Engineering 🌐

Write tests. Not too many. Mostly integration.

It is an interesting read because I haven’t seen many “real” unit tests in real life. Most teams I worked at chose not to mock/fake things out because of difficulty. But I agree with the premise that the unit tests are useful only in some instances.

What are the differences between the private keyword and private fields in TypeScript?

Private fields (fields that start with #) are part of Class fields proposal, which is at stage 3. This StackOverflow question helped to clarify the differences; the core is that private keywords check at compile-time and private fields check at runtime.

7.8.0 Released: ECMAScript 2020, .mjs configuration files and @babel/cli improvements

Now that null coalescing operators and optional chaining are at stage 4, Babel 7.8 support them by default.

The story of a V8 performance cliff in React · V8

A probably useless, still eye-opening article for UI engineers. I find leaking abstractions fascinating.

Business 💸

State of Startups 2019

This annual survey made me appreciate that startups don’t happen overnight. Looking at the age of the startups, most have been around for more than three years, but yet, most are not profitable.

Enforcing Against Manipulated Media

Facebook, while it won’t remove political ads, will delete manipulated/generated photos or videos (think deepfake). On a related note, a notable Facebook leader Andrew Bosworth posted thoughts on its role in the past and the coming elections.

Young Reacts #56 – Back to Work

This week starts a new year for me after a long relaxing vacation. I don’t remember anything I was working on before the holidays, but I will be fine. Looking forward to this exciting year 💪! (especially with the US election…)

Photo by William Iven on Unsplash


People ❤️

Career Growth Frameworks in Software Engineering: A Review

A long (20-min long!) summary of popular ideas on engineers’ career growth frameworks. Of all the ideas, the most important is that the cultural values and the growth framework should be aligned.

The one-salary experiment, ten years in

This company iwantmyname challenges the assumption that pay differences must exist for hiring and retention. Instead, they opted to pay everyone the same, regardless of role, experience, or cost of living and have done it for ten years now.

Words I Wish You’d Stop Using, system fonts only

In short, the term “minority” disregards the power struggle aspect of the label and dehumanizes those groups. Use “minoritized people” to acknowledge that people aren’t born minorities, but made into them.

Software Engineering 🌐

What does it mean for a machine to “understand”?

This article is about AI but applies to other fields as well. Defining a problem is often the hardest part of the complex problems. Creating codified and testable definitions will orient the discussions. Nothing is worse than the moving goalposts.

Act locally, connect globally with IoT and edge computing

Edge computing, or local computing under limited connectivity and bandwidth, will open up new use cases in the coming decade. Current use cases summarized by Amazon’s CTO.

Why We Don’t See Many Public GraphQL APIs

GraphQL’s flexibility is a challenge when the consumers are not familiar with the convention of the API since each provider can handle edge-cases (errors, timeouts, and so on) differently.

Young Reacts #55 – Good bye 2019

This issue is the last issue of the year (and the decade!). If we look back, we all had both proud and regretful moments. Regardless, don’t forget that we surely have learned and achieved something this year.

Photo by Jason Blackeye on Unsplash


People ❤️

It’s time to start writing

Bullet points push the burden of communication to their readers. Through narrated proses, writers take responsibility for communication. Our arguments will be ordered, prioritized, grouped, and connected, which will bring more clarity to the ideas.

Software Engineering 🌐

Engineering eSports: The Tech That Powers Worlds

An in-depth, yet wide look at what it takes to broadcast a global eSports event. The Group’s end-to-end involvement from installing local custom PCs for progamers to dealing with local ISPs for network bandwidth is impressive.

Feature watch: ECMAScript 2020

According to its new yearly release cycle, ECMAScript will release a new version next year. This list shows the upcoming features such as dynamic import() and globalThis.

From “Secondary Storage” to Just “Storage”: A Tale of Lambdas, LZ4, and Garbage Collection

Honeycomb wrote on a distributed processing optimization. I like how AWS Lambda performed faster than long-standing servers thanks to its fast scaling.

Business 💸

Google AI chief Jeff Dean interview: Machine learning trends in 2020

There are three significant trends Dean looks out for: multitask and multimodal learning, on-device models, and AI principles such as ethics.

Managing technical lock-in in the cloud

UK government published a guideline to manage cloud lock-ins. It is a sensible guideline, but I am more impressed by the fact that a government announced such guidance.

Young Reacts #54

Of all the benefits and perks from working at Netflix, I love meeting and learning from smart people with intriguing, diverse backgrounds the most. I had a chance to talk to an iOS engineer about my thesis that all platforms are doing the same architecture (currently component architecture with unidirectional data flow) with different lingos. As he had a game development background, he told me that that idea, especially unidirectional data flow, is an old idea (game loop) that originated from game development.

He also pointed out that since Apple and Google own mobile platforms, mobile developers tend to wait for those two to solve the architectures. But because no one entity controls the web, web developers try many different ideas like Angular 1’s MVC, React’s Components, or Flow Architecture.

I don’t often hear things that change my perspectives, but those two were definitely eye-opening. So I was very grateful after the discussion. Maybe for your new year resolution, try reaching out to people you don’t usually talk to more!

Photo by Priscilla Du Preez on Unsplash


People ❤️

Containers Will Not Fix Your Broken Culture (and Other Hard Truths)

This is an excellent article full of great quotes and links. The message is simple: no technology will change how people behave. I had the same message when I presented the progress on GraphQL adoption to my org.

Software Engineering 🌐

2019 State of JavaScript

It’s this time of the year again. Here are my takeaways: 1. GraphQL’s sustained popularity and interest. 2. Typescript’s sustained popularity and interest. 3. Svelte’s surprising amount of interest and awareness (75% awareness is high considering its short history).

Entities, components and systems

I heard about Entities Components Systems from the said conversation and looked it up. From my understanding, it is an architecture to optimize the memory access pattern to overcome slow memory speed relative to CPU speed. Not relevant to web development, but I still found it cool 😎

GraphQL Batching Attack

With new technology comes a new attack surface. GraphQL’s flexibility exposes a new attack surface that traditional prevention and monitoring tools (request based rate-limiting and telemetry) can’t handle well.

Business 💸

One year later, restaurants are still confused by Google Duplex

Remember the freaky, yet exciting Google Duplex announcement? My family finally got to try it yesterday, which got me to wonder if Duplex further adds more stress to the more vulnerable workers. This Verge profile, albeit a little dated, describes how the technology works in the real world.

Young Reacts #53

I am doing a five-minute presentation for my grand-grand boss’s org, which is about 100 people. I wasn’t going to wing it, but I also didn’t make a big deal out of the occasion because five minutes is such a short time. So I felt a little out of place when my co-presenters scheduled multiple meetings to coordinate and prepare. I wonder how I got a different assumption/attitude 🤔

Photo by Patrick Robert Doyle on Unsplash

People ❤️

Being Glue

The unfortunate truth of our lives is that perception matters as much as substance. If one is doing necessary, yet unglamorous work, they should think about how it will impact them in the long run. It is also on the rest of us to recognize those key contributions.

What to Do with Too Much Advice

I like reading and researching, and I don’t like to be wrong. So much so that I will sometimes spend hours and days reading about differing opinions to find the “answer.” I found this heuristic, to limit to a single piece of advice, liberating.

Software Engineering 🌐

Unified Architecture – A Simpler Way to Build Full-Stack Apps

I agree with the author that you lose simplicity and agility if you divide your stacks. That’s why I recommend full-stack teams and frameworks like Rails to my startup friends. But such full-stack systems will not work when performance and scale start to matter.

What’s New for Node.js in 2020

A good overview of what’s coming in 2020 (some are already here!) I am looking forward to better WebAssembly support. FYI, WebAssembly is now a W3C standard.

Can You Learn Design?

This article reminded me of how I noticed and chose to ignore the lack of keyboard interactions just the other day. I feel ashamed now 😳

Young Reacts #52

These two graphs clarified the value of my GraphQL project at work though they are from the worlds of data science and server infrastructure. Both showcase the leverage of managed services: data scientists focusing on model development and backend engineers on application code. The same applies to UI engineering.

As a UI engineer, I don’t care to spend time optimizing build pipelines, or learning how to use different backend APIs. I instead want to focus on differentiating activities like understanding business needs and translating those needs to a good UI. GraphQL is one such technology that hides backend implementation details from me.

from Open-Sourcing Metaflow, a Human-Centric Framework for Data Science

what you do and don't manage in a serverless system

from Serverless – Lessons learned


People ❤️

One on One Meeting Opening Lines

I recommend reading this and maybe using this if you are new to one-on-one meetings. But I believe that managers should personalize their approaches for every report. If they just stick to the same tool, it will eventually feel impersonal and distant.

Software Engineering 🌐

The introductory guide to AssemblyScript

I was a little annoyed before that Typescript’s type information gets thrown away at compile time, only to be re-discovered by Javascript’s engines. Not anymore. AssemblyScript will take the type information and generate WebAssembly, saving the engines’ work.

Blogged Answers: Learning and Using TypeScript as an App Dev and a Library Maintainer

An article from a Redux maintainer on the pros and cons of Typescript. I agree that Typescript makes you want to write a more straightforward code with a simpler type system (think High-Order Components vs. Hooks in React).

Business 💸

Memos

This is a list of internal memos by various executives that somehow got out to the public domain. I haven’t read everything yet, but I found the Facebook memos on their Ads business intriguing. I also liked Microsoft’s postmortem on its Word 1.0.

AI Dungeon 2: Creating Infinitely Generated Text Adventures with Deep Learning Language Models

The game may look simple but is super cool. Players can type any text, and the game will react to it based on the model, considering both the context and the text content.

Young Reacts #51

I have been running my personal development OKR for the last two years. I will report my results for November since it ended this weekend, and I feel extra motivated for this final month of 2019.

On the upside, I read more about Blockchain and Web in November than in October. I also ate fewer sweets and gave feedback more often at work. On the downside, however, I failed to read books consistently (I have more trouble when I am reading nonfiction). I did not meditate or follow Mckenzie exercise as much as I had hoped because of the holiday disruptions. I am most disappointed that I couldn’t make writing a daily habit. Overall, I slightly regressed compared to October from the overall score of 0.63 to 0.60.

In December, I will focus on two goals: to write 100 words every day using https://writingstreak.io/ and to ask for feedback at work every day.

If you are curious, you can see my current goals and past results here.

Photo by Glenn Carstens-Peters on Unsplash


People ❤️

The Firefox UI is now built with Web Components

I didn’t find the technology or the decision unusual. But I loved reading about their process, where the team designed and compared different approaches and communicated their progress. If you are interested in learning more about the way larger engineering organizations operate, this is a good representation of it.

Code less, engineer more

Even though the idea of solving a problem without writing a code scares me about my job security, doing what’s best for the business will help me in the long run. Education, a process, and a spreadsheet are all useful tools to have.

Software Engineering 🌐

SwiftUI Architectures: Model-View, Redux & MVVM

I am fascinated by how similarly apps on different platforms, web, android, and iOS, manage their states despite different terminologies. I parallel the fore-mentioned SwiftUI Architectures to the following React patterns: View in Model-View is stateful like stateful React components. ViewModel in MVVM abstracts common states like a common React hook or high-order-component does. Redux is, well, Redux.

Space in Design Systems

Building a sensible layout takes a big chunk of my development time, possibly more than using the correct colors or typography. This article provides helpful vocabularies like inset, stack, and inline, to use for your design system.

A Laundry List of JS libraries: Cockatiel, Yup, and Formik

I found a couple of helpful JS projects.

  • Use Cockatiel to express fault-tolerant policies on node.js such as Retry, Fallback, and Backoff.
  • Use Yup for a Typescript-compatible object validation on UI.
  • Use Formik to manage your forms’ states.