Hacker News new | past | comments | ask | show | jobs | submit login
Attention is your scarcest resource (benkuhn.net)
674 points by adambyrtek on Sept 6, 2020 | hide | past | favorite | 172 comments

I know this isn't the directly the topic of the article but the title "attention is your scarcest resource" reminds me that I wish there was some pledge/badge of "we will not intentionally distract you and provide options to reduce distractions" pledge for apps and websites.

It drives me nuts for example that discourse has "achievements" to distract you. Every discourse forum I join for customer service is yet another 15 distracting achievements begging for my attention. It's not that I care about the achievements, it's that it's the same notification system that I got a new message so I'm compelled to go see if the highlight is a new message and when it turns out it's not, it's a dumb achievement badge then my time has been wasted and my mind has been distracted.

Multiply this by 50 apps to 100 apps/sites etc and it's clear that features as such that can't be turned off are irresponsible toward and disrespectful of users. That idea that you're a bad person if you design and create such distractions needs to spread.

I work at Discourse; there is new functionality coming in the 2.6 release to address this issue, see https://meta.discourse.org/t/let-experienced-users-skip-new-.... When you join a new community you will be able to click an option that skips all of the Discobot tutorial and the new user badge notifications (which are the basic ones like First Like).

This is great! Can I opt out of all badges or only "basic ones".

Of course it will be a decade before everyone updates to a version that supports this option and allows the user to enable it. In the meantime we'll have our time and attention wasted for years (T_T)

There's another, automatically getting spammed with emails and then having to manually opt-out. I get you want it to be frictionless but when signing up a opt-in checkbox for email would respect my time and scarce attention than opting me into daily emails and forced me to later opt-out.

And sorry to pick on Discourse. There's tons of other offenders but Discourse is one most people on HN have experience with. Steam/Xbox/Playstation all have the same issue. Wasted time and attention required for things I don't care about. The worst is the OS popping up achievement notifications right over the climax of some scene. That others care is fine. Just let me turn them off because "Attention is your scarcest resource".

@greggman3 Congratulations on your new Discourse badge "Differentiator" for replying to a feature request with a new feature request. Disclaimer: Not a real badge, and I don't use Discourse. Sounds like the developers are very responsive, and it's probably a good tool, this was just easy and fun.

Is it a new feature request? Seems like it'd fall under the same user story:

As a user, I don't want to be bombarded with distracting emails and notifications every time I join a new board.

What is particularly nice about hacker news is that this comment didn’t actually generate a notification. OP has to actively decide “I want to look at that conversation again”, and then navigate to it.

It’s actually quite nice, I only remembered I posted this comment just now and I came back and saw it had some upvotes and extra comments which was a nice surprise.

I guess that depends on your definition of "responsive". People have requested opting out of badges since discourse shipped 7 years ago.

That automatic email issue is an interesting one, I will take a look and see if there are similar complaints or internal discussions. I know we have some ideas about letting users choose which categories they are tracking on signup instead of auto opt in, emails would be another great thing to do this with (I have turned off email notifications for the Discourse forums I am a member of FWIW.). Thanks for the extra comments!

Slack does this too. Slackbot sends you "getting started" tips by default, which led to me receiving an email to ensure I enable notifications. That email was sent out of office hours on a Friday evening too. I'm sure it wasn't intentional but it made it look like an insidious attempt to cram itself as deeply into my attention span as possible.

One way to deal with this is to use the element picker mode of uBlock Origin. Often it's not too much of a hassle to just zap the bell icon and be done with it.

You could also enable uBO's 'I am an advanced user' mode in the settings and block all images on the website.

I've been doing that for youtube to block video thumbnails and it works really well for me.

This is enabled by default, but it can be disabled by site admins. On the three.js discourse, for example, we disabled this "feature" pretty soon after creating the forum.

Same for marketing emails sent from addresses used for critical alerts.

I think the most salient point of this blog is pretty much buried as the closing thought. It’s pretty hard to be a good engineering manager when you also have programming responsibilities (IC work). Sure, you can debate about what the different hacks are to try and work around this and do a good job in spite of the difficulty, but it’s a lot easier to just go full-time managing.

In my experience it takes six or more people to fully occupy a manager. Ten seems to be about perfect. You can go higher than that (and many do) but at a certain point you’re not evenly investing in all your people anymore, you’re mostly focusing on a few at a time.

Obviously the hardest part of this is if you don’t have 6+ people to manage. My answer to very small teams is not to have a manager at all, just have a technical lead and trust that a group of 1-5 people can work out their own crap.

I'm currently a 60% programmer, 40% manager, and can confirm that I am doing a terrible job as both a manager and as a programmer right now. I'm managing four people, three of whom have been hired in the past year. I get lots of complaints about tasks not being clear enough for them and not spending enough time on code review. But I'm also far, far behind on a major project where I have to do the majority of the programming. What I thought would be a simple task I could finish in a month has turned into a death march from all of the interruptions; weekends and holidays like this one are the only time I can get work done.

I figure it's only a matter of time before I'm let go. Five years of equity down the drain, but I've already tried to fix the situation and upper management just doesn't care. The new CTO doesn't know me well enough to care about the past, when times were good.

You need to delegate tasks, it's part of your job. Train the new hires, add them to your project and let them do the majority of the work. And you shouldn't work on weekends and holidays.

This so many times. This has been my journey to becoming a competent manager in the past year. What’s helped is framing it as: if I was someone’s manager after a year have they grown more or less than if I wasn’t there. We grow through being challenged and trying on new responsibilities. Delegating running meetings, scoping larger amounts of work, giving presentations— whatever. If you do all these things yourself you’re both making more work for yourself and keeping growth opportunities from your reports. The positive feedback loop is your team gets more done AND when you see someone go from struggling to crushing it at something you used to do it’s incredibly rewarding.

