Home

2023.05.22 - The Staff Engineer's Path

Pi

Ping Xia

May 22, 20235 min read

Title: 2023.05.22 – The Staff Engineer’s Path

Bun: Incredibly fast JavaScript runtime & PyTorch for WebGPU & ChatGPT for iOS & TypeScript is ‘not worth it’ for developing & libraries & Technical Debt

This Week’s Highlights

The Staff Engineer’s Path — Book Reviewhttps://smyachenkov.com/posts/book-review-the-staff-engineers-path/https://news.ycombinator.com/item?id=35974845
The first thing the book addresses is the question: Who is the staff engineer, and how are they different from IC and management roles? What are their priorities, skills, scopes, expectations, and position on corporate charts and ladders?

Favorite Quotes

  • Early in your career, if you do a great job on something that turns out to be unnecessary, you’ve still done a great job. At the staff‑engineer level, everything you do has a high opportunity cost, so your work needs to be important.
  • You build credibility every time you take on a chaotic situation and make it easier for everyone else to understand.
  • Know why the problem you’re working on is strategically important, and if it’s not, do something else.
  • Whenever there’s a feeling of “someone should do something here,” there’s a reasonable chance that this someone is you.
  • Writing about engineering strategy is hard because good strategy is pretty boring, and it’s kind of boring to write about. If you write something interesting, it’s probably wrong.

Messenger Desktop: Faster and Smaller by moving to React Native from Electronhttps://developers.facebook.com/blog/post/2023/05/17/messenger-desktop-faster-and-smaller-by-moving-to-react-native-from-electron/
React Native has been an excellent tool for creating mobile applications at Meta. It allows us to build feature‑rich mobile experiences reaching millions of users every day. With growing demands for our desktop applications, our team explored whether React Native could provide similar wins for desktop development at Meta. We were able to partner with Microsoft to rewrite Messenger Desktop with React Native for Desktop. In this post, we’ll go over the challenges we had with Electron and why React Native was the right choice for us.

Bun v0.6.0https://bun.sh/blog/bun-v0.6.0https://bun.sh/blog/bun-bundler
Incredibly fast JavaScript runtime, bundler, transpiler, and package manager – all in one.

How I Re‑implemented PyTorch for WebGPUhttps://praeclarum.org/2023/05/19/webgpu-torch.html
I’ve been working on a WebGPU‑optimized inference and autograd library called webgpu‑torch with an API that matches PyTorch. The goal is to run neural networks in the browser at speeds comparable to a Linux workstation. Many kernels have been implemented and its design is easily extensible. It’s available on NPM now and works in both the browser and Node.js!

Introducing the ChatGPT app for iOShttps://openai.com/blog/introducing-the-chatgpt-app-for-ios
The ChatGPT app syncs your conversations, supports voice input, and brings our latest model improvements to your fingertips. Related:

Deep Reads

How immutable scripts in Deno allow Windmill.dev (YC S22) to build production‑grade opshttps://deno.com/blog/immutable-scripts-windmill-production-grade-ops
We’ve been happy using Deno in production at Windmill—it’s simplified development, added a layer of security, and ensured optimal performance for our enterprise clients. In the future we aim to match serverless/AWS Lambda performance by integrating more deeply with Deno and running it in‑process.

React from Another Dimension with Dan Abramovhttps://www.youtube.com/watch?v=zMf_xeGPn6s
Related: 四年了,我为什么还是不喜欢 React Hooks? (“Four years in, why I still don’t like React Hooks?”)

“TypeScript Not Worth It!” – Svelte creator announces a rewrite back to JavaScript, sparking controversyhttps://mp.weixin.qq.com/s/lA3ApjELCiUHudn9oGxR9Q
“Bottom line, our migration decision was driven by actual needs, not any ideological stance. For a long time we’ve built SvelteKit with a pragmatic, truth‑seeking attitude (whereas Svelte itself leans more idealistic). After all, boosting productivity here is the hard‑core reason.” – Rich Harris.

The future of iOS development with Flutterhttps://medium.com/flutter/the-future-of-ios-development-with-flutter-833aa9779fac
Our recent accomplishments and future priorities for making Flutter a better tool for developing iOS apps.

How to Host Dynamic Content on IPFShttps://blog.ipfs.tech/2023-how-to-host-dynamic-content-on-ipfs/
The InterPlanetary File System (IPFS) is a distributed, peer‑to‑peer file system designed to make the web faster, safer, and more resilient. Although IPFS excels at hosting static content, hosting dynamic content remains a challenge. This article presents a design for hosting dynamic content on IPFS using InterPlanetary Linked Data (IPLD), InterPlanetary Name Service (IPNS), and DHT Provider Records.

Numbers every LLM Developer should knowhttps://github.com/ray-project/llm-numbers
At Google, Jeff Dean (a legendary engineer) compiled a document called Numbers every Engineer should know. It’s useful to have a similar set of numbers for LLM developers for back‑of‑the‑envelope calculations. Here we share the particular numbers we at Anyscale use, why each is important, and how to leverage them. Related:

Digital Audio Workstation Front‑End Development Struggleshttps://billydm.github.io/blog/daw-frontend-development-struggles/
I’d like to write about where my head has been the past several months. If you’ve noticed that Meadowlark’s development has slowed, this article explains why. Essentially I severely underestimated how difficult it would be to develop the front‑end/GUI of Meadowlark—not only because a DAW’s GUI is inherently complex, but also because finding a GUI library truly suited to the task is a major hurdle. I want this post to achieve three goals… (content truncated)


Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.

Keep reading

More related articles from DriftSeas.