Young React #81 – Being Responsible For Other Lives

My wife and I decided to foster two kittens for the next five weeks. We didn’t make the decision lightly. But as we drove home with the kittens, it dawned on me that this would be the first time I am responsible for other lives.

Since fostering is short, it is not the same as adopting pets, or, much less, having kids. Nonetheless, I feel the pressure and responsibility. I have to feed them regularly, give them medications, and socialize them so that they will find a caring permanent home. To fulfill their needs, I had to adjust some of my routines and tolerate getting disturbed while working.

After a few days, I realize I never fully understood what working parents struggle with: new priorities, daily distractions, and energy drain. I knew it with my head but never felt it myself. This is another reminder that genuine empathy is hard without actually experiencing something similar.

Meet Jelly and Boba 🐈❤️

Software Engineering 🌐

Announcing TypeScript 4.0 Beta – Daniel Rosenwasser

Even though the major version changed from 3 to 4, there are no significant breaking changes. There are additions to type systems like variadic tuple types and labeled tuple elements, and developer experience improvements. I especially look forward to partial editing mode since my project already takes too long to start up.

Variadic tuple types – Anders Hejlsberg

If you were intimidated by the term “variadic tuple types,” I was, too. This PR to Typescript goes deep into what variadic tuple types are, and how it will work in Typescript. In short,

A variadic element is a spread element of the form …T, where T is a generic type constrained to any array or tuple type (specifically, any type that is assignable to readonly any[]).

People ❤

Written communication is remote work super power – Snir David

We need to consider several factors when we think about asynchronous communication: first, the purpose: are we transferring knowledge or creating new? Second, the scope: are we communicating within or without our team? Third, the feasibility: can our team meet synchronously? Depending on the answers, synchronous communication will be preferable. But I agree with the article that we need to choose asynchronous communication more than we currently do.

Reflections on Being a Female Founder – Tracy Young

Before joining Netflix, I had an offer from PlanGrid, the company she founded. So I watched her TechCrunch interview from 2015, in which she disappointed with her lack of gender sensitivity. I love that she courageously, and publicly admits her faults, and shares her learnings.

Business 💸

The Global AI Talent Tracker – MacroPolo

A quantitative argument for allowing more mobility across borders with a beautiful visualization. More relevant now than ever, in the light of the US ban on working visas.

I just hit $100,000/yr on GitHub Sponsors 🎉 – Caleb Porzio

This article is a cool story of how a freelancing developer grew his Github Sponsorship. Most of the sponsorship came from private videos, which means his value proposition was more similar to a paid newsletter or a paid podcast than Patreon.

Good Questions, Real Answers: How Does Facebook Use Machine Learning to Deliver Ads? – Facebook

A short but helpful article on how Facebook’s programmatic ad bidding works.

Young React #80 – What is a “Frontend Developer”?

After 3.5 months of stay-in-place, it’s amazing what a slight change in routine can do for my mood. My wife and I started going out for a picnic every weekend, and I feel most invigorated after the picnic. We also booked a one-week trip to a local Airbnb, just so that we get a change in scenery.

The biggest benefit of remote work is how we can experiment with our time and place. None of us chose to work remotely, but we can still try to make most of it. I hope all of us try something new!

Our picnic snack! (Rice cakes, homemade smoothie, and some leftover fries)

Software Engineering 🌐

🌟 When frontend means full stack – Chris Coyier

Chris Coyier goes into different challenges we UI developers face.

Even though we all technically fall within the same big-tent title, many frontend developers wind up specializing.

Throughout my frontend career, I’ve enjoyed figuring out the data and business logic more than perfecting the beautiful user interactions, or building design systems. So I work on internal tools, and this is the specialization I am happy with.

Type-Safe Error Handling In TypeScript – Giorgio Delgado

Typescript code with many exceptions loses type-safety, especially with multiple layers with their failure states (network error, parsing error, business logic error, etc.). Other languages have “throw” annotations to guarantee safety but not Typescript.