Another lesson hard learned was realizing it’s not my job to do everything like an IC. And especially not my job to personally fix all people problems. I’m merely just here to guide and coax along the right path. And give lots of specific feedback on what’s good and what’s not so good.

A hope maybe this helps the grandparent poster. Your post resonates heavily with where I was at a year or two ago. Being a manager ain’t easy. I’d argue much more so if you were a really strong IC.

I wish that this helped. But my job title is programmer, and managing the 5 other people is just a side task. And there's so much work that the team is always split on several different projects. So in theory delegation sounds like a good idea, but I don't have spare capacity to delegate to. Nor do I have control of which projects we prioritize, those are coming from the CEO and CTO, and head of product -- one major project each.

I've known since university I'm bad at delegating things. Do I just have to learn by doing it?

Finally, what do you mean by IC? I'm pretty sure I'm not an integrated circuit, but I've never gotten the head X-ray to check for sure.

Personally I think I would write down your first paragraph or something similar to it and have a conversation with your manager using that as your guide. I’d be looking for clarity on what your priorities and responsibilities really are. E.g. does managing come first or programming? And if push comes to shove is one ok to drop for the other?

Another topic might be communicating the lack of bandwidth for the work. Maybe there’s scope creep or too much work on the plate and some needs to be dropped.

As far as learning delegation, yeah, that’s how I did it: trial and error. For me finding really competent people who I trust and who want opportunities to grow and take on new responsibilities has helped a lot as a kind of prerequisite.

And yeah sorry IC = Individual Contributor, i.e. not managing anyone.

You feel responsible for the project, that's normal and i would definitely pick you as a colleague. But you have to let go some of this responsibility; start being responsible for the delivery of the project and the internal goals, leave the technical work to the team. Instead of assigning tasks to yourself, assign them to your team members. Start with low priority tasks and move forward. If the team is competitive and the project is good, they will shine and you will feel better that you have guided them. It's definitely not a walk in the park, and at least you will fulfil your role as a team lead.

They probably mean Individual Contributor, which seems to be an American term for "just a dev, nothing else".

First, sorry to hear your story, that stinks.

Second, since you’ve presented this to upper management and they aren’t understanding, I’d take that as a serious signal to look for a new opportunity.

If you do want to stick it out, the best advise I have for you is to 100% drop coding even though you think you can’t. Allow yourself to whiteboard, pair program and review PRs, but don’t allow yourself to be the owner of single programming ticket.

Suddenly you’ll have a lot of time to pour into training, equipping, and leading your team. You’ll probably be surprised how much they improve.

It still might not work out, but given you already know how to be a programmer, taking a shot at 100% managing for a while gives you more opportunity to learn than sticking with the status quo you’re saying doesn’t work.

If you’re really struggling and would like more help, I’ve been doing some coaching lately and I’d be happy to book a chat. My gmail is the same as my HN username :)

This is really sad to hear. I'm curious to know why you have to do the majority of the programming?

It's a security-related task that required deep knowledge of how various parts of the monolith fit together. Half my team -- the side with the other senior dev -- is busy on another even higher priority project. Which leaves me with the choice of explaining to new hires how the system works, or doing it myself. Or really, which takes longer to do. Because of the security implications, I didn't want to take the risk with people who, well, don't have my level of paranoia.

Maybe I should have gone the teaching route, I'd have other people to blame. But a good manager should protect their employees, not the other way around.

Thanks for listening. I guess I'm just complaining on a throwaway because I don't have anyone else to talk to.

Don't write another line of code. Setup mob programming with your colleagues and stay away from the keyboard. Instruct them what to do and answer all their questions. It will be slow at first but highly deliberating when they've understood the task and they can be more or less autonomous.

“Effective delegation requires giving up some control of exactly how the work is to be executed.”

I believe the right option would had been to delegate, mentor and trust. Is never too late. Have been in a similar position myself a couple of times...

> Which leaves me with the choice of explaining to new hires how the system works

No documentation?

From experience I'd say there doesn't tend to be a great deal of documentation, or up-to-date documentation anyway, on a large monolith application.

Good software engineers are not necessarily good writers, so even when there is documentation it's not always helpful either. Especially to completely new people in a project without background information. For security related work, how much background can you assume? How in-depth does the documentation have to be? etc etc..

Documentation, even when it's there, doesn't always fix this.

Handing documentation over the wall is usually a futile exercise anyway. Documentation should be usually be pair-written by a knowledgable person and a newbie.

always train others

Can you not exercise what you’ve vested and move on to a more reasonable org?

Nothing has vested yet, nor will it until the company does an IPO. No IPO is planned. It's a 10 year old company, but only just raised its first round last year. In the old days, we were forced to survive on revenue generated from B2B sales, which was honestly not too bad.

My employee number is under 25, but it's still just pretend equity at this point.

Seems like you're labouring under false pretenses then.

A. What is the value of your equity?

B. What is the likelihood of it vesting in the next 5 years?

C. How much "total benefit" (salary increase, stress decrease, etc) would you gain from moving to a different company over the next 5 years?

If A*B < C, move.

Heck, even 5 years might be too long of a consideration here.

> It’s not uncommon to find engineering managers with 30 direct reports. Flatt says that’s by design, to prevent micromanaging. “There is only so much you can meddle when you have 30 people on your team, so you have to focus on creating the best environment for engineers to make things happen,” he notes.

