惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Help Net Security
Help Net Security
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
LINUX DO - 热门话题
Security Latest
Security Latest
A
Arctic Wolf
G
GRAHAM CLULEY
月光博客
月光博客
S
Securelist
D
Docker
J
Java Code Geeks
T
Troy Hunt's Blog
T
Tenable Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 最新话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
H
Heimdal Security Blog
The Hacker News
The Hacker News
博客园 - 三生石上(FineUI控件)
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Forbes - Security
Forbes - Security
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
S
Secure Thoughts
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Check Point Blog
云风的 BLOG
云风的 BLOG
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
L
Lohrmann on Cybersecurity
F
Full Disclosure
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed

Software Design: Tidy First?

The Cost YAGNI Was Never About Why So Literal? Smalltalk Genie A Learning System Made of Learning Parts You Don't Get to Create Anything Trust Factory Genie Lessons from Genie Sessions: Prose as a Programming Language Scope Is The Steering Wheel Itchy Brain Thinkies World Congress II: May 20, 2026 Thinkie: Wider Scope Thoughts, Not Thinking? Did We Do This to Ourselves? Adaptive Radix Tree Genie Sessions: Run, Right, and Fast for the Adaptive Radix Tree Unstick Your Stuck Thinking Genie Tarpit Genie Lessons: Nobody Wants Agents Passing Tests Bore Me
Hey, N00b, We Didn't Hire You to Complete Tasks
Kent Beck · 2026-06-20 · via Software Design: Tidy First?

Welcome! I am going to pass on to you the secret to a successful and brief noobitude, and I won’t even keep you in suspense: nobody cares how many tasks you complete. Why not, and what we care about instead are the subject of the rest of this essay.

Look at your situation from our perspective (by “our” I mean “older engineers”). We hired a bunch of people like you. Some of y’all (we’ll call them A’s) will be amazing game-changers, making everyone around them wildly more productive. Many of you (B’s) will be solid performers. Some of you (the C’s) won’t be here in a year.

We seniors have our regular work to do, but we also have to figure out which category you fit into. We support the superior performers as much as we possibly can. We support the solid performers enough to help them mature. Brutal as it seems, we’d like to expend as little effort as possible on people who aren’t going to make it.

It’s your job to get in the category you want to be in and send us the signals that tell us that’s where you belong.

That stack of tasks you have to do? Your manager or your tech lead could finish those in much less time and with much less hassle than it takes to help you through them. If all we cared about was today’s productivity, we wouldn’t have hired you at all. Instead, we (the seniors) are focused on the future: we know there’s going to be far more work here than we could possibly accomplish. We are paying your salary now as the option premium on the engineer you are going to become. If we play this game right, we’ll have a kick-ass next generation of engineers. If not, we’ll have to be doing the same engineering jobs ten years from now, and we really don’t want to be doing that.

This quarter’s newsletter is brought to you in partnership with WorkOS.

WorkOS is the infrastructure B2B and AI-native companies use to sell to enterprise. It covers everything enterprise security requires: SSO, SCIM, RBAC, Audit Logs, AI governance, and more. Engineering teams ship it in days. Trusted by 2,000+ fast-growing companies, including OpenAI, Anthropic, Cursor, and Vercel.

Find Out More

Noob A accomplishes 40 tasks this quarter. Noob B accomplishes 20. Which is better?

Not enough information. What if all the tasks were the same difficulty? Then which is better? Still not enough information. Remember, we’re trying to figure out if you’re an A, a B, or a C. What is the information we require to figure that out?

The first level of sorting is figuring out if you’re a B or a C. Here are goals that are more important than closing your task in the absolute minimum time:

  • Your code works.

  • You told other people what you were doing.

  • You got done in a reasonable amount of time (be good if it was within a factor of three of the initial estimate).

  • You did not cause other people unreasonable amounts of work. Work for people you asked for help—okay; reviewers who had to spend extra time—bad; on-calls who had to respond to errors—very bad; devops who had to respond to incidents you caused—double plus bad.

Any attempt to game the system by claiming to have done work you haven’t done marks you immediately as a C. Assume you can’t game this system.

You will send out some C signals. That’s inevitable. We all did. Never, never send out the same C signal twice. And make sure the balance of the signals are that you are a B.

The second level of sorting is, given you’re at least a B, are you an A? What distinguishes A’s is not how many tasks they close, but how much they learn from each task. Remember, your productivity sucks by our standards. We expect that. It’s the first derivative of your productivity that we’re looking for. Here are some signals that you’re an A:

  • You make a convincing case that the task needn’t be done at all.

  • You mine data and discover the 10% of the task that creates 90% of the benefit.

  • You implement the task several ways.

  • You uncover a better design and submit a string of diffs not only implementing the task but simplifying other parts of the code too. Bonus points for doing this before you implement (make the hard change easy then make the easy change).

  • You submit a string of diffs instead of one big one. Bonus points if you push the diffs daily.

  • You write an internal tool that simplifies similar tasks. (You lose points if there are no similar tasks.)

  • You submit useful diffs in areas that having nothing to do with your team, but not at the cost of finishing your official tasks.

  • You write up what you learned in an interesting, useful and persuasive way.

  • You are an insightful and responsive reviewer.

  • You include solid unit tests. (I wish this was a B signal, but baby steps...)

Isn’t it nice that the “kick ass” list is so much longer than the “don’t mess up” list? You have many ways to shine.

All the A signals share one trait—they take longer than just doing the work necessary to close the task. This isn’t permission to spend forever on shiny side-bars. Always get the task done in a reasonable amount of time, just not the absolute minimum time.

You may be wondering where this “extra” time is going to come from. You’re already committed up to your eyeballs. That’s where Everything You Need To Know About Programming But Didn’t Know To Ask [ed: to be written] comes in. We’ll talk about time management, task queue management, diff queue management, and other topics that will accelerate your progress.

Take the time you save and invest it in yourself in ways that benefit others. That’s what we’re looking for.