2022.06.20 - Why We Will Never Have Enough Software Developers
Ping Xia
Title: 2022.06.20 – Why We Will Never Have Enough Software Developers
This Week’s Highlights
Why We Will Never Have Enough Software Developers https://whoisnnamdi.com/never-enough-developers/
To conclude, I emphasize: highly skilled people prefer highly stable careers in the long run. This lets their relative ability and human‑capital advantage compound over time. Rapid deterioration of skills continuously levels the playing field, preventing the best from separating themselves from the pack. In such a situation, it makes more sense to quit the race early than get caught in the pile‑up. Related:
- The Developer Productivity Manifesto
- Seven Ineffective Coding Habits of Many Programmers
- Software Engineering – The Soft Parts
- Why the Once‑Celebrated Scrum Agile Methodology Is No Longer Favored by Big Companies
- Reflecting on Software Development: The Human Factor (Part 2)
- The 8 Jobs of Management
Tauri 1.0 – Electron Alternative Powered by Rust https://tauri.app/v1/guides/
Tauri is a toolkit that helps developers make applications for the major desktop platforms—using virtually any frontend framework in existence. The core is built with Rust, and the CLI leverages Node.js, making Tauri a genuinely polyglot approach to creating and maintaining great apps. Related: Wails – Electron Alternative Powered by Go, How I Created the Focus App Using React and Rust.
Introducing ProbeLab https://blog.ipfs.io/2022-06-15-probelab/
ProbeLab is an effort to apply solid scientific measurement methodologies to benchmark and optimize network protocols that operate in decentralized P2P environments. ProbeLab was born out of the need for developing a deeper understanding of how permissionless, decentralized networks can be made more performant and comparable to their centralized counterparts. ProbeLab’s mission is summarized in the following quote: “You can’t improve what you don’t measure, and you should measure what (you think) you’ve just improved.”
Sponsoring Dependencies: The Next Step in Open‑Source Sustainability https://humanwhocodes.com/blog/2022/06/sponsoring-dependencies-open-source-sustainability/
We are at a point in open‑source development where it’s become clear that not all projects have the same opportunity to receive funding, and maintainers are the key to fixing this.
Accelerating GitHub Theme Creation with Color Tooling https://github.blog/2022-06-14-accelerating-github-theme-creation-with-color-tooling/
Learn why the GitHub Design Infrastructure team built a dedicated color tool and how they use it to create new color palettes for GitHub.
The World’s Most Satisfying Checkbox https://www.andy.works/words/the-most-satisfying-checkbox
The Art of Game Feel (a.k.a. “Juice”) in Product Design
Deep Reads
How We Reduced Bugs in Our React Codebase https://betterprogramming.pub/how-we-reduced-bugs-in-our-react-code-base-9a7a979b4442
Understanding patterns and anti‑patterns in React. Related: React Element vs Component.
Notes on Maintaining an Internal React Component Library https://www.gabe.pizza/notes-on-component-libraries/
This document is a collection of my thoughts on maintaining a component library as part of an existing design system used by a large number of frontend applications. I don’t particularly care much for visual design—though I seem effective at implementing it—and am more interested in the software‑engineering and social challenges of building a large‑scale component library.
WebGL实战之绘制圆角矩形 https://mp.weixin.qq.com/s/4uUaFMc6uUOPXE-8cveTFg
As business needs grew, some cards in the subscription‑account message stream have been transformed into dynamic components. The UI rendering work is now handled by a WebGL‑based renderer. This article explains the underlying implementation: the core is drawing rounded rectangles with WebGL, which we can then assemble like puzzle pieces to render the entire card.
端智能在大众点评搜索重排序的应用实践 https://tech.meituan.com/2022/06/16/edge-search-rerank.html
Search is a crucial channel in the Dazhong Dianping (a major Chinese review platform) app that connects users with merchants. More and more users rely on search in various scenarios to find the services they want. Understanding users’ search intent and ranking the most desired results at the top is the core of any search engine. To further improve personalized ranking and user experience, the search technology center explored deploying deep‑personalization models on the device (edge). This article shares the practice of edge‑intelligence re‑ranking in the Dazhong Dianping app, covering three parts: (1) the problems and overall workflow addressed by edge re‑ranking; (2) the exploration of on‑device re‑ranking algorithms; (3) the system architecture, deployment, and optimization, followed by a summary and outlook.
AbortController Is Your Friend https://whistlr.info/2022/abortcontroller-is-your-friend/
One of my favorite new features of JS is the humble AbortController and its AbortSignal. It enables some new development patterns, which I’ll cover below, but first: the canonical demo.
Using Web Streams on Node.js https://2ality.com/2022/06/web-streams-nodejs.html
Streams are mechanisms for reading and writing data—e.g., from and to files. JavaScript has the cross‑platform standard “web streams”. We explore it on Node.js, but most of what we learn also applies to web browsers and Deno.
The Many Definitions of Server‑Side Rendering https://www.zachleat.com/web/ssr-overloaded/
Anyone who spends time in the wonderful world of frameworks has likely encountered the term “Server‑Side Rendering” (SSR). What they might not be familiar with is that SSR is defined differently in component‑framework and application‑framework contexts.
Scaling GraphQL with Redis Consumer Groups https://www.parabol.co/blog/scaling-graphql-with-redis-consumer-groups/
We’ve just hit over 200,000 users at Parabol. With all this extra traffic, we noticed response‑time latency starting to increase, which makes sense because until recently we only used a single Node.js server! While investigating, we realized the bottleneck wasn’t our highly efficient custom uWebSockets server (we still only use one of those). Instead, the latency was coming from all the GraphQL requests.
Helping Migrate React Native Libraries to the New Architecture https://reactnative.dev/blog/2022/06/16/resources-migrating-your-react-native-library-to-the-new-architecture
We are working on improving the resources supporting the React Native New Architecture. We have already released a repository to help migrate your app (RNNewArchitectureApp) and one for your libraries (RNNewArchitectureLibraries). We are also revamping the New Architecture guide on the website and created a GitHub Working Group to answer questions related to the New Architecture. Related: Zen and the Art of Building a Gmail‑like UI with React Native.
Why We’re Sticking with Ruby on Rails at GitLab https://thenewstack.io/why-were-sticking-with-ruby-on-rails-at-gitlab/
When David Heinemeier Hansson created Ruby on Rails (interview), he was guided by his experience with bo… (content truncated)
Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.
Sources & References
- [1]https://whoisnnamdi.com/never-enough-developers/
- [2]The Developer Productivity Manifesto
- [3]Seven Ineffective Coding Habits of Many Programmers
- [4]Software Engineering – The Soft Parts
- [5]Why the Once‑Celebrated Scrum Agile Methodology Is No Longer Favored by Big Companies
- [6]Reflecting on Software Development: The Human Factor (Part 2)
- [7]The 8 Jobs of Management
- [8]https://tauri.app/v1/guides/
- [9]Wails – Electron Alternative Powered by Go
- [10]How I Created the Focus App Using React and Rust
- [11]https://blog.ipfs.io/2022-06-15-probelab/
- [12]https://humanwhocodes.com/blog/2022/06/sponsoring-dependencies-open-source-sustainability/