Source: How Google Sold Its Engineers on Management https://hbr.org/2013/12/how-google-sold-its-engineers-on-man...

That sounds to me like middle management, not front-line technical management. At 30 people you can indeed only focus on the big picture strategy and process, and you really can’t help anyone with their technical issues. If there is no layer of senior technical leadership between that manager and the newer/junior ICs, that would be a disaster.

Ah, it seems we are following the Google way then! I was wondering why my manager had some 100 direct reports. I guess it’s just to prevent meddling.


The more I move away engineering, the more I feel the unreliability of human beings, and its stark contraction to machines.

Of cuz, machines, when sufficiently complex, becomes unreliable as well. But by operating still within that boundary, one can already do exceptionally things.

People managers essentially are dealing with a completely different entities than machines. Rarely one can operate on 2 different entities and still perform exceptionally.

Y’all might not be machines but you’re definitely cogs.

I dont think human are cogs, at least not swes, they are more like little electronic controller...

And a sigmoid function isn't a boolean switch but you still get more or less the same result regardless of how complex the definition is.

Ultimately employees move the company machine, whether their job is to code, sell, manage, or clean toilets.

> In my experience it takes six or more people to fully occupy a manager. Ten seems to be about perfect.

Aha, so it takes one full-time manager to manage one 10x programmer ...

Is that a team of 10 without the communication overhead?

In all seriousness, is it time to get rid of the 10x meme? People have strengths and weaknesses; people have areas they've experienced before and things they've never done. Some people are going to work faster than other people on certain tasks - that's life.

> People have strengths and weaknesses; people have areas they've experienced before and things they've never done.

Nope, you can't reduce the differences between people's skills into "they had more years of experience with X (but fewer with Y)".

