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.
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.
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.
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!
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.
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).
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 😎
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.
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.
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 🤔
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.
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.
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.
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.
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
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).
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.
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.
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.
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.
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.
This issue is the 50th of my newsletter. The first issue was published on November 25, 2018, so today marks a nice full circle. I am grateful for all of my kind readers who still have the patience to open and read through the letters. Especially I want to thank those of you, including my wife Eunyoung, for your kind encouragement and necessary feedback. Looking forward to another 50!
This link has a survey of the technology landscape. It covers both Web and Server development which allows a UI engineer like me to reevaluate my learning investment. I found this piece, Front-end integration via artifact, most useful.
After reading Continuous Delivery, I have religiously automated all manual tests and wrongfully chosen not to do any manual tests. I, as a result, released a fair bit of bugs to production. My colleague showed me how stable software could be with proper manual testing, which led me to read the linked article.
“It’s just the algorithm” cannot be an excuse. Her writing makes me worry about the general inexplicability of modern-day production algorithms. Worse yet, some customer service departments may find that plausible deniability useful.
I have been enjoying a writing guide by Steven Pinker, the best-seller author. Of all the lessons, I was most impressed by the argument that some grammar rules, which I studied to perfect, are overly correct; that a writer ought to strive for clarity even when that means violating some nitpicking rules.This point got me to ponder whether I would.
I started learning English as a second language since I was six-years-old. By now, I really don’t have a problem speaking, listening, writing, or reading. And I sometimes dream in English too.
Despite two decades of education, I still take extra care when I use English. I keep mentally noting my grammatical errors every day and make sure I don’t make the same mistake. I aim to be perfect because I think I am only borrowing someone else’s language. In this state of mind, there is no way I could intentionally break grammar. I now realize the ability to break away from rules is a privilege. Even when no one notices, I do and I will censor myself. This is the classic impostor syndrome.