Returning an error, rather than throwing an error is a type-safe solution for this problem. A similar technique can be used on GraphQL to provide typesafe errors.

tota11y: an accessibility visualization toolkit – Khan Academy

I find it hard to improve an app when I don’t see how my users use the app. This barrier exists in all forms: different browsers, slower network, smaller screen size, and, most importantly, assistive technologies. total11y helps me see what’s lacking in my app with a button click.

Picking Your Tech Stack For Dummies (and the future) – Stay Sassy

As a startup, your job is to innovate on one thing and one thing only. Otherwise, you are stretching yourself too thin.

People ❤

5 Engineering Manager Archetypes – Pat Kua

Pat Kua’s article is similar to Chris Coyier’s article above in that it unwraps the meaning of the title “engineering manager.” Just as we distinguish design-focused UI engineers and data-focused UI engineers, Pat Kua differentiates engineering managers with different focuses on tech, team, process, or product. Although all posted job titles sound the same, we need to find the match between what the rolerequires and what each of us enjoys.

Why we can’t stop fighting about cancel culture – Vox

To cancel someone (usually a celebrity or other well-known figure) means to stop giving support to that person. –Merriam-Webster

I hear the term “cancel culture” around but didn’t quite get it, so I read more about it. In essence, social media gives voices to the ignored and holds our establishments and leaders to the higher standard.

Business 💸

Apple doubles down on its right to profit from other businesses – Techcrunch

Despite WWDC 2020 starting this week, Apple and its Appstore policy are embroiled in the controversy with Hey, a Basecamp’s email client. Apple’s seemingly arbitrary and opaque bureaucracy has been a burden on the iOS developers for a long time. I doubt that, given its dominant and lucrative position, Apple will change its policies unless the regulators step in.

The two-year fight to stop Amazon from selling face recognition to the police – MIT Technology Review

I doubt these decisions by the big companies can contain facial recognition technology employed by the small dev shops (the tech is mostly open-sourced). How will we hold not just the big tech companies but those providers accountable?

Young React #79 – Monorepo Challenges, Aspirational Hourly Rate

Over the last three weeks, I interviewed five manager candidates for my team. The conversations were fascinating, where I wish I had more time to hear more of their stories. Here are my key takeaways:

  • I was surprised that most candidates were directors, managing multiple teams. I heard before that Netflix engineering managers operate at a director capacity. I wonder if that translated into the sourcing target.
  • I was glad to see racially diverse candidates: three females, one Hispanic and one Black. I have given positive feedback to my director about this.
  • I had a hard time judging between a weak yes and a weak no on the scale of 1-4. Even when I wasn’t too excited about the candidate, I felt like they would do a decent job and gave 3. Should that be a strong no, given Netflix’s high-performance culture? I need more calibration on the scale.

I loved talking to managers from small startups to big corporations. The notes from this experience will come in handy when I return to management in the future.

Software Engineering 🌐

GraphQL has two distinct type systems by design: nominal (for output type) and structural (for input types).” – Ivan Goncharov

I have been confused about GraphQL backward compatibility because whether GraphQL uses a nominal or structural type system was not clear from the spec. This comment on Github is the only source I found about GraphQL’s nominal output type. To be more specific, input types are structural, but individual fields are nominal.

Speeding up a Git monorepo at Dropbox with <200 lines of code – Dropbox

It is always eye-opening when the seemingly constant operations like “git status” start slowing down at scale. I never thought about git commands’ linear performance.

Spark Joy by Running Fewer Tests – Shopify

Here is another article on tackling challenges with regards to a monorepo’s scale. Metaprogramming and dynamic types make Ruby an ideal language for small teams. However, the language does not scale as the organization grows.

As a side note, I like their chosen metrics to measure success. I wonder if Shopify’s deployment quality stayed the same.

2020 Developer Survey – Stack Overflow

I am late to the party here; Stack Overflow released the survey result late May. Rust is the most beloved language, and Windows is the most used development OS (surprise!). There is a gender divide as well: men are asking for Stack Overflow dark mode when women are talking about its toxic culture.

By the way, if you live in a non-English speaking country, I wouldn’t pay too much attention to it. The survey skews heavily towards the western world and the English speaking population.

People ❤

Set an Aspirational Hourly Rate – Naval Ravikant

Since I started working, I tried to make tradeoffs in hourly rates, too. As a result, I treated my out of office time as “free” because none was going to pay me for it. So Naval’s point, “no one is going to value you more than you value you,” or instead, I should value myself more than the market does, is a significant shift for me.

Business 💸

Solving online events – Benedict Evans

An excellent dissection of offline conferences (content, networking, meetings) and what is easy to do online and what is hard. Will networking be accomplished online? More importantly, will it be less biased by where you are and how you look? I hope so.

Amazon’s New Competitive Advantage: Putting Its Own Products First – ProPublica

Amazon, like any other retail distributors, has its private brands. That’s why some argue this isn’t an anti-trust issue. But Amazon’s listing page isn’t just a dumb shelf at Walmart. It’s driven by a recommendation engine that consumers trust to produce the best results for them. There is potential consumer harm here when the recommendation pushes more of Amazon’s products.

Young React #78 – UI Library with builtin Web Workers, Vue 3 with compile-time optimizations

I am feeling certain powerlessness being a foreigner. While the events around you impact you, you can’t enact changes.

Software Engineering 🌐

neo.mjs concepts – neo.mjs

This UI library is the only library I know that uses Web Workers to boost its performance. More specifically, it has three workers to handle app logic, data fetching, and virtual dom reconciliation, with main thread handling event fetching and DOM manipulation. I like the idea of using Web Workers very much, but its API is too different for widespread adoption anytime soon (not sure if its JSON template is a good idea). Also, the popular UI libraries are often fast enough.

Solid: A declarative, efficient, and flexible JavaScript library for building user interfaces – Ryan Carniato

Solid is a compile-time UI library, similar to Svelte. It also uses Proxy to figure out dependencies in its state instead of requiring explicit dependencies like React. I appreciate that it uses JSX syntax and has APIs similar to React’s.

The process: Making Vue 3 – Evan You

Vue 3 is also adding compile-time optimizations to improve performance, among other changes. This change made me think that React or Vue will survive and embrace new techniques like compile-time tooling and Web Workers, spurred by the new generation of UI libraries.

Changes to How We Manage DefinitelyTyped – Orta Therox

DefinitelyTyped is core to the Typescript ecosystem. But it is a weird, unwieldy repository from which thousands of npm libraries are published. Microsoft is improving how the repository is managed, and this is the kind of synergy I hoped to see with Microsoft owning both Github and npm.

People ❤

Stripe’s remote engineering hub, one year in – Stripe

This article is Stripe’s retrospective on its experiment with a remote engineering group. The key learning is that “moving multiple remote engineers simultaneously onto a team has yielded much better results for their productivity and happiness.” On the contrary, when my team had one remote engineer last year, we bungled that up. We kept talking about the “productivity tax” of having that one remote engineer, which put the onus on him to adapt. That mindset, unfortunately, didn’t work.

Business 💸

Reddit, and Facebook pondering changes to their moderation policies

Both companies are under immense pressure (Facebook employee walkout, Reddit co-founder’s resignation) to proactively deal with hate speeches, false information, and anything alike. As I said before, dealing with user-generated content is a lose-lose proposition.

Dust in the Light – Ben Thompson

On a related note, Ben Thompson here argues that the internet merely exposes reality by reducing friction to disseminate information.

Young Reacts #77 – The Third Age of JavaScript, Attracting Feedback

I am keeping this one short because I have been feeling unwell. It is exhausting to see what’s been happening. But I will stay kind and be the change I want to see. Please take care of yourself, physically and emotionally.

Software Engineering 🌐

The Third Age of JavaScript – Shawn Wang

Typescript, Babel, and Webpack are awesome. But have you heard about Roma, Snowpack, Deno, Redwood? I am especially looking forward to the future with faster Typescript compilation and little, or no JS bundling.

Nulls in GraphQL: Cheatsheet – Hasura

I don’t agree that a GraphQL schema should default to nullable fields because 1. not all partial data is useful, and 2. the query ergonomics can suffer from too many nullable fields. But the last section on the description of how different client behaves is worth reading. I, unfortunately, had to learn Apollo client’s default behavior once a bug broke a feature on production.

What is GraphQL Inspector? – The Guild

A healthy GraphQL schema is backward-compatible. This tool, GraphQL Inspector, can warn you if you are breaking the schema by mistake.


Attracting Feedback – Chelsea Troy

We all know about the art of giving feedback, but we should also learn the art of attracting feedback. Since giving feedback is hard, we need to make it as easy as possible. There are several tactics, but I especially liked the idea of “publicly praising them for the feedback.”

The public do not understand logarithmic graphs used to portray COVID-19Romano, Sotis, Dominioni, and Guidi

The study also reminds me that just because I am saying something, that doesn’t mean the other person has understood what I mean. Communication is collaborative.

Business 💸

Epic’s Flywheel & Unreal Engine – Matthew Ball, and Jacob Navok

I got two takeaways here: 1. Unreal Engine’s application is reaching beyond gaming, namely virtual content production. 2. Because of the network effect on the developers, the Engine will get the most investment and likely retain its dominance for the foreseeable future. The gaming industry never ceases to amaze me.

Remember George Floyd

Young Reacts #76 – Is Your Culture Too Nice?

My org decided to take last Thursday and Friday off to make the long week (it’s Memorial weekend in the U.S.) even longer. I have been working hard on my current project, and I desperately needed the break. Though I wish I were able to finish the project before the break, I am glad we have this.

The off days feel different when your entire team is off. As I know no one else is working, I don’t feel FOMO (fear of missing out). I still thought about work on Thursday but my mind was no longer preoccupied with work and truly recharge by Friday. I am fortunate that the leadership at the company values proper recovery, and puts these day-offs in place.

If you see your team suffer from prolonged work from home, try taking a day off together.

Photo by Drew Coffman on Unsplash

Software Engineering 🌐

Product for Internal Platforms – Camille Fournier

As I work on tools for internal users, I see the similar problems listed here as well. Our user base is too small to get meaningful metrics, and our tool is often the only way to do the work. That makes it hard to see if we are truly meeting our users’ needs, which means we need to put extra effort to listen to our users.

I also appreciate the reminder to think about the migration strategies early. When our stakeholders already keep all their data in Google Sheets or Airtable, data migration becomes a real hurdle for adoption.

Visual Studio Live Share Extension – Microsoft

When I pair programmed over Google Meet, my eyes started hurting after an hour since the code on the shared screen was barely legible. Instead of sending pixels over the wire, this extension just syncs your and your partner’s VS Code together. It is just as revolutionary as Figma for remote working sessions.

Responsively – Manoj Vivek

Without proper tooling, a responsive layout often becomes an afterthought. This tool will help with that. If you would like more support, there is a commercial app that solves the same problem as well.



Is Your Culture Too Nice? – Ron Ashkenas

My worst failure mode is conflict avoidance. I have made a habit of giving positive feedback, but I still shy away from speaking personal, constructive feedback to my colleagues. With this advice, “start the conversation by saying that you are trying to get better at dealing with conflict situations,” I hope to get better at confronting issues.

More Silicon Valley Going Remote

Just the last week, Facebook, Shopify, and Coinbase announced that they are going remote-first, letting a substantial number of their employees work remotely. To me, remote-first starts with how you run your meetings, as Coinbase CEO said: “in-office folks dial into meetings separately vs. meeting in person.”

Business 💸

Doordash and Pizza Arbitrage – Ranjan Roy

This article gives a sneak peek at how 3rd party delivery services like Doordash work from a restaurant’s perspective. I am mostly surprised that these services would put up order links on Google Maps or Yelp without the restaurants’ agreements. These egregious behaviors show the pressure to grow at whatever cost to justify their valuations.

What Is Clubhouse, and Why Does Silicon Valley Care? – Wired

Clubhouse, a voice-based social app, not this project management app, got all the hype in Silicon Valley (and some $10 million from Andreessen Horowitz). I, of course, didn’t get the invitation so I read about it instead.

Join 358 other followers

Young Reacts #75 – Deno 1.0, Autonomy vs. Leverage, Twitter going remote forever

I had a disappointing week because our user acceptance testing session after a month of hard work revealed two blocking issues. I don’t expect huge changes, so the release will be delayed only about a week. Normally, I would expect some amount of rework and often appreciate this feedback since it means we can release a better product. But this delay sapped my morale.

Thinking over the weekend, I see two reasons why I am so disappointed. First, I have led the engineering effort for this project and communicated with the stakeholders about the release plan. While I accept the inevitable uncertainty, I still feel that I am responsible for the delay, and it doesn’t feel great.

Second, this is the last project before I move to a different domain, and this delay leaves me in a limbo state longer. I need a clean closure and want to focus on the new domain, which already has many projects that require my attention. But this project is getting in the way.

Hopefully, by the next issue, I will have completed the project!

Photo by Charles Deluvio on Unsplash

Software Engineering 🌐

Deno 1.0 – Ryan Dahl, Bert Belder, and Bartek Iwańczuk

The biggest news in Javascript last week was the announcement of Deno 1.0. Deno is out to simplify and secure the ecosystem, as outlined two years ago. Deno promises to provide stable and standard browser APIs. While its ecosystem is split from the Node ecosystem and still very nascent, it already offers many standardized solutions to common problems, such as formatting and running on AWS Lambda.

Native Javascript APIs are now powerful enough for most tasks, thanks to quickly evolving ECMAScript standards. If we have some key libraries for data access and web server framework production-ready, Deno will be useable as a webserver.

Apollo Server File Upload Best Practices – Khalil Stemmler

JSON isn’t the only form of data that needs to be sent between clients and servers. I read this article in preparation for the internal GraphQL discussions. As the article suggests, it makes sense to isolate binary data handling from GraphQL servers.

The JavaScript coders guide to getting more from GitHub and NPM – Edward Thomson

This video is a sneak peek at the upcoming npm 7. A picture is worth a thousand words and a video worth a thousand pictures. You can find improved npm audit at 7:36, yarn support at 13:56, and workspace support at 16:32.


Autonomy vs. Leverage – Marty Cagan

I appreciate this list of factors to consider when you tradeoff between autonomy and leverage. Two factors new to me were Level of Accountability and Importance of Integration. If you want the work by many teams to integrate with relative ease, you will want to align on common interfaces, which is what my org is going through.

Business 💸

#LoveWhereverYouWork – Twitter

Twitter announced last week that it would support a permanently remote workforce. Even though there have been some notable remote-first or remote-only companies, we never had it at a Twitter scale. As more companies support remote work, it will have a massive implication on the local economy (commercial and residential real estate, to begin with). People in Silicon Valley are already talking about moving out.

Reddit About to Beat Facebook, Telegram, and Most ICOs With Actually Useful Token – Camila Russo

Reddit launched the Community Point system for its subreddits on the public Ethereum network, which means the awarded Points belong to the users forever. As a crypto skeptic, I don’t see that this ownership aspect differentiates the system much from other loyalty programs. Doesn’t Reddit still own the rest of the ecosystem that could change the value of the Points? Nonetheless, I am deeply curious about how this experiment will pan out.

Young Reacts #74 – web-vitals, Elad Gil on this Recession

My director just started recruiting an engineering manager for my team. Luckily, my teammates and I will be on the panel for the interview. I call it lucky because it is rare to get a chance to pick their manager, who will determine a large portion of their experience at the company and future career trajectory.

But since it’s rare, I don’t have any prior experiences to rely on. I “picked” my managers by choosing to accept an offer based on the limited information from the interviews. After some mulling, I came up with three focus areas: performance management, IC growth, and autonomy (context, not control in Netflix jargon). I will see if these are in line with the rest of the team this week.

Software Engineering 🌐

web-vitals: Essential metrics for a healthy site – Google Chrome Developers

Google announced a small lib to track website performance, along with a useful Chrome extension. Since some tracked metrics are not standard (Largest Contentful Paint, for example), some wonder if this is Internet Explorer all over again. They may be right, but all my users are on Chrome 🤷🏻‍♂️

Facebook iOS SDK causing Crashlyics outage – Crashlytics

Over the last week, a bad Facebook iOS SDK crashed all popular apps (Tiktok, Spotify, Tinder, and A LOT more) integrated with Facebook. From the sideline, I find it amusing that a P0 incident by Facebook caused outages across the entire iOS ecosystem. No doubt, this incident sucked for Apple too. I wonder if we will see some changes from Apple.

DevTool Layers Panel – Supercharged – Google Chrome Developers

Have you wondered how to see how your divs are stacked? Layers panel is the answer!


Micromanager, Absentee Manager or Thought Partner — Which One Are You? – Kim Scott

A micromanager is a well-known failure mode of a manager. But the lesser-known end of the spectrum, an absentee manager is just as harmful. Read about how to tell if you are one or the other and how to find the balance.

How to Prep for Speaking at a Virtual Conference – Ivan Burazin

Tech workers are likely to stay home at least for the next six months, and more conferences are now virtual. Ivan Burazin gives several logistics tips on how to set up your environment.

Business 💸

Startup Offense and Defense in the Recession – Elad Gil

I didn’t think about how long the recession will last after the economy starts to reopen. The timeframe Elad Gil suggests, 2-3 years, looks like a reasonable estimate assuming we find an effective treatment or a vaccine in a year or so. A better way to plan is to assume 1-2 year recovery after the medical breakthrough. We are running a marathon.

Bye, Amazon – Tim Bray

Amid this crisis, Amazon is winning a larger share in the market and more power over its workforce. Tim Bray quit his job as a VP of AWS over “Amazon firing whistleblowers who were making noise about warehouse employees frightened of Covid-19.” There are contradicting accounts about how this went down, but I believe we will hear more stories like this on Amazon considering its size.

The ELIZA Effect – 99% Invisible

A short story on how people have interacted with bots with natural language interfaces starting from ELIZA in 1966 and how we interact with Siri or Google Duplex now. People’s expectations change over time. I now expect all chatting interfaces to be powered by bots. Similarly, the next generations will expect all voice interfaces to be powered by bots.

Young Reacts #73 – Gatsby’s Incremental Builds, Spotify Squad Myth, Basecamp’s Take-home Tests

Nuance matters in reality. Whether we are responding to COVID-19, organizing our teams, or setting up an interview process, simplistic and ideological solutions will lead to suboptimal results.

Software Engineering 🌐

From Static to Real-time: Introducing Incremental Builds in Gatsby Cloud – Gatsby

As I was reading A Static Future, I kept thinking, “this wouldn’t work for my app full of ever-changing data.” But soon after, I found out that the company Gatsby released an incremental build on its platform. The holy grail of CMS. I want to follow up in a couple of months and see if it works as expected.

What It’s Like To Work on League Of Legends? – Built In

Five interviews with technologists at Riot Games, the creator of League Of Legends. I enjoyed getting a glimpse of how different roles come together to build games, which I’ve never worked on myself.


Failed #SquadGoals – Jeremiah Lee

The former product manager at Spotify criticizes the famous Spotify Squad model for the lack of alignment and accountability. But I also heard from my coworker from Spotify said that they updated the model in early 2018, and that she missed working as a fully autonomous unit. Your mileage may vary.

Hiring programmers with a take-home test – David Heinemeier Hansson

Take-home test is a contentious topic where people take an ideological stance. But idealism has to meet pragmatism at work. As a hiring manager, you have to get enough signal through a process acceptable to both the team and the candidates. Maybe, if you are a famed company, you may be able to get away with a more stringent interview process. But a high-quality candidate may not appreciate the extra effort your process takes.

Terminology: it’s not black and white – British National Cyber Security Centre

I am pleasantly surprised by this announcement. I never expected a government agency (especially a cybersecurity agency) to eagerly update their policies to promote a more equal, accepting environment for all.

Business 💸

Impact of COVID-19 Crisis – Startup Genome Project

Since the beginning of the crisis 74% of startups have had to terminate full-time employees. 39% of all startups had to lay off 20% or more of their staff, and 26% had to let go 60% of employees or more.

The numbers speak for themselves.

The Burn Multiple – David Sacks

The Burn Multiple is defined as Net Burn (spent investment dollars) divided by Net New ARR (revenue growth) and can be used to show the efficiency of growth. Even if you are not a founder, the efficiency of your company will matter in this business climate, as shown above.

Young Reacts #72 – Formik, Technology Radar, and more

A bit of a personal rant —

It is difficult when I see a situation that runs counter to my principles, justice as fairness (Rawlsian), and tolerance. I try hard to understand and empathize with those that upset me and also wonder if I need to take a stand against the situation. I recognize that I won’t be able to change those against me. I also feel some responsibility for the less privileged victims to show solidarity. I worry about personal consequences as well, the stress and possible reputation hit. I wonder if private rants like this are productive.

Photo by Frank Busch on Unsplash

Software Engineering 🌐

Formik – Jared Palmer

I heard of Formik before, but I was never convinced enough to use it. I felt that in simple forms, useState and prop drilling weren’t too bad. I gave it a try last week, and it was an instant game-changer. It made building a form with a deep component tree a breeze. Validation and async states like “isSaving” are easy to manage, as well. Most of the frontend work is form building anyway, so give it a try.

Enduring techniques from the Technology Radar – Thoughtworks

This article surveys mainstream concepts and techniques in the software industry. Reading this article will allow you to see what you have missed. I found a couple of ideas, such as consumer-driven contract testing, to catch up on.

Documenting Architecture Decisions – Michael Nygard

One of the hardest things to track during the life of a project is the motivation behind certain decisions.

I first read this article in March 2019, but I clearly haven’t internalized the learning since the idea felt new again. The article this time is more timely and applicable since I am about to leave one project to the newer members of the team.


Designing in an all-remote company – Christie Lenneville

A GitLab’s UX Director wrote about how their UX designers work in a distributed fashion with some good ideas to create an effective design organization (like recording meetings). She touched upon this point briefly, but I want to emphasize that both synchronous and asynchronous communications have their roles.

When you have time, take a look at their recorded design showcases too.

Jeff’s Letter to the Angular Team and Community – Jeff Cross

Sadly, another article on poor leadership in a prominent tech community. Since it is very long, here is a tl;dr: Angular leadership has been putting up the facade that everyone is happy and aligned while imposing ironclad micromanagement internally.

On a similar theme, here is one on Elm leadership that I shared before:

Business 💸

It’s Time to Build – Marc Andreessen

Marc Andreessen wrote an emotional piece on how the United States should change, given the lackluster response to the pandemic. He criticizes the inability to “build,” and produce, and start investing in those capacities. Humans are hard to change without a crisis, which this pandemic is. But polarized politics, among other things, will probably squander the chance.

How Medium became the best and worst place for coronavirus news – The Verge

Using any sort of user-generated content looks like a losing proposition these days. Either you censor it and get dinged or not censor it and get dinged.