First, there are people who spent decades working with the same technologies, and still somehow failed to learn the essentials. Some people simply have almost zero curiosity and zero desire to self-improve. (Giving specific examples is risky, because they sound completely made up. An Oracle database expert, who doesn't understand the necessity of having a primary key? A Java developer who never heard about Map, so he kept implementing it over and over again as a set of methods, for each variable separately?) Being 10x more productive than these people is quite simple. But it is also possible to be 10x more productive than the average developer.

Just consider than "10x more productive" doesn't necessarily mean typing on the keyboard 10x faster. You can save time by using a library; this includes understanding and using the standard libraries instead of reinventing the wheel. You can save time by using the right abstraction, instead of copy-pasting all over the code. You can save other people's time by documenting the code you wrote. You can save testing time by writing unit tests. You can save everyone's time in the future by having a clear project architecture. -- Furthermore, you can increase the team's productivity by teaching your colleagues at least the basics of these skills.

There are people who are this good at the things they do regularly. (Which also happen to be the things I do regularly, so it is humiliating to see the level of skill I will probably never reach.) And they can still learn new things with at least the same speed as anyone else around them.

To clarify, I didn't mean to equate experience to skill in anyway whatsoever, as I tend to agree there is little correlation between the 2, especially when it comes to purely technical skills. I simply meant that someone who has seen a given problem, read the right article or studied the right area has some experience to share that someone who hasn't does not.

An Oracle database expert, who doesn't understand the necessity of having a primary key? A Java developer who never heard about Map, so he kept implementing it over and over again as a set of methods, for each variable separately?)

Neither of those examples surprise me that much. It’s not that uncommon that being able to produce something that vaguely works well navigating a messed up organization is what it takes to be productive. The bar on not being a totally messed up organization is low but tons of places don’t clear it.

10 is already too many. 8 is the limit before you get diseconomies of scale. This was already well described over 40 years ago in the mythical man month https://torchbox.com/blog/40-year-old-lessons-and-mythical-m... ... there’s also a ton of writing on ideal Marine squad size that tells the same story

Do you have any good references for the squad size point?

If I remember right Corps Business talks about this https://www.amazon.com/Corps-Business-Management-Principles-...

...otherwise - being a bit of a history nerd - I’ve run into the idea many times in discussion of how military units have evolved over time. Much of the thinking about ideal squad sizes began in WW2 - don’t have single thing I can point you at though

Is it time? Absolutely, yes. Will it die? Unfortunately, never.

Why is this ‘myth’ talked about here in negative terms?

From my professional experience, it’s obvious that there are coworkers that can output even 100x impact qhen compared to peers. When judging entrepreneurs it’s visible some people’s multiplier/productivity is in the million-times compared to others.

Given automation is at the core of our work as devs, why do some people think 10x isn’t credible?

I totally agree that it's possible for people to produce a ton more value than others. I just think it's super rare.

In my experience it's a lot more common that I see people churning out 10x the AMOUNT of code (or some other insane metric) which generates an enormous amount of work for everyone else to keep up with, fix, maintain, understand, etc. These people are praised for their output. But are they making the TEAM 10x more productive? No way.

Prolific output doesn't always mean 10x value created. I know people know this, but I think the reason people are sick of the trope is because they've been burned by a "10x'er" that was all output, not actual value.

Producing 10x value is actually.. really, really hard.

I don’t think that’s quite true. I probably write 10x less code than most of my colleagues, but where I write code it impacts (and hopefully improves) everything.

I think we agree!

At my work the guy who wrote pretty much all of the code can fix stuff far faster than me. But then it's not documented, not tested and he is really unhelpful at explaining it to others. Is that really a 10x engineer, when the fact others have difficult is down to the way he works?

As long as some companies can get away with replacing an entire team (including managers) with 1-4 highly skilled developers, the myth will remain.

As a practical example, consider 4 people beating Windows Mobile with what later became Android.

There are still plenty of places with 1/10X programmers.

I've worked with at least three people who were -x programmers. That is, they produced negative value to the organisation.

They did this by breaking systems (DNS, build pipelines, etc), producing code so bad that it had to be rewritten from scratch, and distracting everyone on the team through drama.

They also did it through endless requests for help - not the kind where they learn from it, though. The kind where they ask the exact same question next week of someone else. They would cycle through asking everyone on the team about the minutiae of their job, because they had no idea how to do it themselves.

I realise that the idea of the '10x rockstar' is an unpleasant one. But I also know that the best people I've worked with over the years were at least ten times better than the worst.

Yes, thank you for saying this. I feel that you may be lucky to have only encountered 3 of these...even if on reflection I’ve only encountered an obvious 2.

Let me add that I enjoy teaching folks, that I enjoy being a multiplier even if it means I won’t be an additive. I am also an apologist, and willing to believe that people are adding important ingredients to a team or output that aren’t immediately obvious or visible.

But -x folks exist.

Unfortunately the -x folks often DO have significant skills at hiding their negative impact.

> Unfortunately the -x folks often DO have significant skills at hiding their negative impact.

Any who remain employed, while being persistently -x (or -anything) would have to.

This is for programming (only). In other areas (GRC/security) the 10x is cumbersome/impossible.

Especially in many mega-big organizations, in non-dev depts, the "Manager" is also tasked to: build and perform analytics, do VERY HEAVY ad-hoc reporting (aka Directors bombarding you with 10 different mini-projects weekly) and at the same time you have to run the projects with 5-10 people, meaning driving the ship, having huddles, handholding, coaching, mentoring, reviewing, be present in 40% of the meetings, etc.

I don't know how much hands-on is a programming 'boss' of 10 people. But if it's no coding at all, I am happy for you and I wish the same for me.

From experience I’d say it’s near impossible to combine the two roles. Especially if the company is small there is just too much: “we just need to get this done yesterday”, but at this point I guess that’s startup life. Yes you could argue that it’s about priorities and that’s true. However I do find that this only works when you don’t have people sick, on holiday or whatever. The ideal situation just breaks down way too quickly

no manager management works ok at a small company without career progression options. But in any shop where there is a standardized performance review you'll need a manager who can represent the team and individuals.

'Attention is your scarcest resource'

Clicks on link

This is why I designate the period between 8-8:30 to read all the news/socialmedia/etc for the entire day.

You have to time-limit distractions.

In the morning?

underrated comment

My most plausible scenario for the Singularity now is someone figuring out how to augment short term memory with implants.

I think we are going to find that attention is dominated by working set memory, and people who can juggle even twice as much stuff are going to operate fundamentally differently than those who can’t afford or won’t have the surgery. And past 5x it may become difficult to even communicate, much less compete.

Interesting concept. One of my favorite mutations in humans is a single nucleotide flip that confers 19% improvement in working memory capacity. Substantially underrated. Would only work on embryos, of course.

Which nucleotide site is that?

It's on my list: https://diyhpl.us/wiki/genetic-modifications/

rs17070145 in KIBRA/WWC1

From a 2006 GWAS on 351 subjects? I would give 100-to-1 against this panning out as a causal association.

Also, this was done with very low-resolution genotyping. Even if it's a genuine association, rs17070145 is probably not the causal variant, just something which is in linkage disequilibrium with it.


(cite given above)

> I think we are going to find that attention is dominated by working set memory, and people who can juggle even twice as much stuff are going to operate fundamentally differently

I would be careful equivocating working memory, attention and processing power. Attention is much more complicated than what one can juggle in mind actively, what is chosen to enter and leave it also matters, just as the shape and form of the task it conforms to. There is no singular unit in brain that “creates” attention, it is best thought as an emergent property of several, if not all, parts working together.

Besides that, even if we assumed a von Neumann architecture for human cognition, an increase in memory wouldn’t have expanded total processing capacity unless it was starved of it. I don’t think that is the case for humans, if there was a selective advantage to having more working memory as general problem solvers, we would have had it already. Granted, the types of tasks we undertake today can be different in shape, but not completely; still need to survive a physical world, still need to have successful relationships, still have to manage emotions, still have to do all of these while doing our specialized abstract cognitive tasks.

Working memory is probably closer to cache than main memory, and it's imo extremely limited and slow to warm up. Imagine a CPU with just 6 cache lines for non-OS code...

Although your argument of "if it brought such an advantage, we should have evolved into it by now" does hold water too. I suppose it hinges on how much of an evolutionary advantage we actually have from excelling in the kind of deep abstract thinking that some jobs require nowadays, vs. how much this improvement would've been worth in past centuries.

Yes, and remember that the enhancement needs to be net positive for both survival AND reproduction.

There are clear reproductive advantages to distraction. If your actions prioritize your own wellbeing (or the furthering of some cognitive task) over the instincts to eat, reproduce, and protect your children, your genetics will be at a disadvantage.

I think you are right for deep work, but in my opinion it's getting to deep work that is the problem most people face. Having a deep work switch would be life changing.

Once I get into a deep work state, the ability to hold and reason about more of the problem would definitely be helpful.

Imo one of the biggest issues with “deep work” (aside from motivation) is loading everything into short term memory. Maybe if my short term memory was enhanced to be reloadable, or maybe if I had enough short term capacity that I could retain the working set needed for deepness and be interrupted by a coworker for something unrelated.

And not letting someone who wants to know if you are going to the meeting later upset the entire house of cards.

I can't say whether more short-term memory would make us smarter, but I can say that when I had a short-term memory problem, I could do everything except program.

This dependence on short-term memory is why I find Rust's borrow checker intolerable during exploratory programming. Whatever coding bugs it prevents have to be strongly outnumbered by design errors it causes by stealing attention from the most critical activity at that time.

The borrow checker would deliver 100% of its value if it limited its enforcement to release builds, and just reported numbers otherwise.

One thing I setup in a large TypeScript project is not having type checking errors block outputting JavaScript. We still require all commits that go through PR to pass type checking and even enforce the compiler's script mode, but locally we try to ensure the developers can iterate on an idea as fast as they want and refine later. This system has been well received by all of the developers working on the project.

Yes but if the borrow checker is not enforced people _will_ release unsafe code because the borrow checker was optional. It's sort of like how Go enforces same line curlies. It was a decision made to unify the look of the syntax at it's birth, and unfortunately even a curly bracket enforcement is enough of a deterrent as it limits one's expression regarding personal choice. The designers of these languages have an agenda, and by using their tooling we agree to their idea of wisdom. The alternative is something like C. While fun to write, it's a mistake to use unless every programmer onboard is highly skilled with it's pitfalls

I see that you did not read what I wrote.

I don't think that's fair. I guarantee if what you suggested came to pass there would be projects that swap to debug builds to solve a momentary issue... and never swap back.

How's that a problem is the product works and there's less friction to develop? Let's say it produced buggy code and the cost of not enabling it was great than enabling, am sure projects would enable again..

And users would know this, and make their own choice whether to rely on the project.

Removing agency from users of your program or programming language is not a recipe for success.

You torched the pretense of civil debate by declaring GP wouldn't have written what they did if they had of read your post.

I don't agree with you on this issue or your "recipe for success". The reply was fine.

Easily said, and lets you avoid engaging on substance. Congratulations.

You avoided engaging on the substance of the parent comment in favor of a dismissive remark, and then again avoided engaging on substance when I called you out on your bad behavior. Please don't troll this site.

I am quite familiar with the tactic, often employed on this very site, of pretending to answer something that was not said. It is trolling, and I know better than to engage with it. Complaining about not engaging with trolls is itself trolling, which you have now done twice. Accusing people of trolling for not engaging with trolls is trolling.

You have introduced yourself, and I promise to remember.

No, they read it and rightly saw that if there is any way of getting around the borrow checker, people will just take that route.

We can allow glouwbug to speak for him/herself, if you are right, or quietly and honestly accept the embarrassment, and learn from it.

The easiest way to "get around the borrow checker" is not to use Rust at all. We have evidence of people using it, so they are proof positive that not everyone will "just take that route".

If you meant not everyone, but some people, then yes, we know there are people releasing programs not coded in Rust, many quite successfully.

This is touched upon in [1]. Great book.

[1] https://duckduckgo.com/?q=Vernon%20Vinge+A%20Deepness%20in%2...

Those people were scary. I had blotted them out.

We already have a computer-brain interface: it's our fingers constantly touching our "phones".

With such advanced devices hand-held already, why would we even need to interface with the human mind? If we're at the point of human-computer interface, which is probably 100+ years away, we will already be beholden to 100 more years of innovation in mobile devices, which is hyper-charged by capitalism already.

Think back to 2000: Very few people could have imagined the vast implications of these simple hand-held devices. It's much easier to make a hand-held, rectangular, "multi-tool" computer, based on existing tech, than creating a new class of technology to interface with neurons and store biological data.

Now, these simple "phones" have destroyed entire industries, created entirely new ones, allowed the scaling up of all kinds of mis and disinformation, and allowed the capture of human attention on a massive scale.

How many people in the rich world do not have a phone? How many poor people are trying to get one? How many times per day do people check their phone? How long do they use it?

We have all enrolled in a massive psychological experiment, something evolution or society as we built it never had to contend with. The "singularity" is coming and our devices are opening the door to it day by day.

This is a great point, and I think it highlights the fact that there is no good software to push/pop/schedule short-term memory items, and organize them into a simple priority scheme.

I think part of the problem is that almost all software is designed to be usable without training/learning, so almost all task management tools get reduced to lists - which are inefficient.

We need a tool that retrains our brains to generate units of work that, aside from a line of descriptive text, also contain: NPV, value-over-time, hierarchical dependencies, resource allocation, location dependence, etc... ...and then have a simple piece of software prioritize based on calculated optimized order of action.

The discontinued closed source LifeBalance published by Llamagraphics took a stab towards that. DateBk6 published by Pimlico Software also was moving in this direction.

A PIM application ecosystem with a storage and RPC system like Newton soups (but updated to Internet security paranoia), stored in an open, highly-parseable format like Emacs Org Mode, with the enormous tweakability and context-sensitivity of DateBk6, combined with the dynamism of LifeBalance, would be very interesting.

"everything is downstream from controlling attention" - Joscha Bach on the Lex AI podcast https://www.youtube.com/watch?v=P-2P3MSZrBM&t=3s

That’s an amazing observation. Can you point to roughly where in the video he says this? Thanks!

It's about here (2:03:40): https://youtu.be/P-2P3MSZrBM?t=7420

2:03:00 begins a discussion on meditation and at 2:03:45 he says "everything is downstream from controlling attention" -- toward the end of the segment labeled "AI simulating humans to understand its own nature"

a key insight for me in this article is this one: "In order for bullshit not to distract me for the rest of the week, I try to minimize my number of “open loops”—projects or processes that I’ve started but not completed."

I hadn't realized that I probably keep way too many "open-loops" in my life. And they are draining away my attention-currency.

Another way to hack around this is to use notes. Before I leave for the day, and especially for the weekend, I write 4-5 sentences about what I want to work on next. Makes it easy to put things down after work and easy to pick them up again. Also, I think it was GTD that said part of the point of having a next actions list is that it’s on paper and not in your brain.

I have this problem. What I've found is that even if I am not actually doing a task, the simple fact that it exists and I've not done it niggles in the back of my brain and stresses me out.

Last night I finally cleared off all my emails and did all the little task that have been sitting around. It feels so good to not have them lingering on the edge of my brain.

I'm really curious about the tungsten cube it mentions. Anyone who tried one got some experiences to share?


Looks like it's just a heavy cube to use as a fidgit toy? I wanna play with it now too lol.

Edit: I don't know how to link directly to a single amazon review but holy shit read the one from Richard , it should be the first https://www.amazon.com/Tungsten-Cube-1-5-One-Kilo/dp/B00XZBI...

It’s the best Amazon review I’ve ever read.

“... I have carried the tungsten with me, have grown attached to the downward pull of its small form, its desire to be one with the floor. This force has become so normal to me that lifting any other object now feels like lifting cotton candy, or a fluffy pillow. ...”

I'll sound like an idiot, but I have one and it's one of the best desktoys I can think of. It's too heavy; it feels alien almost. It's brutalist in a comforting way.

If you have the extra money and you are attracted to the idea of a basic shape with strange properties, I would say you should get it.

I noticed there is a heavy 4 inch version for $2500:


Opened this in my 64th browser tab.

I have ~150 open.

switch to chromium in ubuntu snap -- crashes at ~ 30

My brain has too many tabs open.

So am I.

I hate that this same joke is made everytime the subject pops up

You are paying attention!

I want my AttentionCoin™ back.

HODL. There is going to be a coin split in 3..2..1.

From Rebecca Rozelle-Stone's Simone Weil and Theology: "For Weil, attention is the decreative release of self to receive the world in all its reality. Paradoxically, this (passive) letting go of self and accompanying control is simultaneously a “creative” action: attention sees what is invisible (as the good samaritan saw the bleeding, anonymous, dirty man in the ditch) and hears what has been deprived of a voice because the din and smog generated from our maintenance of control has finally cleared."

50% of your time and energy seems like an impossible bar. At 16 waking hours, we are talking about 8 hours spent entirely on focusing on some task. That’s like the hyper optimistic assumptions of time spent that lead to bad estimates in software. I would say even the 10x engineers I met only focused for 5-6 hours a day max, so 30% focus.

He mentions timeboxing. Does anyone know of a good way to do this on ios with certain sites?

The built in blocking with downtime is nowhere near granular enough, and it is rather easy to turn off. Do any third party browsers or apps have schedules for viewing certain sites?

Eg on mac I have an app, coldturkey, which blocks certain urls during the workday.

I tend to use /etc/hosts to block sites on my desktop, like YouTube or HN. YouTube DNS itself is somehow special because it stays cached for new browser windows. So I further cripple it with ublock origin by disabling JavaScript.

I can undo these things easily enough, but it's sufficient that my monkey brain can't just open a tab and go there without my conscious permission ( which disturbingly is how habit forming these sites are for me.)

I keep them available on my mobile, but I have an old, slow phone and I never keep it on my desk, I put it out of reach and with notifications on silent.

For things like Facebook and Instagram my solution is simply to delete my account and never let that abomination steal precious minutes of my life. I don't miss them at all.

PSA: /etc/hosts does not work on Firefox unless you turn off the "DNS over HTTPS" setting [0]. Spent a good hour trying to figure out why Firefox was ignoring my /etc/hosts file one day.

[0]: https://support.mozilla.org/en-US/kb/firefox-dns-over-https

Thanks for the tip.

I use a tiling window manager called ratpoison. Much like tmux or screen, there is a single key that says "I am talking to you, WM" and then the next key is looked up in a key map.

Something I've done is bind a key that changes my top-level key map to a pared down version that only has meta, a command to tell me the time, access to my music controls, and a way back to my main key map. Of course I can still get to anything on my computer with just a little effort, but the additional friction is sometimes useful for staying on task.

I do the same, but recently I've tried something else that actually works! I turn the Wi-Fi off on my laptop. It's such a stupid trick, as I can just turn it back on, but it usually is enough of a friction to make me think twice "wait, am I ready to procrastinate?"

Yeah, that's a good one. I need constant internet access for my work though (software engineer) for slack, for testing, for docs, so it wouldn't work for me.

Anything that introduces enough friction that you stop and make a conscious decision will do the job.

I need this as well but I try to get that stuff offline so that I can stay productive as long as possible without needing to go back online.

I recommend the Forest app. It works on both desktop and mobile and allows you to block sites as well as apps and sync your preferences between accounts. I will usually set a 2 hour timer while I need to focus.

https://apps.apple.com/us/app/forest-stay-focused/id86645051... https://www.forestapp.cc/

It still just blocks everything, right? Like, all or nothing, no way to make a calendar appointment or send a message, but keep web blocked.

It’s not exactly what you’re looking for but you might like FocusMate[1] which sets you up with a (mostly) silent video chat partner to work for an hour and then report back what you’ve accomplished. You won’t want to be the dingus who reports back that you’ve done nothing but screw around for hour. I’ve found it’s helpful in getting me started on something and then once the session is over I’m able to keep going.


Does anyone else have experience to me? It sounds odd to me but might work.

I use NextDNS on my iPhone to block distracting sites (and privacy stuff etc). It's quick enough to disable briefly for a false-positive but annoying enough to stop me mindlessly browsing Hacker News on the toilet all day...

Thanks! Is that something you have to configure on a mac/pc? I see no website blocking options on iphone.

Edit: nevermind, found it. You configure a custom id on their site, then enter that in the app

There aren’t any scheduling features, correct?

I haven't spotted scheduling features as yet but it would be a fantastic addition!

I also find that 100 things to do as a manager is a misconception. Doing 100 things well in a day is impossible. Picking the 3 to do super-well and doing those. Yields the best results.

Especially because those 3 are unlikely to come back.

I found being really clear with myself about the things I was Not going to take care today was really valuable - it made it much easier to pull my focus back to what I was working on if I knew the other stuff was “scheduled” for another day.

Likewise, it's very freeing to completely rid yourself of a task mentally so that you can focus on the tasks at hand.

Part of it is trusting that future me can get it done properly. A trusting partner with which to delegate the task to.

That's a key lesson of Getting Things Done. Pick three tasks.

> In the short term, this made me less efficient, because I’d spend less time programming and more time staring vacantly at the ceiling.

> As a manager, it became impossible to “only work on one thing:” there were too many small tasks and too many projects going on in parallel.

As someone with ADHD, thank you for that reminder.

It is an obvious issue that is hard to be aware of.

(*: For clarity - EM = Engineering Manager, IC = Individual Contributor)

I recently transferred to a team with an explicit intent for me to be an EM on that team. A few months down the road they said I wasn't meeting expectations because of my "time management" which had too many meetings and lacked focus time for IC work - which definitely was not my 50%+ focus. I'm "winning" the resulting political war (my last 1:1 left my lead in tears), but only in the limited sense that I'm not getting fired; it's been a bit of a disaster for everyone.

The unclear expectations of what gets someone an EM role and what is expected of that role is the root of my problem, some of the author's, and a lot of the industry's as a whole.

Leaders are picked from those that are truly focused on tech and truly excel at it... and then told not to do that. How can somebody be "intuitively, emotionally invested in the outcome" of tech work and then suddenly be expected to stop doing it?

I should have been that rare counter-example in that I got picked for this role because of my very visible leadership in other areas. However, when it came time to give me the position formally they fell back on code output and found it somewhat lacking (specifically, the number of commits I made while onboarding was less than those of my established teammates).

There's a school of thought that switching back and forth between IC and EM tracks lets you build a lot of knowledge and be both better manager and IC (the author evidently did). While I do think experience with each helps you do the other, there is a cost to that focus shifting. This isn't like the cost of only being able to code in 45 minute blocks. It's the cost of shifting the things you care most about entirely.

Most managers fail to ever make that shift. Even if they manage to hold themselves back from coding (not all do), their heads remain in the code. One sign is when, in response to impossible expectations from above, they try to come up with technical solutions (e.g., if only we redesigned this module we could meet these impossible deadlines). If your mind is focused on tech, it's the tool you use to solve every problem. Another example is when team members have no idea how to move their careers forward and don't know expectations. A tech focused lead won't be thinking about how a new project is actually the perfect challenge for a more junior employee; their head will be figuring out the best way to solve the task technically.

An EM is not a tech lead. It's not just a different skillset, but a mindset change.

> the cost of shifting the things you care most about entirely

Wow, I never heard it articulated that way, but that’s exactly what it is. In 2015, after dodging the EM role for half a decade, my manager left, and there was no one else, so I had to step up. I was below average because I never stopped caring about the code. Luckily for my team, I left the company after eight months.

Now, having been the senior tech person in a startup for the last four years, I feel the fatigue from churning out code (I’ll sketch out a design over a few minutes, and then have to spend days building it), and it’s obvious that the only way to get a better ROI on my time is to lead and/or delegate. For the first time in my career, that feels exciting. I still care too much about tech to be a good manager, but I feel my mindset shifting.

I’m going to see how far I can get never trying to get promoted above lead developer. Or more to the point, trying not to get promoted above lead developer.

Sounds like some of your coworkers thought an EM role was [a lead developer], which it is not. As a manager, being an IC leads to a bunch of structural problems with the code and therefore the team.

This is another big part of the problem. While at my current company management is a separate track on paper, many still view it as a promotion (including my lead). But if that's not the "promotion" you give them, what is it?

Even if you make it a separate track, it's hard to define what the promotion looks like for more senior engineers, especially at successful companies. When you have $2M of cash in the bank thanks to stock, does a 10% pay bump from senior to staff matter? Does the title bump matter? How can you reward a long-standing successful senior engineer in a way that seems meaningful?

This isn't a question I have an answer to, but "make them a manager" is definitely the wrong one. The majority of my managers have told me how jealous they are that I get to code all day. More than one has told me straight up they do not want to manage. I've watched several teams implode under managers like that.

I think it's completely valid to not want to manage. Hopefully your lead doesn't pressure you to take such a role in the future. But have you thought about what success would look like in your career otherwise?

It is also valid to not be particularly ambitious, to enjoy the craft of software engineering until you retire, and spend the mental energy you would spend on getting promoted on hobbies, family, advocacy, or whatever else brings value to your life... though it can be hard for those of us who are more ambitious to realize that.

I didn’t figure out the public school system until the middle of third grade. By then the era of gold stars had passed me by, so any motivation I found was going to have to be intrinsic, not public accolades.

I had a boss who was being weird about making me a lead for the first time. I needed him to make it official, not fret the title. I told him I didn’t care what he called me as long as people did what I asked them to do.

If you want to stay an IC, I can not recommend loudly enough that you learn to manage your finances and your consumption. Managing your “needs” makes your savings last longer. Getting a raise just lets you build your savings faster, which might not be the same (especially since your needs will be inflation adjusted but your savings will not).

It’s harder to maintain the courage of your convictions when you are in debt than when you are doing okay.

If someone makes you work for a promotion, they are manipulating you. That could be good (in a mentor) or bad (in a labor exploiter). But you are being manipulated, and it’s better if it’s really your choice, not your mortgage or your kids’ braces.

I am financially comfortable (though not at 'fuck you money'), but also, personally, really want to be an EM. My passion has been people, process, and management for a decade or more at this point (I had my first tech internship 20 years ago, and have been full time in the industry for 15).

I initially didn't care about titles, but they do constrain what work you can do. The reality is that if your title is one of an individual contributor, even if you lead culture change at the company level, they will always look for the code. If they don't find it, you will be in trouble.

One thing I have learned over the last year of my life is that being "Shadow lead" - the one actually pulling the strings and making things happen, with no formal title/recognition - is the worst spot to be in. The work you are doing doesn't match what you should be doing on paper, so you are very vulnerable if somebody decides to take a closer look.

It's "glue work" but on a larger scale. It's important, but will go unrecognized. It's emotionally exhausting to build a team and get a head pat and told someone else will lead that now, thanks, and by the way how much code did you write recently?

Though I do wonder what you mean by "official" but without the title. It might be the case that "everybody knows" what you do, but if your lead is replaced or just changes their attitude, suddenly your IC work is under the microscope, and could be found lacking.

These pseudo manager positions are so exhausting because one gets the job to do some things but not the full required authorities to carry it out. It is the cognitive dissonance that makes it so stressful and exhausting. Managers delegating without really delegating. I try my best to avoid doing them, asking enough questions, having enough demands beforehand to either make sure the scope matches the authorities or the requester walks away frustrated.

I feel you probably speak of experiences in very big companies.

If the software team is of a medium size, let's say, less than 50 people, then it surely isn't how you paint.

The CTO / Manager(s) for sure know the impact of the ICs and likely nobody is measured by LoCs. I personally have never worked in an organization (10 companies and counting) where LoC has ever been mentioned as something being measured.

To be clear this isn't lines of code. Nobody is that bad. Somewhat hilariously my boss was looking at number of commits. His complaint was that there were weeks when I made no commits.

Though that was the stupidest way to come to that conclusion, it is true that I was doing less IC work than other members of my team. I had surfaced this several times in 1:1s and thought that was what he expected. For instance, some weeks I had literally 20 hours of meetings, with significant overhead attached to those; it is hard to make much progress coding in that environment.

What's EM and IC?

Engineering Manager / Individual Contributor.

Ah, the irony of saying this to people like us, wasting our attention like there's no tomorrow on the odd news story on HN :-)

What is it about HN that makes it feel much more productive than other similar sites?

The promise of "The Silver Bullet". You'll find an article that will tell you how to be more creative, more productive, happier. You'll create the next unicorn business, get filthy, stinking rich, and have everyone wanting to be your friend.

Of course, your best bet for achieving these goals would be to spend less time reading HN and more time actually "Doing the Work".

I found a silver bullet here once. Read an article about The DAO and smart contracts. Led to making 100k.

You're so right though. It is the allure of potentially finding a silver bullet. Combined with the great community and thoughtful discussions.

Lower troll ratio perhaps?

Perhaps: More intelligent and engaging trolls? :-)

An ironic post indeed. There's a valuable message here: Give me your attention for a moment so I can teach you to protect your attention.

Like a move baddie saying, "Trust me when I tell you: Don't trust anyone" <- this the bad guy right here. You don't need to watch the rest of the movie.

TLDR: If you value your attention and want to respect the intention of the article, don't read it ;)

What is mindfulness (smrti)? It is non-forgetting by the mind (cetas) with regard to the object experienced. Its function is non-distraction.

- Asanga, from Abhidharmasamuccaya

I think this is a nice article. Particularly the thing about "only working on one thing" - I often see teams having to juggle ten different projects at once due to management. This just means that you do none of them particularly well.

the article does mention "TIMEBOX BULLSHIT"; anyone has had success with that, or has tips for the same? the reason I'm asking is, I've tried in the past at the cost of not looking at "bullshit", but it just keeps getting piled up to a point where people start making mountains out of molehills.

Time boxing is when you spend X amount of time to either get it done or get it off your plate. If it’s piling up, then you’re not really time boxing. Push back on whoever wants you to do it if it’s really bullshit or hand it to a report or coworker if you still have to do it.

If you can’t do either then you have to treat it like a priority and not something that can be time boxed.

> It took a while for me to train my friends not to instant message me [...]

Ha. I hope said friends are not reading his blog.

I feel like it's the wrong approach anyway. Just keep the instant messages on silent, and check them when you have some personal time. Training people to never message you is a good way to lose some of the spontaneity of friendship.

I say that as a massive luddite in this regard, I hate always-on culture. But I learned you have to make some concessions, because your friends will use what's convenient to them and the harder you make it the easier you disconnect them from you. Real friendships aren't built in a day, and you'll be stifling every relationship you try to build if you don't meet them half-way.

Attention is all you need

cool blog; author Ben Kuhn founded the Harvard Effective Altruism group, and wrote an amusing bit about "giving games"... etc

Quick, someone post this article to LinkedIn.

I'd say it's time, not attention that is most scarce, but they are highly correlated so I suppose attention is a reasonable proxy for time.

Time cannot be controlled. Attention, however?

Applications are open for YC Winter 2024

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact