> Trying to code and listening to music falls under cognitive functions. Naming a variable while listening to your favorite songs' lyrics may result in cognitive overload. You are more likely to name a variable after the singers/songs name than what the variable is supposed to reflect (true story).
This point in the article lost me pretty quickly. My flow state is drastically improved by music, and I have never ever named a variable after the song name or song artist I'm listening to in my life.
Edit: Nor have I ever seen a variable named after a song name or artist.
Edit2: NotoriousViewController. TheWeekndTimer. RedHotChiliPointers. Now I want to name my variables like this.
There was a semi-famous study (one that I feel every developer should have at least considered) that gave software developers a problem to code in the form of some convoluted set of steps, and they were either assigned to listen to music or not to listen to music. There was (usefully) no difference in the correctness of the implementations, but people who listed to music reported more subjective happiness / less boredom doing the task... only... they were also much less likely than the people who did the task in silence to notice that all of those steps collapsed down to "return a constant number".
I personally feel like there are different components of my brain and some of them just want to do something, and if I don't "distract" them then they do something arbitrary and maybe in turn distract me... but if I need them, and they are busy deciding some music I am listening to, I lose out on the maybe-even-often subconscious processing they do that gives me valuable insight. I thereby find some (mostly useless) tasks easier if I am seriously even playing a video game with a targeted skill while doing them (people hate me in meetings sometimes ;P), or maybe listening to music, but if I am doing the hard coding work I "should be doing" I just can't :(.
I was very curious to find more info on the constant number study. So far I found this older HN post, which is itself quoting from an apparently famous book, which according to some replies was BSing the whole thing https://news.ycombinator.com/item?id=1995239
I couldn't find anything on a study at Cornell University, but I did find mention of a study at the University of Windsor that included 72 students in three groups: a control group, a group that listened to music before, and a group that listened to music before and during.
The results[2] are published in an article behind a paywall, but they give details of the two tasks presented to the subjects, neither of which involved actually writing code. One was a 15-minute task of locating syntax errors, another was a 20-minute task of locating logic errors.
For me it depends on if the music has lyrics or vocals in it. Someone speaking or singing is the factor for whether my brain expends cognitive effort in listening. I just can't help but try and pick up on words and discern what the meaning of them are.
I actually have to get even more specific than this (at least prior to being diagnosed with ADHD in 2020 and getting Vyvanse for it).
If I need a mood boost or something to get my body "moving" in my seat and keep me from mentally wandering, I'll throw on stuff I really know and love. Usually I'm doing menial tasks or simple coding.
If I'm having a hard time focusing and need a distraction for some parts of my brain but not all of it, I have a "deathcore" (really more like melodic (tech) death metal) playlist where most of the songs sound very similar and you can't understand a thing the vox are saying.
Typically if I'm super tired AND need to block out the outside world but even hard to understand screaming won't cut it, I have to resort to either instrumental metal or LoFi hip hop beats to study to.
If I'm currently listening to music, I really only do a full stop/pause to focus if I notice I've run a breakpoint three times and have no idea what I've been stepping thru, or if I'm trying to refactor or write a fresh, new logic flow and just can't get my brain focused enough to "check it" for all possible paths. That's when I cut the feed, double-time my focus, and once I'm convinced it's "safe" I can hit play again.
Do you notice your musical tastes at a given moment are modulated by Vyvanse levels? I find as I ratchet up the dose, or get very deeply focused on a task, the complexity of the music I listen to goes down. Morning, before the meds kick in, I like high-complexity high-energy stuff: eurobeat, electroswing, hard bop. That gives way to psytrance, then house, then techno, with high-tech minimal being my go-to when I am really firing on all cylinders. Then into lofi, downtempo, ambient, then silence for when I'm overstimulated.
For me, not being a native English speaker, it "feels" much easier to listen to music with English lyrics while working effectively on other cognitive tasks like coding, compared to listening to music with vocals in my native language.
On the other hand, there are several other factors, like how tired I am, how hard the foreground task is etc., so it is hard to pin-point it specifically to the lyrics language.
If I've just started both are probably going to be good results. If I'm 4 hours in the music one will probably do better because I've not wandered away from my desk distracted by a shiny pen.
I've found for this reason I can never listen to new music I'm excited about when coding (i.e. a new album release by an artist I like), but I can listen to the radio and music I'm already familiar with without an issue.
Do you have a link or pointer to the title/org/authors? It sounds interesting and I'd love to read it myself. Absolutely I definitely feel like I'm not reasoning as well as usual when I've got something on.
[ETA]
According to [1] it's described in "Peopleware"[2]. Apparently needs corroboration (see sibling reply by 'civilized)
I wonder if that depends on whether the programmer gets to choose the music or not. I often hear music I know backwards and forwards or just straight up instrumental but if you put the pop 100 on I would get distracted.
Reading about this study and the experiences described in other comments, it seems the experiment is a bit limited in its scope.
The effect of music depends on the person, the type of music (lyrics or instrumental - even if there is applause or not), how well the person knows the music and, of course, the task itself and its complexity.
Until there's a way to test all of those permutations, I think the best we are going to do is rely on all our anecdotal evidence, as it affects ourselves.
This is similar to the experience of driving a car and listening to music at the same time. When you are in a tight situation, like a very busy road or a narrow street with lots of traffic you'd usually stop talking to the passengers or turn the radio down a bit to "concentrate". It's because you want to use all the mental capacity at that time.
It depends for me, if I am working on a tough logic problem I usually have to turn down any music with lyrics or high complexity as I will try to focus on the music instead. Otherwise it helps me stay focused by catching my moments of distraction, like a baby sitter for my brain.
I used to use music this way, until I started noticing that when I really got into flow I wouldn't even notice if the music stopped for hours. Then I started using white noise, and eventually just stopped relying on any kind of audio aid at all. Unless you work in a noisy environment you can train your focus.
Yeah, if I am really focused I won't notice if music is on. Music is only helpful for mind numbing/very boring tasks. And helpful that those won't feel as boring, not making me do things better.
Same thing for me. If I have a novel problem I am trying to solve, then I'll usually turn down (or off) the music. If I'm refactoring or the problem is well understood and I'm just typing, then I vastly prefer doing it with music on.
> if I am working on a tough logic problem I usually have to turn down any music with lyrics or high complexity as I will try to focus on the music instead.
This is similar for me. The worst are live recording with applause and interactions with the audience from a show. While I can fade out lyrics it's close to impossible to ignore these.
+1. I suspect many of the "I could _never_ listen to music while coding! The horror!" people are those who listen to "radio" or "playlists" they are unfamiliar with. While I almost always listen to a full album, start to finish, that I know well.
+1 the part with a full album is also really important. Even better when you get into operas and stuff because then you can have a good few hours in one go.
edit: also if you make a playlist made of a chronological listing of one artists full albums.
And to me, it's the exact opposite.
I can't code while listening to well known music with lyrics but I enjoy listening to some electronic house music while coding. Music I usually don't listen to.
Came here to say exactly this! Tried a new album but that overloaded me totally. Then I went for an album I've listened to for a thousand time or so and got into the zone directly.
I've read somewhere that humans language processing centra only can deal with one input source at the time. So reading and talking is more or less impossible to do at the same time.
My experience is different. I'm not a native speaker and if I listen to music in English, usually it just fades into background. I rarely experience it. In that way I feel it does not have any effect on me, but obviously it's anecdotal and I don't have any real data.
Not all music is the same. One music will help with the flow, other will disturb it and make you name vars after songs, and then there is music that makes you put your tasks away, go to that person who is listening to it and have a serious constructive conversation about how not listening to it could greatly improve their relationship with you and other people who are trying to concentrate on their job instead of imagining that person in a hell fire.
>As it turns out, people have differently structured brains.
Or maybe some just dellude themselves (and e.g. lose congnitive capacity with music, but conflate their hapiness boost for increased productivity, etc.).
This "differently structured brains" was the once popular idea behind different "learning styles" (visual learner, etc.) who has been discredited since.
Evolutionary it's more probable we have quite identically structured brains when it comes to main functions, and just have different e.g. cultural tastes on top.
Aphantasia would be a good example of clear differences in how people's brains operate (and one that anecdotally seems to be not that uncommon among programmers). Given that it only has gotten real scientific attention in the last 10 years it doesn't seem unreasonable that other major variations exist that we don't know about yet.
"Learning styles" are a great example IMO of non-scientists taking an idea with some merit and running away with it, to the point that scientists stop investigating it pretty much altogether because it's been branded "pseudoscience". Yeah the term learning styles itself is probably at this point a red flag for education pseudoscience, but the idea that different people may naturally solve the same problem in different ways is still very much an open question. It is probably true to at least some extent (as can be seen in certain extreme examples e.g. non-verbal vs verbal specific learning disorders).
Another example of this broader phenomenon is galvanic skin response. People ran with the lie detector BS and then the whole field basically died for a few decades, only to eventually be rebranded "electrodermal activity". Probably your smart watch will be collecting EDA in a few years.
There is a great interview with Feynman where he recounts that he could count while reading, and a colleague called shenanigans. So, they did some experiments together. Fun watch, but seems in contradiction to your point. :(
If I recall correctly he talked further about this in one of his autobiographies (Surely You’re Joking, Mr Feynman possibly?).
It was about the repeatability of counting to a minute, and he experimented on the difference between seeing a timer tick in your minds eye and hearing a count increment in your head.
He had been experimenting with what he could do while counting, and found he couldn't count while talking, but could count while reading. John Tukey didn't believe him, and thought it should be the other way around. It turned out Tukey and Feynman counted completely differently, Tukey by visualising and Feynman using internal speech, and so Tukey could count while talking, but not while reading. So, not the same person doing both methods.
1) You don't think people have different learning styles?
2) You don't think that I know what distracts me while I'm working?
3) You don't think that evolution produces _vast_ diversity, and that people have vast differences in brain structure?
I prefer silence also, but even music with lyrics was better than the sales guys cold call pitch, somehow that absolutely SHATTERED my flow state without fail.
Strangely enough I find working in the "white noise" of a coffee shop lets me hit flow state even better than silence. Not sure if thats more due to the "i'm in this place to do the thing" effect or the actual noise though.
See, this one does not bother me. Indistinct chatter / noise does not distract me in the slightest. In fact, that sound is actually a great environment for me to focus - total silence can actually be distracting for me.
Music on the other hand, I cannot program while listening to. Brains are different.
I suspect there is a personality difference in play where some people find themselves trying to analyse the music, so it acts as a distraction for them. Compared to them, I sink into the energy/rhythm of the music and it helps drown out other distracting noises.
It might also depend on one's playlist. Some people like having a TV on for background noise, but I would find that highly distracting. My playlist leans towards highly energetic music where there isn't much reliance on lyrics, such as technical death metal.
Just from your replies people can see that many people can code with music, and many only with silence.
I think this is something CEOs don't realize when they push for ,,open offices''.
For me a group of 5 people in a room was the optimal number of people for coding enjoyment: just enough people that I feel the pressure and don't feel alone, but not too much noise, so I can work well. For people who can work with music an open office is still kind of OK, even if they don't like it that much.
Open offices are terrible if you want silence, and only kind of ok when you want music (you can make it work with noise cancelling headphones turned up loud enough). Both types would be better served by smaller offices.
Music is the only thing that saved me in an open office. Without it I would be hard pressed to ever find flow. I’ve been distributed for almost 2 years and the combo of music and no one else in my office has improved my output a ton
When I first started, I was in a room with 8-9 people who knew each other well. They talked a lot. I was given a task that I found challenging but the most challenging part was focusing on the task at hand.
My solution was to listen to one of various white noise videos on YouTube, my favorites were storms and rain.
I agree that about 5 people in a room is a perfect fit. Team sized. Open spaces were too distracting.
Do you listen mostly to music with lyrics or accoustic music? I find the latter helpful but the former quite unhelpful - like trying to do math when somebody next to you is shouting randon numbers. But I have a faint recollection of having read research on this where it depended if you were a visual/verbal/etc thinker, and you were more vulnerable to disruptions occurring within your given thinking method.
I have perfect pitch and find it impossible to "turn off" the analysis of music - what key is it in, what's the chord progression, and so on. Whether it has lyrics or not doesn't matter, it completely kills any productivity in any other cognitive activity. Only "noise" type sounds work for me when I'm trying to concentrate, like recordings of gentle rain or a babbling brook.
For me, it depends on how familiar I am with the song—if I've heard it a thousand times, the lyrics fade into the background for me. But if it's a new song, for example, my concentration plummets.
I have the (somewhat) opposite problem of needing to concentrate to hear the lyrics of a song. By default the lyrics fade into the background and I only notice the beat and/or musical instruments.
“The radio was a clue. You can’t really think hard about what you're doing and listen to the radio at the same time. Maybe they didn’t
see their job as having anything to do with hard thought, just wrench twiddling. If you can twiddle wrenches while listening to the
radio that’s more enjoyable.”
Zen and the Art of Motorcycle Maintenance.
I sometimes listen to music while coding, but for me it only really works with something like Aphex Twin or Autechre. Something that puts me in a meditative state - almost like white noise. And usually the purpose is to help block out surrounding noise. I’m with Persig on this one — when it comes to deep concentration, I tend to prefer quiet.
I remember seeing an article about something related to this some time ago. When it comes to music and background noise in a work environment, the nature and kind of noise matters greatly. If you don't have the right kind of noise for the person and the situation, then it can be more harmful than helpful. Wish I could find that article...
> This point in the article lost me pretty quickly. My flow state is drastically improved by music, and I have never ever named a variable after the song name or song artist I'm listening to in my life.
Yea, this is highly dependent on the person. I have difficulty in life operating _without_ music. In anything, really. My brain wanders, i start making music, etc.
Worse yet, i find silence while programming to be stress inducing. My shoulders get super tight, and i'll find myself in a trance an hour later, super tense and feeling like i'm waiting for a bomb to drop.
Music is my emotional regulator. It lets me mirror where my head is. Chill, aggressive, grinding, etc.
The only time i find music to be a distraction rather than a method of focus is if the song is too new to me, is heavily lyrics based, _and_ i really enjoy that authors lyrics. I tend to want to focus on the lyrics, learn them, understand them, etc. Most of the time though lyrics are just yet another sound, and they vanish into the fog of work for me. I often even lightly sing while i'm programming (I work from home, lol).
edit: Oh, i should add though - this whole post of mine represents the .. maybe 80% use case. I do turn music down when i'm thinking about a challenging problem. Something i need to hyper focus on. But that's only 10-20% of the time for me. Most of the time i have a clear picture about what the general design is, and now i just need to write out the internals.
I prefer listening to music too, but here's the thing: I can only listen to music that doesn't have lyrics. The moment lyrics enter the picture, I start having a lot of difficulty concentrating on the problem.
This is why I listen to techno, retrowave, instrumental jazz and classical music when I code. I leave hard rock, metal and pop music to when I'm not coding.
I've found that listening to music with lyrics is indeed problematic with tasks requiring focus. Luckily there's a plethora of electronic music genres without any spoken words :)
at least for me, the trick is to listen to music in a different language than you don't speak(in my case Japanese), since you won't understand a word you won't lose focus with the lyrics
Thinking about it, though, I find myself reaching for music when it feels like my mind wants to wander and not focus on my job. Once the music is on, my mind has an immediate outlet for wandering - it jumps to the music while I'm still looking at the code. So while maybe music and programming do compete for resources, music maybe acts as a sort of safety net that makes it less likely for me to derail completely.
di.fm has served me well over the years while coding. Being able to listen to something without lyrics or a major cognitive load works quite well for me.
I used to listen to them as well! I do prefer less lyrics, or more rhythmic lyrics, but I can do normal music as well, personally. That specific example of why it was a problem just amused me.
I agree, I really enjoy music and find it helps me get into a good flow. However, for me at least, it needs to specifically be music without lyrics. Downtempo electronic is usually best, but I can make pretty much anything work so long as it’s not music that one can “sing along to.” In that case I often end up humming along to the lyrics and getting distracted.
Its almost impossible for me to code while listening to music while coding in a high-cadence big-brained language like Python. When I do c, Java or markup like HTML less so.
Perhaps this has to do with the fact that Python is very succinct, and you can affect more per line than in "dumber" languages.
Music with lyrics is impossible to code to though.
Not all music is made the same. The quote mentions lyrics — indeed lyrical music can be distracting. However, I think, as in exercise, music can boost productivity if it aligns well with the activity, e.g. provides enough space to think in coding while enhancing mood, pace of thought, and focus.
The author lost me there too. I think the general experiences for many of us here is: you can't listen to music that occupied the same cognitive channel of what you're doing.
If you're thinking, writing, or planing(or anything with 'words' in your head or 'talk' to yourself), music with lyric is bad
(though I found the effect more soften a bit if you listen to what you don't understand, e.g. foreign language music, still, zero lyric is crucial for thinking)
If your activity is not about words, but more 'action' (e.g painting , making art, gardening) then you can blast your ear with lyrics or the whole audiobooks all you want. It works great.
The variable naming thing seems like total bullshit but when I find a song I like too much I find it can be distracting. When I'm feeling most productive I hardly notice the music thats playing.
To me it also makes a difference if I understand the language used in the lyrics or not, so I prefer to listen to languages I don't understand but like the sound of while coding.
Tangential to music, but how do y'all train yourselves to ignore your bodies? I sit for 5 minutes and my back hurts. It's my biggest focus killer. I'm constantly aware of how physically uncomfortable I am when I have to work on some extended programming task, sitting or standing desk alike.
I've taken to lying horizontal with a keyboard on my lap and a projector aimed at the ceiling. Feels ridiculous but it's at least comfortable.
Sometimes I don't think I'd mind being a brain in a vat.
If you're that uncomfortable after trying to adjust, it sounds like something might be wrong. Could be worth asking a specialist about your symptoms.
I occasionally have RSI issues, which are usually a stress symptom telling me I'm operating above red-line. If I listen to my body, things work out much better than if I try to ignore it.
Have you looked into yoga, Pilates, or any core strengthening exercises? While sitting is very strenuous on the human body, it's not something that should hurt after five minutes.
"music" is also a very broad term. There is complex music you don't even grasp without paying attention and there is music that is designed to get your attention and start dancing.
Music helping with your flow status might be related to it blocking external noise. I have similar results with (some type of) music, earplugs or white noise.
I mostly agree based on my own experience, I rarely get distracted by the lyrics alone, what gets to me is bass. Whenever a bass-havy song comes on I feel like my focus breaks, which is also why I started to listen to more jazz and similar, more easy going, genres while working and needing my focus.
It depends on the type of music.
Music with lyrics (like mentioned in the article) is very distracting for me, but some types of instrumental music (like videogame soundtracks) work very well.
I counteract this by exclusively listening to music in a language I don't understand when working.
Really reduces the cognitive load when you don't have to process the meaning of words.
People when multitasking usually believe they are being hyper efficient but when observed from the outside they are less so than when single-tasking sequentially.
I've recently been assigned a course to teach where I need to mark lots of assignments. These assignments have 12 short answer questions and each student must do them.
Slowest part about marking these is having to context switch for each question. So I'd mark Q1 , then Q2 etc for one assignment, then go over to the next one and start back at Q1.
I figured this was super inefficient since I needed to have the answer and context of the question in my mind and keep switching.
So I wrote a program to parse all of the questions from all of the reports and present them to me in question batches. So now I see all of Q1 one after the other for each student's and mark those. Then once all of the Q1's are done, I mark all the Q2's. After all the marking is done, I run that through another program that then formats that data to each student so it's back onto their individual report plus any comments or deductions.
I find that apart from saving the time to have to open tonnes of docx files, now it takes maybe 5 mins to mark everything.
In similar spirit, Gradescope [1] is an excellent tool, that I just cannot do grading without now.
Students upload PDFs, and mark appropriate pages for each assigned question. The graders can then decide to either mark every question in a single sheet, or a single question in every sheet. I find the latter more comfortable. The key element here is that the burden of assigning pages to questions shifts from the grader to the student, which is a significantly better use of cognitive resources because it comes at little marginal cost to the student but tremendous cost for the grader.
There's a specific part of Thinking, Fast And Slow that addresses this exact point - consciously or not, you're also probably reducing the bias you'd give to subsequent answers from each student.
Rarely have I read an article with such a perfect balance between a premise I agree with an examples I do not. But I think this illustrates something important: what constitutes a context switch is not universal. It depends on what parts of a task you need to think about.
In the kitchen, from long practice, I do not have to think about prep, technique, or washing up. There are no decisions I need to make for those tasks. They take very little attention. This frees me to spend my focus on the more abstract goals of what I want to cook, and for me it is not a context switch to wash a bowl while an onion is sauteeing. I can certainly cook while keeping the kitchen clean more efficiently than I could cook and then clean it. But when I was first cooking, it was a context switch to go from chopping an onion to chopping a carrot. Both tasks required my attention and focus.
Upon reading the title I was anticipating an article that would provide a great deal of catharsis, only to find "programming whilst listening to music" and "cleaning dishes whilst cooking"...
I'm currently wearing a number of hats in a software implementation project (project management, change management, data management, training, communications) and having to switch between is like coordinating to put down a heavy piece of furniture being carried by six people and then assigning those same six people to help pick up another piece of heavy furniture.
Or, more succinctly:
Flywheel 1 must be stopped before flywheel 2 can be started.
The author states switching from cooking to washing dishes is a huge context switch and a waste of time...I disagree. Everyone who cooks efficiently is constantly switching between tasks, since you're often waiting a few minutes before your next cooking step can occur. Maybe in a professional restaurant where your role is defined, then no, don't switch roles.
But in your own kitchen? While my toast is toasting, you know I'm going to get a head start on the dishes, or chop those garnishes, or check in on a second dish, etc. If I cooked by focusing solely on each task until it's done, I'd probably use 50-100% more time to do the same job maybe 10% better.
In covid times I have been teaching myself how to cook, basically from nothing. It takes me forever to do anything. Chopping an onion takes what feels like an eternity.
Recipes that claim “5 minutes of prep” are more like 20 minutes for me. It can be very discouraging.
What you describe is definitely something that comes with experience. Like using vim effectively. I’m improving but it literally took a once in a century global pandemic to overcome the initial learning curve.
Recipes that claim “5 minutes of prep” are more like 20 minutes for me
Treat recipe prep times the same way you'd treat a managers estimate how long it should take you fix a bug. Truth is most recipe book writers haven't actually done the prep work from zero from their recipes and are basically just guessing.
It's the same with the these TV shows where they cook a meal in 20 minutes. If you walk into a kitchen where an assistant has line up all the ingredients pre measured and prepped in separate bowels, pre-heated two ovens and all the pans they know you'll need, and made sure there are two large pots of boiling water already on the stoves then prehaps you can make the meal in 20 minutes on your 3rd or 4th try. Otherwise there is no chance.
All the recipe books I own have accurate prep + cook times for an “ideal chef in ideal circumstances.” I don’t know why they wouldn’t. For any decent recipe book the recipes are made and tested many times in different variations. If you know that you are slower then just pad it out a bit. It shouldn’t be discouraging that professional & motivated amateur chefs are faster than you—just like it should not be discouraging that professional basketball players can score more points than you.
I can understand why cooking can be slow and painful for people new to the activity. However, if you want to get fast at cooking, it is not that hard to get fast. Knife skills, multitasking, and planning will make everything go much faster. If your knife skills are not great (say, takes you longer than about a minute to dice an onion) or you are tired from a long day of work and aren’t in the mood to move fast, prep will take a lot longer.
Just observing people do prep I think it’s fairly plain to see that tons of people are just damn slow at it, either because they don’t enjoy going fast or because their skills aren’t up to par. And there are plenty of cooking shows where the contestants are under strict time limits but must still do all their prep within the time limit. Cutthroat Kitchen usually has a 30 minute limit, including prep, and including acts of sabotage that increase the difficulty.
I don't think it's a competition mentality as much as a need to be able to plan the time it takes to prep and cook so that the food is ready when the family is hungry.
I like to cook, but I don't have tons of time to cook as a hobby. New recipes are worked into our regular meal times. If it takes me an hour longer than the estimated time to prep and cook, I've made everyone wait an extra hour, throwing off any other plans for the evening. That can be discouraging and lead to wondering "why did they say it only takes 20 minutes? Are they just guessing, or am I just a slow cook?" Hence this thread. :)
I dont buy this, reading many of the comments here. I'm not a native speaker and not certain at this moment if the figure of "hamster wheel" exists in English. But "rat race" does, as well as "cog in the wheel".
There is a certain underlying trait of self-optimizing anything, also visible in the HN articles title itself (fortunately not so much the content) as well as in many other articles of this kind, coming up here continously. And these optimization considerations are >95% limited to time, they are much closer to self-exploitation than anything else.
Cooking for the moment aside, consider lunch. I'm German (sadly, the country became closer to the US in this respect). But if you ever worked in France or Switzerland for example (not to talk about countries even further into the South), you will spot much a difference here - yet in time spent, but also in the opinion what is important at all. Cooking is the same - it is not all "hungry family" (I certainly agree, at times it is), these are more often than not rationalizations. When I am cooking, the kitchen full of people is the most satisfying situation. It doesn't matter really, how long it lasts. This is not lost time, on the contrary! Also not in the context of work, because it eventually produces energy (I don't mean the calories) also for this.
A final small example: I have an Italian espresso machine here in my offices kitchen. Producing an espresso or cappuccino requires to do all steps manually: grinding beans, evaluating the pressure on the analog gauge, provisioning the milk, making foam from it, etc. - time-consuming! But it is a micro ritual, making my head free enough for handling some of the kinds of small problems, appearing during work. I could also buy something 'modern' using pads, maybe some sort of remote control, even a robot serving the final result to me (are there such things?). I certainly will never do this.
I will interject here—I’m one of the people who says that cooks who take 1 hour to cook a 20 minute recipe are slow. However, I don’t think that this is a problem of over-optimizing or self exploitation.
My wife and I both do a lot of cooking and it is a fun, shared activity where we can move fast or slow, and talk about things. We also spent some time learning—learning knife skills, learning new techniques for cooking, trying new cuisines or new recipes.
However, if you are chopping an onion and hold the knife wrong, hold the onion wrong, or make the wrong cuts, it is not only slower but it is also more dangerous. If your knife is dull, you push the knife harder, and that is more dangerous. If chopping an onion is safe, you can move faster. It is a simple skill to learn and everyone who cooks should learn it.
Lol, OK. I'm not worried about "wasted" time or "unproductive" time. I am sensitive to "young kids are hungry because dinner is an hour later than expected," or "we've got plans to visit grandparents and don't want to be out too late because they have school in the morning." Trying to pretend that there is never any time pressure in life is a bit naive, I think.
Cooking / recipe books should have a professional time and an 'amateur time'. The latter exists more as a worst case estimate for how long the first try at a dish by someone generally less skilled might take. That would give someone trying the dish for the first time a good idea how much time it takes, which can be important.
If a recipe has 20 minutes of prep, then everyone who is fast can do the prep in 20 minutes. But everyone who is slow will take a different amount of time, because anyone who is slow is slow for different reasons.
Eh. I did a bunch of statistical modeling for cloud service SLIs/SLOs/SLAs. This approach is good for letting people do black-box modeling. It sounds like complete overkill for recipes.
A recipe is not a black box. Most recipes are short and can be written on a half page of paper. If it calls for two chopped onions and you know that it takes you an “eternity” to chop onions, then add two eternities to the cooking time.
And as long as you are spending two eternities chopping onions, why not spend 90 seconds watching a video on YouTube that explains how to do it correctly? For most people—if you are cooking regularly, and practicing good technique, you will naturally get faster over time. If, like many people, you are cooking for decades, then you will be slow for only a short time.
I forgot an /s. 99.9 percentile would require doing each meal in the cooking book ... 1000 or 10 000 times by different people to get an accurate timing :)
> chopping onions, why not spend 90 seconds watching a video on YouTube that explains how to do it correctly?
That sounds like a good idea, could get back 1 000 x those two minutes, in a lifetime, and more yummy food and can impress others with the onion skills. (No /s here. I'll try to remember tomorrow, youtube.)
My mate just moved from NZ (230 volts) to Canada (110 volts) and he reckons the electric kettle over there is basically impotent due to having less than half as much potential kicking about in the wires.
Maybe that explains why the Americans are so attached to their boiling pots?
There's no reason why a 110 V kettle couldn't be as powerful as a 230 V one, if it was designed for that voltage. Just like light bulbs in the US are not generally less bright than those in France.
If you take a 230 V kettle and connect it to 110 V, then yes it will be less powerful. Perhaps about 1/4 of the power.
If volts were there only limitation on the design that would be correct, however amps are also important in this case. A 240V UK wall socket can be up to 13 amps whilst a US 110V line is 12 amps.
With power (watts) being volts * amps that gives the power of 3120 Vs 1320 watts for UK Vs USA respectively.
This means a UK kettle can dump heat into the water up to 2.4 times faster so should boil in less than half the time.
Kettles are at the high end of power consumption as generally people want a fast boil. Lights are towards the low end as its rare for someone to want even 1000 watts of incandescent brightness.
In Europe kettles typically use around 2300W, since homes are typically wired with 16A breakers (and you don't want the kettle to pop the breaker as soon as you add another device). But US homes are wired similarly, typically with 15A breakers. So you get kettles that typically use 1500W, much less than the European equivalent.
Sure, you could use powerful kettles in the US on a 20W outlet, or on a 230V circuit, but nobody is going to do that. A typical kettle that you can just buy and plug in wherever is less powerful in the US just because you use halve the voltage but don't wire for double the current.
Ok, that makes sense! I guess I just assumed that US wiring would typically be rated for higher currents to compensate for the less efficient transmission.
It didn't occur to me that Americans would settle for having less power than the rest of the world, it seems uncharacteristic somehow :)
We choose wiring gauge mostly by the "how large can it be while still moving well inside a wall?" factor. So, it's not surprising different places use the same one.
I'm sure 1% of Americans have 30 amp circuits in their kitchen and the help can boil water at twice the rate. Most Americans support this because they consider themselves just temporarily embarrassed by low-powered kettles.
Same here (in Poland). Besides being faster, this is likely more energy-efficient, as the kettle isn't bleeding heat as much as a pot on the stove.
Speaking of which, I don't understand why we've settled on a gas stove design that's so terribly inefficient, with most[0] of the heat leaking around the pan. Why no design with a combustion chamber of some sorts?
--
[0] - Well, at least a lot. I didn't do the math here yet, but it's hard to imagine otherwise with unrestricted airflow around the pan.
> Why no design with a combustion chamber of some sorts?
Thermal capacity. Gas stoves are great because they have none, so any temperature changes are immediate. Anything between the pot and the flame will destroy that advantage.
Also, the combustion chamber will have a vent for the exhaust. So I would suspect that it won't be any more efficient, except for very small pot sizes.
Induction cooking plates are the same (with magnetic pots, pans and so on, otherwise won't work(at all)), regarding the immediacy.
When I got my first, I've been curious and experimented with water. Depending on the model they have sensor buttons where you can raise/lower the temperature in 10 to 20°C steps.
Mine have 10°C steps, where with water in a pot at 90°C the first few small bubbles start to rise, like in soda/mineral water. When at 100°C the big boiling bubbles start after about 2 to 3 seconds.
Mine are rated at 2500 Watts each, have segmented induction coils where the outer segments switch off with smaller pots, are plan like a mirror and thus very easy and fast to clean.
> Also, the combustion chamber will have a vent for the exhaust. So I would suspect that it won't be any more efficient, except for very small pot sizes.
The airflow needs to be there, but I imagine it could be slowed down, so that the hot air spends more time transferring energy to the pot. That would retain the fast reaction time, and let one burn less gas for the same amount of cooking output.
Specialized hiking gear typically come with integrated heat exchangers and insulation to be more efficient when used on gas-fired stoves. This makes them really good at boiling water, and terrible at anything else since it's impossible to control the heat in any meaningful way.
Be that as it may, it's most likely more expensive. This is purely my personal guesstimate, but gas tends to be much cheaper in Poland than electricity. More efficient, maybe, but I'd be very surprised if it was cheaper given the prices.
Yes, I assume it's more expensive. Gas is cheaper than electricity in Poland, but then again, electricity also isn't that expensive for preboiling in a kettle to make a big difference.
On a related note, I was surprised when I did calculations on how much it actually costs us to bake our own bread. We started doing that a lot during this pandemic. It turns out, the cost of ingredients + electricity adds to slightly less than what it would cost to buy the same products from a bakery. This doesn't price in time spent on preparing and baking, but it's not like we could actually use that time to make money, we're having fun, and going to a store also takes time (and/or fuel). Electricity is cheap.
Certainly that's true (although when I got an induction stove i only had to replace one pan - they've been widespread for long enough now that all the cookware I bought in the last decade is compatible, as are all my ancient cast iron pans).
It's worth understanding though - at least in the UK the received wisdom is that "kettle is fastest" - but that's not always true any more.
Preparing the ingredients is good advice at home too. Otherwise you forget things or use the wrong amounts. Have everything in small bowls ready to go in, then start cooking proper.
And yes an onion can be chopped in seconds. There are youtube videos on it. Worth learning.
This used to be very discouraging for me, but I recently learned that usually the time given for recipes doesn’t include chopping, measuring, etc. Because how much time that takes people is so variable, recipe authors leave it out. If it included, there is intense pressure to keep it under 30 minutes because people will avoid recipes with longer times (also, unfortunately, SEO does, too).
I am going to disagree here. I think prep times are generally accurate for people with decent skills who are motivated to move quickly (rather than hang out in the kitchen and chat, which is totally fine it just affects your schedule).
How long does it take you to chop an onion? Well, let me put it this way—an instructional video of someone demonstrating how to chop an onion, moving slowly and pausing to explain the technique, will run about 90 seconds, possibly less. If it takes you more than about a minute to cut an onion, you are slow.
Most people have dull knives, hold the knife incorrectly so it is unstable, make the wrong cuts in the onion so it falls apart, hold the onion incorrectly and move slowly because they are worried about cutting their fingers. If you sharpen your knife, hold it correctly, make the correct cuts, and hold the onion correctly, you’ll find that it’s very fast to cut an onion.
Fact is—the difference between someone who is skilled and someone who is unskilled is big enough that they teach entire classes on knife technique. This is not about some esoteric subject like teaching you how to butcher small game in your kitchen—in a knife skills class, they’ll teach you basic stuff like how to cut onions. And I’ll say that being good at cutting onions does require a decent amount of skill—onions are round and slippery, after all.
Fwiw, this is totally untrue. Most people are simply not very efficient, even people who are "good at cooking". Knowing how to cook and then watching someone who is self-taught (or worse, YouTube influencer taught) is pretty eye-opening.
Don't feel bad, most people are not actually good at cooking. But if you care, being good is pretty simple. It just takes actual training, which most people are surprisingly resistant to.
Just to clarify this further - most good recipe writers would use actual prep times, but they start from the state of listed ingredients. If the ingredients mention '3 whole onions' and the steps list chopping them, the recipe would include chopping time. However if the recipe lists 250g chopped onions, then the recipe time won't factor into that part.
Of course, this is usually true for publications which have an editorial processes (eg - Cook's Illustrated), and not more casual blogs/YT videos
Yes, you’re right. At least partially recipes call for items in state because prep time will vary significantly by skill level. More cynically, with blogger recipes there is also a potential for SEO games.
It isn’t really a shady practice, but for whatever reason over several years I had never known it.
Agree 100%. There's a race to the bottom when it comes to preparation times. One recipe says it takes 20 mins vs one that says 45 mins - which recipe are you going to choose?
Remember the initial feeling of navigation by HJKL? And how hindbrain those keystrokes are now? It gets that way with onion-chopping (and everything else in the kitchen).
Take mise en place seriously. If the recipe calls for chopped onions, chop them before you turn on the burner. Later you can work on parallelizing the process (eg, chopping the onions while the bacon is rendering) but to start with, just work on getting all the pieces on the table before you start the chess clock. Delegate to sous-spouses or sous-children.
Rarely do you need to be a perfectionist. If you are sautéing or stewing or braising or souping, the onions cook down. Ceviche is a different matter. Baking may be more specific, but that kind of witchcraft is forbidden around here.
I can cook reasonably well (I like food and have ~40 years of practice).
> If the recipe calls for chopped onions, chop them before you turn on the burner. Later you can work on parallelizing the process
For most meals I start the slowing-cooking item first and then start on the others once it is in the over / pot or similar. E.g. a roast joint. I'll get it in the oven and then prep the roasting veggies (e.g. potatoes and parsnips), get them in the oven and then start peeling the green veg (which only need cooking for a few minutes). Over the years I've learned how long things need and how long I take to prep them, so my timings usually work out.
Chinese cooking (or at least my take on it) is my main exception: given the short cooking times of some things, and the large number of ingredients / dishes, I tend to prep everything first, and then start cooling simultaneously.
The other obvious exception is using my smoker, where a meal might stay in it for more than 5 hours. I say 'meal' rather than 'meat' because I also use the smoker to cook chilli and tagine.
Overcooking meats to be on the safe side, and overcooking the veggies, because they are in with the meat for the same amount of time, but they should be in for less, etc..
I guess I'm missing out on taste and nutrients aswell due to this?
You are, more or less depends on components and how you process them. The only way to figure it out is trial-and-error, sounds generic but it's true.
While I was unemployed for 9 months I got a brilliant idea to learn cooking outside of sandwiches and very basic meals. One of the main dishes I'd wanted to learn was boiled rice which everyone around me always fail to do properly except SEA expats. I was surprised that for each shape and size of rice I could buy there are 2 or 3 different sources and/or cultivars which behave differently but people tend to cook them the same way.
I found that a good quality instant-read thermometer(e.g. Thermapen) was a huge help for building confidence when cooking meat. If you don’t have one, I’d strongly recommend getting one.
For most meals I cook, onions are one of the slowest cooking items. I'm vegetarian so there's no meat, and I avoid items like potatoes and parsnips in most meals specifically because they're slow.
> Remember the initial feeling of navigation by HJKL? And how hindbrain those keystrokes are now?
Totally unrelated, but I have a dvorak keyboard layout, and navigation using HJKL is one of the things I hate most about vi. Sure, I could rebind it locally, but that doesn't help me when I use a remote machine. Perhaps this is what being left handed feels like.
I'm a heavy VIM user, and I pretty much only use J and K, almost never H and L. Pretty much everything else is more efficient anyway (w and b to jump to word boundaries, f / t to go to a specific character on a line, etc.) so by the time I'm resorting to that kind of navigation, I often use the arrows (or even the mouse!).
The Netflix series is mostly food porn and a fun travelog. It actually teaches you maybe 10% of what you'd learn from the book.
This is actually a problem with most current "food TV". None of them seem to actually want to teach people how to cook. They'll spend 90 seconds showing the host throw together a dish while glossing over most of the details and techniques, when they should be spending the full 30 minutes.
+1 to all the sibling replies. I’ll add the inspiration element from my experience:
Samin Nosrat is a fantastic teacher. She shares cooking through the lens of “why”. It’s the opposite of say, rote learning which, as a beginner, i’d always assumed “follow this recipe” was and so suffered indifference toward the world of cooking. I’ve never been good at following directions.
She’s the teacher that guides you to what you could not see because of false assumptions.
Cooking is now an endless exploration. There are foundational answers to “why” and though I’d call it an anti-recipe book, the second half is all recipes heh, but they are like seed ideas. You can practice one seed and explore yourself how to build upon it.
I made an herb salsa: citrus juice, herbs (i use cilantro), onion, salt, and oil. This is the ACID. You can then incorporate the other 3 however you wish. It makes me feel like a chef! I put it in eggs. and chicken. i’m still exploring. It takes time and care, but not “to get the right answer”, rather to develop your point of view. I look forward to it now. each meal is an opportunity to practice and explore. its my own creativity and art. i love it.
I haven’t read through it, but the essence I believe is an emphasis on fitting components and techniques together rather than slavishly following recipes.
Similarly good (and maybe a good companion) is J. Kenji Lopez-Alt’s YouTube channel. He basically wears a GoPro and cooks full meals with a very minimum number of cuts. You can see him make mistakes and adapt recipes to what he has on hand in real time. Watching a pro do that really made a lot of things click for me. His book (The Food Lab) and his articles on Serious Eats are also good, but his videos have really been extraordinary.
Fully agreed. I wanted to add that sometimes he also goes into a scientific detour about why something is done the way it is, and I learned a lot theoigh that.
I've read part of it, and really enjoyed it, and I would say: It breaks cooking down into four simple, basic principles (the salt, acid, fat, and heat of the title), then deep dives into each one and explains exactly how those things contribute to the taste of different dishes. This allows you to learn to cook without just following a recipe and knowing that if you apply those principles correctly to whatever food you have in your kitchen, you can make something reasonably tasty.
Of course, learning to cook also involves many other techniques and combining flavors in more complex ways, but if you're starting out and can't boil an egg, it's a great introduction to the basics of what makes food taste good.
It’s a pretty deep read I’d say. It’s improved a lot of my instincts in the kitchen (what’s a dish or pot missing) . Recipes are also nice but can be a cost trap until you generate a sense of what sorts of things you want to have stocked. For that I’d say stick to one grouping of recipes (like say, Italian) to get a basic idea of what “most” recipes use in that grouping. That will save you money as you won’t have to be going out for different new spices, canned goods and oils every time you cook.
Sounds a lot like how I've learned cooking during my student time. It's fun experimenting with techniques until you understand how to extract a decent flavor out of each ingredient. I think this is why master chefs never stop learning, it's a really deep rabbit hole until you've perfected just one dish, repeatably.
I find a big part of the problem is most kitchens are designed poorly without any attention to workflows. For example pot->sink->stove or dining table->sink->drying rack or vegetables from fridge->sink->cutting board->pot and often require back-and-forth motion to accomplish these things. No attention to where the user would place a trash can AND recycling can AND compost can. No attention to where the user would place a knife block that is right in front of a suitable space for cutting, with enough space for cutting. Sinks or fridges placed next to stoves with no attention to where one would store oil, vinegar, other cooking condiments, spatulas, and things. Sinks designed without space for a drying rack nearby. Sinks and faucets that are too shallow that you can't wash a pot. Faucets that are always either too hot or too cold. Sharp-cornered hippie sinks that are hard to scrub down the corner. Counters designed so small and completely oblivious to the fact that everyone has at least a microwave and 3 other appliances and still need space to chop and work flour without making a mess.
If the space is designed well with close attention to workflows and storage and even a gram of attention paid to the UI/UX of the kitchen, work would a LOT faster.
I would definitely recommend watching a few videos.
1) knife basics & skills. Not to nerd out too much here, but a good chefs knife is such an important tool (reply if you want any specific tips or have questions)
2) learn how to cut or prep the thing you are going to do on YouTube. Watch a couple of videos. Blue apron has good ones, but YouTube will also often jump to the good stuff if you are willing to use Google's search.
Most useful: basic knife skills should help you cut cucumbers and zucchini better. After that, broccoli can be really efficiently removed from the stem. Lemons can be fairly easily quartered and de seeded if quartered vertically. Literally anything else and whatever cut, just watch some videos. Onions - there are nice ways to dice them. Etc etc
3) be kind to yourself; prep the kitchen a bit ahead of time. Clean surfaces. Pre measure ingredients into bowls. Keep a trash bowl near your cutting board so you don't have to walk to the garbage bin. Start the timer after you've done a little work to get things ready, but before you've turned on any heat or sliced any vegetables (eventually, the prep step will be super fast or you can optimize your kitchen for your flows)
A trash bowl is a really under-recommended thing to have where you're working. A tidy space is much easier to work in, so having somewhere to quickly put the offcuts and mess is a really simple thing, but makes for a way better cooking space. AND you can move it with you/put it out of the way when it's not needed.
There's a concept called "Mise en place", which basically is some french phrase which means "Prepare your stuff".
Do all your measuring of ingredients at once. Once all of the ingredients are measured, then combining them when needed becomes far more efficient, instead of context-switching.
Alternatively, use a scale. Keep your dish you're baking on the scale, and just keep adding stuff until the right amount of weight is added. IMO, the scale methodology is far easier.
----
As far as "chopping an onion", there's a safe way to slice food. You want the knife to be very sharp, then when you do a slight "slicing" motion, you can feel the bite. When you feel the bite, that's when you can press down, knowing that the knife won't slip on the onion and slice off a chunk of your skin.
If you push down before you feel the bite, you may have the top of the knife slide off the top off the onion and onto your fingers. With a dull knife, that's not a big deal (but a dull knife means you're not really going to be cutting very quickly...)
There’s also something to be said about the proper knife motion.
A knife is not a saw. One should try to cut down and forward, away from you. And you should slightly protrude your knuckles out so that your knife is away from your fingers as it is against your knuckles.
It also helps if you use a large knife with a curved blade, so that you can rock it along its length. This is great for quickly dicing veg into really tiny pieces (grain of rice size).
> It also helps if you use a large knife with a curved blade, so that you can rock it along its length. This is great for quickly dicing veg into really tiny pieces (grain of rice size).
IMO: If you're going that small, get a food processor.
Food processors are very useful in a number of recipes: homemade cuts of ground beef (ever try Rib-eye burgers?), breadcrumbs, casserole?
----------------
Similarly, if you're julienne (aka: french cut) a lot, consider a mandoline slicer. A knife can be used, but dedicated tools are faster and more efficient.
The knife is the general purpose cutter. But there are many other cutting tools that are better at making certain shapes.
I use knives or food processors but the knife is sometimes faster (IMO) because there is less equipment to find / wash. I would almost always use a processor for breadcrumbs but an onion that I wanted to dice - I'd just use the knife.
Knives with straight edges work well too, it’s just that the techniques are completely different. If you are used to using a curved knife, the straight knife will seem clumsy and slow, but it’s not.
I would recommend a (curved) chef's knife for most people, though.
Yes! One of my best travel hacks was to buy a "key ring" pocket sharpener. I found myself staying in Airbnbs (back when that was a thing) with terrible knives. It's a pain to travel with your own knife through airport security though. But you can bring a sharpener and it makes a huge difference even with a poor quality knife.
Prep time only includes preparation steps listed in the recipe, never time to prepare or measure the ingredients. So a recipe that calls for "5 onions, finely chopped" won't count the peeling & chopping time. But when it says "sautee onions for 5 minutes" that's where the "5 minutes of prep" comes from. "Cooking time" is usually the unattended cooking time, where something is just boiling in a pot or baking in an oven.
There are three tricks to chopping an onion quickly:
1. A sharp knife. This is a must for just about anything in the kitchen. While the price tag of a name brand German or Japanese knife might scare you off, a $5 Kiwi #171 knife from Amazon or eBay can serve you well, and will kick the pants of the knives found in a lot of home kitchens.
2. Don't cut the root off until the very end. If this were a decade ago, I'd write more about technique, but the reality is you're better served by watching a few someones do it on youtube than reading what I type.
4. Don't screw around with a chef's knife for cutting a large root vegetable. Buy a chinese vegetable cleaver. Weight matters when cutting through thick veggies, even with a sharp knife. A cleaver adds the weight for you and gives you a convenient bench scraper for collecting the veggies to add to whatever bowl you're keeping them in.
My experience is that a brand of knife is less relevant than having a good sharpening tool that can be used instantly to regularly sharp the knife. Surely a knife with good balance and grip helps, but any knife requires regular sharpening, German or Japanese.
Probably it is too obvious to you, but I want to point out even good German knifes need to be sharpened regularily. (Just a few pulls through the knife sharpener). I know people who do not do that and are suprised that the knifes do not cut that well.
At least for me (or is it the onions we have?), peeling the onion is the tricky part and takes as much time or more as chopping the onion, and cutting off the root helps with that.
Also, know the difference between honing and sharpening.
The edge of a knife is very fragile, because it is very very thin. As such, when you use the knife's edge, it will eventually "bend over".
A honing edge straightens the edge again. That's not "sharpening", its just pushing a stick against the knife edge to realign everything. It will cut better once you hone it.
Honing should be done every time you use the knife. Sharpening should only be done every month (if you use the knife a lot) or once every year (if its a rarely used knife)
Best practice - get a bag and make French onion soup. By the 4th onion with a YouTube video with proper technique you will be screaming fast comparatively. And French onion soup is delicious
Same!! I cannot do things like “while x is boiling, chop the vegetables.” I have to get everything prepped before I cook because I’m not skilled enough yet to be able to multitask.
I think this is quite common. Don't let it stress you out. Context switching is something we all have to do from time to time. You can't decide to sit down and review all of the code you'll ever be sent to review in your life. It would be nice to block off a month and knock that task out with great temporal locality. But, much of the code you need to review won't be sent until a few years from now, so you just can't. You can't make an infinitely large batch.
Context switching makes sense when the cost of the switch is less than the time saved by doing the switch. For a beginner cook or someone whose knife skills aren't that great, maybe the cost of the switch is very high or the benefit is relatively low. Or maybe the window of idle time is not sufficient to accomplish the critical work. In this case, you just have to move the critical work earlier into the process and accept some down time.
That being said, one thing I have found is that if I'm really FOCUSING on cooking, sometimes the idle moments are larger and the context switching costs are less than I had though, and maybe I can mix some prep in with cooking. The problem comes in when you're constantly checking your phone or chatting or whatever in between the cooking steps. That can really slow you down.
Many many of the recipes out there are terrible for exactly this reason and you have to read and reread the recipe at least a few times before starting. Plus the whole recipe internet is kinda a SEO cesspool which doesn’t prioritize good recipes.
Evaluating and bubbling up good recipes is hard though. Everyone’s tastes differ and the telling thing is that comments sections are always littered with stuff like “I loved the recipe. I just removed half the sugar, replaced apples with lemon and cooked it for twice as long”
A big issue with things like “while x is boiling, chop the vegetables.” is that they depend on the number of people you're cooking for - I've had a bad experience with recipes where I do that when I do the same thing for twice as many people; because it takes twice as much chopping and suddenly the other stuff has been in the heat for far too long.
Chopping and cutting is a skill you need to get the hang of. I'm nowhere near a pro level of doing this, but I've become quite fast at it.
It sounds a bit dorky, but it really helps to look up on YouTube how a pro cuts an onion for example. You'll realise that most people are cutting them wrong, and that the "correct" way speeds up the cutting process massively.
> Recipes that claim “5 minutes of prep” are more like 20 minutes for me. It can be very discouraging.
Always when discussing recipes with friends (I realize now how curiously frequent that is) the stated time is almost always too low for most people. So you're far from alone there, even among people who "can cook".
I consider myself and my wife equals in cooking, but she is definitely much faster than me, and is of the rare kind who can complete most (new) recipes within the specified time, while I prepare slower and always go back many times to double check things. But she's the outlier, not me, at least from my anecdotes.
I could probably work on chopping faster and less "perfectionistic", but the recipe part after getting used to dishes is where I make up most time after a few times.
Once you get a hang of a region's cuisine, you get a feel for how measurements fit and what seasoning works, and that's how I like to cook.
Which is also why I don't like baking, since there's a lot less wiggle room for improv.
> Chopping an onion takes what feels like an eternity.
It's definitely partly practice, but make sure you have a decently sharp knife (you don't need to get anything ridiculously expensive but you should be paying ~£20 for one knife). The cheap "sharp knives" you get for £20-30 for a whole set tend to not actually be that sharp and make it really difficult to cut through things like onions because they slip all over the place.
I got my high quality but very old knives professionally sharpened a few months ago. It made a world of difference and cost something like £25 for 5 chef's knives, scissors and a serrated bread knife.
The guys I went to (in south London [1]) do most of their business renting knife sets to restaurants: each chef has two sets of knives; every few weeks they come by to drop of the newly sharpened set and take the other set away to sharpen back at their workshop.
Their tip is rather than paying full retail price for quality knives, buy knives through them. They'll recommend what's best for your needs and budget. You can save even more by buying from their restaurant rental stock, freshly resharpened, for something like 1/8th of what you'd pay new in a store.
[1] http://www.collini.co.uk/ in Balham (55 Fontenoy Road, SW12 9LX). If you take your knives to them for sharpening, you can watch them do it, on large, 1950s era motorised grindstones. Absolutely fascinating.
The prep time doesn't typically include the time to prepare any ingredient. So, if it has chopped onions as an ingredient, they assume already chopped. (Now, if they just have onion and include chopping in directions, bets are off.)
> for chopping it really helps to have a sharp knife. A dull knife... is also more likely to cause an accident.
This is true, but sharp knives also require good handling skills. If someone has been using dull knives their whole life they will almost certainly cut themselves if given a sharp knife, unless they are also re-trained on how to use them.
Watch an episode of "Worst cooks in America" and count how many hands Ann has drawn on with a red Sharpie.
Apologies for stating the obvious, but cutting and chopping are skills. Like any skills, you will suck at it at first, but time and practice will speed up your prep time.
There's a huge difference between having to consciously cut vegetables, and being able to do it via muscle memory.
Taking the time to learn the basics of cooking pays back exponentially. In addition to the health and costs benefits, I find it extremely cathartic. And anecdotal, but I love the look on my friends and partner's face when they are enjoying a dish I've made.
With a few basic skills you can whip up so many tasty dishes.
My little secret: a homemade white sauce seafood pasta. It's embarrassingly easy to make, and wows my guests every-time.
Sorry to add to the pile of comments, but I really recommend you watch a couple of video on cutting technique (like five minutes longs video, no need to nerd the whole thing out).
Not only having all your fingers is good, but knowing you are safe will empower you to progressively raise the speed of your movements. It's a skill, you get better with time and practice.
* Peeling. I don't try to remove the dry peel, instead I just remove the whole outmost layer, comes off with a shallow cut then removing it. Yeah it's a bit of a waste, but often that first layer isn't in a great shape and you'd toss it anyway.
* Cut in half, place the halfs flat side down. Much easier to do the rest when it doesn't try to roll away from under you.
* Cut to slices without breaking the pack (i.e. keep it half-onion shaped). This is probably easier to do with a small knife than a large one.
* Cut the sliced packs orthogonally to previous cuts. Done, except if you want a tiny mush (in that case, use a bigger rounded edge knife, cut with a rolling movement so that the tip end of the blade keeps in contact with the board; same technique also works great for garlic).
As others have pointed out, you'll want a sharp knife (a knife sharpener is a good investment). Cut with sideways motion with a hint of downward pressure, instead of just trying to press down through the onion.
Additionally, a lot of people use a knife that is considerably too small for the task. I used to be one of them. It may look intimidating at first, but a bigger knife chops so much better!
you really want to use a proper chefs knife for all these tasks. The primary reason is that the knifes size and shape allow you to anchor it on the cutting board while making the cut. Having an anchor point allows you to make fast, precise and safe cuts. Another important point: Use a sharp knife. Dull knifes require much more force and are much more likely to slip - the injury risk is significantly increased.
* It will show you how to cut and the correct techniques to use. Have a look at the Amazon 'look inside' to see how to cut onions, carrots and asparagus
* When cutting things like carrots, are you cutting one carrot or multiple? (the next point is important for this)
* Are your knives sharp? There should be almost no effort cutting through a carrot, for example.
Background to Leiths:
* They're a real cooking school that teaches professional chefs assuming very little knowledge
* It was set up by Prue Leith and Caroline Waldegrave. Prue Leith is one of the judges on the Great British Bakeoff.
* Leiths is well known in London for both their professional courses and for amateur ones too (e.g. a day to de-bone a chicken)
Checkout J. Kenji López-Alt on YouTube. He's is food writer (Serious Eats/Food Lab) and a chef and during lockdown he started making POV videos of him cooking for his family. You can see it in near-real time and pick up on techniques and shortcuts not normally emphasised.
I can also really recommend Adam Ragusea. All of his recipes are optimised for the home kitchen and he shows all of the steps including preparation (although sometimes sped up). He also has a lot of tips about not using so many pans etc.
Apart from the other tips given, in particular proper technique:
Try doing a few meals in a row with similar ingredients and chop once for like the next 2-3 days (depending on what's being chopped).
Also you can try timing yourself. See how long it takes to chop an onion, record it. Now you know the REAL prep time for a recipe based on it's ingredients.
What really saves time is having an idea what order you're going to do things and how to parallelize tasks, but for that you need to have some intuition about time so you don't accidently burn something. There's a recipe I make that takes twice as long if strictly prepped first then cooked.
Also, just going to state the obvious, but if you're cooking for more than two people, it's just always much harder.
The same people that would be dismissive of your experience here are the same people that would be dismissive of the concept of getting specific groceries delivered while the world changes before their eyes.
Basically everyone just stopped talking to them and chose the more convenient solution.
There was a nice article talking about how long it actually takes to caramelize onions. Everything says like 20 minutes when it actually takes almost an hour.
Cookbooks and recipes with rigor are few and far between.
I always hate that frequent retort, though, because people are always saying "this recipe says caramelize the onion for 20 minutes, and that's impossible, this recipe will take an hour!" but they're attacking the wrong thing: cook the onions for 20 minutes, then quibble about whether "caramelizing" is the scientifically-correct word.
The intent of the recipe is almost always to cook the onions for the time stated. Chefs were referring to softened, browned onions as "caramelized" for decades before the chemists started coming in and saying "well, actually that isn't technically caramelized..."
> cook the onions for 20 minutes, then quibble about whether "caramelizing" is the scientifically-correct word.
Except that this is wrong. It makes a world of difference in how the recipe tastes. And you have to be a relatively experienced cook to know to flag this.
"Cooked" onions are generally soft but still acrid.
"Caramelized" onions are starting to get hard again because of browning and are sweet with no acrid flavor at all.
Those are two VERY different flavor profiles.
And that's before we get to the point that we have to wait 40 extra minutes for the caramelized onions while everything else is waiting because you expected that it only took 20.
No, I know there's a difference, what I'm saying is that any recipe that says "caramelize the onions for 20 minutes" means cook the onions for 20 minutes.
I gather you think very poorly of chefs and recipe writers, but, really, no recipe-writer tests a recipe by cooking the onions for an hour and then writes "20 minutes" to try and win some speed sweepstakes.
I've noticed in my part of America when people say "caramelized onions" they don't mean dark brown fully caramelized onions. They usually just mean cooked onions. I expect when I order a dish that advertises "caramelized onions" I'll get cooked onions 99 times out of 100. I was well into my 20s before I ever even had fully caramelized onions. (and I really wasn't impressed if I'm being honest)
However, I also noticed in Montreal "caramelized onions" actually always meant caramelized onions.
So it's just really just poor terminology rather than a ploy to fool you.
Nobody in America is going to wait an hour for food outside of the high-end restaurants. So, anything with "caramelized onions" would need to prep and store that step with the associated degradation.
The exception was my favorite cheesesteak place (sadly now gone--the owners got old and retired). The owner literally had a row of chopped onions that stretched the length of the grill. As he cooked he would keep adding onions on the far right while moving the entire line of onions leftward--so the onions that got used actually had enough time to truly caramelize. Similarly for the steak, just much faster. When everything got to the far left (steak with cheese (people who want CheeseWhiz could go somewhere else thanks), onions, bun) his wife would assemble the full thing.
It was a thing of beauty to watch them work. And the cheesesteak was glorious.
And now I'm hungry and craving a cheesesteak that doesn't exist anymore. :(
"mise en place" or prep work (not the one you mention in your comment) is important. you'd be surprised how much time is wasted chopping onions, boiling veggies, marinating meat, etc.
these should be done in advance if not the day before.
I have more experience in the kitchen, and those estimates are still way off. I don't even pay attention to them.
Cooking is a nice break from screen-based activities. I put a podcast or some music on, and cook myself something nice. Since it's a hobby, I don't worry too much about efficiency.
That being said, after making a recipe once or twice, I always transcribe them, along with minor optimisations. Unlike some recipe creators, I don't have a dish washer, so these little optimisations matter.
Get yourself a Slow Cooker. You just chuck a load of ingredients into it and turn it on for a few hours. Minimal prep (you may need to peel a carrot) and no need to schedule tasks.
Unless you are just slow cooking all the time, getting a multicooker is probably a better investment. Those can usually slow cook just fine, but also cook rice or pressure cook if you need something faster.
I highly recommend looking up basic cooking skills on youtube - just search for that phrase - there are basic knife skills that can help you chop an onion in under a minute.
For some reason those skills are not listed most cook books and I certainly didn't learn them in school.
The other commenter kind of hinted at it, but there's tricks to cutting every vegetable efficiently. Humans have been cooking forever and have gotten good at it.
I used to have the smashy oxo chopper. For a beginner cook it is great. I found that it produces inconsistent sizes for anything besides "mince" so yeah, garlic works, or onions for salsa. Nowadays I would recommend taking a knife course (or at least some youtube studying) and using the chopping time as a break from thinking about work. Prep work can be cathartic, and even if time-consuming it is not time-sensitive.
Edit: realize my comment sounds negative about that chopper. while I don't use it anymore, it's cheap enough and worth trying if you are on the fence or don't enjoy the prepwork.
I absolutely agree with cleaning while cooking. Sauce has sputtered on the rage top, go ahead and wipe it off while it's still liquid. If I'm done cutting on the cutting board, rinse the board and kind off while things are cooking.
That said, I suspect that ability to clean and cook at the same time comes with experience and comfort with the cooking task. If imagine the same goes for socializing while cooking. Some meals I can do on autopilot and have the connotative capacity for other tasks, while others I ask the family to give give me some room to focus.
The mental cost of getting over the hump of procrastination is also not uniform. If I clean dishes in chunks at least somewhat as I go, then the kitchen is less of a catastrophe when I'm finished. I'm more likely to put off the subsequent washing and cleaning after eating if the kitchen is a ruinous crater.
This is really an experience thing. You are experienced enough to chunk bits of the work together so that there is no context switch. Beginners can't do this, that's why experienced cooks are so much faster. They intuitively know what will "fit" together in time. This generalises to other tasks...
Oh I agree. I have to cook out of necessity, but I don't enjoy the art at all.
What makes it fun is that I make it a game of optimizing concurrency.
I just love thinking ahead and planning what operations go in what order, how, when, how few trips to the same cupboards and drawers I can make, etc.
I can make scrambled eggs, bacon, toast, and some fruit or yogurt for a family of four in six minutes without leaving a mess. (The bacon used to double the time until I decided to use a second pan and pay the price of cleaning two)
My wife started cooking bacon in the oven or toaster oven. It increases latency from a cold start (preheating) but I find it takes less attention that a stovetop, and the result is still tasty. I am curious if you have experimented with that, specifically because as you state you enjoy the scheduling most.
Yes! I found that oven bacon is pretty great and low effort. But slow. Air fryer bacon is amazing though and fast. But still I find pan bacon the most enjoyable and then I can vary the qualities so the kids get crunchy and I get soft.
If you think about it, it won't leave your brain: McDonalds restaurants are basically CPUs, especially now with the pandemic.
Instruction fetch: ordering on the touchscreen.
Instruction decoding: each component of the order gets routed to the functional unit that can handle it.
Separate functional units: fries, burger flipping, burger assembly, fridge, etc.
Superscalar: multiple functional units to do the same operation (flipping, assembly)
Pipelines: different phases (fetch/decoding/execution/store in register) happen in parallel for different instructions.
Speculative execution: the most common sub-orders (e.g. Big Mac, basic cheeseburgers) are executed before they are ordered and wait in the sub-pipeline (rack slide) until completion.
Write to register: take the results from the different funcitonal units and putting them in your bag.
I believe their analogy is indeed predicated on having little to no downtime available. Think eggs Benedict for four in 15 minutes rather than a five hour brisket braise.
If you batch together cooking as well as cleaning tasks just because they both happen to be in the kitchen one ends up getting overwhelmed by both context switching as well as motivation.
Even in a kitchen, you clean as you work. If all you do is cook, your work station is going to end up a mess, your mise en place will almost certainly go out the window, and you'll soon end up in the weeds. (source: I'm a former pastry chef)
The context switch cost is still reasonably high. However, since you're in "idle/wait" status, you can as well use that to perform such a costly context switch and cleanup some. If you however e.g. had to stir something every minute or more, then the context switch would be too expensive, even tho you're still "idle/wait" most of the time.
I start cleaning/tidying up myself when cooking, but only "easy to clean" stuff, because more than once I have been burned by focusing too long on cleaning something more difficult to clean (or rather my food was burned a little).
The reason that recipes list ingredients at the beginning and not interspersed throughout the instructions is because you can almost always measure, chop, and organize your ingredients ahead of time. Cooking is a lot less of a hassle and challenge when, as long as the heat is on, you're simply adding ingredients to a pot or pan and stirring or flipping occasionally. While what you're doing is perfectly reasonable, context switching still takes on mental effort, and chopping ingredients while things are cooking adds undue stress to the process.
I think it's dependent upon the end goal that one intends to achieve and ones interest in given set of task. If the end goal against different set of task is different, context switching would be hard. People working in startups do context switching seamlessly comprising of different apparently unrelated task i.e. Development, Growth Hacking, QA, Marketing etc. The point is to find a higher purpose that engages one holistically. Procrastination won't happen then.
Even in a pro kitchen they are usually cooking and prepping multiple dishes for multiple orders at once. A friend of mine is a Michelin starred chef and they have a chefs table in the restaurant where you can watch the kitchen. The thing that struck me most while watching them work is how many things each individual chef is juggling at once. It's an art form to cook so many dishes to perfection at the same time.
Many dishes simply require such switching because they require two pans to finish around the same time and then combine.
What is the extreme end of this, anyway? Is the auctor asserting that we hold our lives for the week it takes for various form of dough to ferment till readiness? simply staring at the fridge that houses it?
This is also the problem with this philosophy: the vague definition of when a task be “done” or “still ongoing”.
A better analogy for context switching would be stowing everything away you used for making cookies before starting the next task.
What you are describing would work as an analogy for hyperthreading / smt though. Not all ressources are used because one needs to wait for things to be ready. So you do something else to keep busy in the same space as the rest of your kitchen.
I disagree, too, because while you are cooking, there are a lot of other things to do in the kitchen. There are times when you are just waiting 2-3 hours. If you have unwashed dishes, that is a good time to clean it all up. Once you are done with the kitchen, feel free to do anything else until, say, the lentils are done.
Yeah. The author isn't a competent cook so it's an unfortunate analogy. For a good cook, cleaning dishes isn't a context switch, it's part of the same process.
It's a shame that the top comment is calling out the analogy and completely missing the point of the article, though.
I think it's different with creative or intellectually challenging tasks that need a certain amount of concentration. I also clean while I cook, but have a lot of trouble context-switching while coding.
It's quite different to switch between tasks when one task doesn't need your attention for a moment but quite another to switch in the middle of the tasks.
In both, though, take care on what you switch to. The toast example is good. If, while waiting on that you decide to clean the front yard, don't expect good toast.
What makes it worse is the number of times I see people get their work interrupted by a WhatsApp, SMS or Facebook Messenger notification on their phone.
That damn pop ding Messenger notification sound is like a dog whistle for many people; instantly dropping what they're doing and picking up their phones to follow this sound.
I wonder how this generation will be able to remain focused with all of the distractions that keep popping up around them.
This is why I am baffled by Apple watch users. My phone is distracting enough that I make a point of having it turned off and in my backpack when trying to work. I can't imagine having something on my wrist that vibrates whenever an app is trying to get my attention.
I'll join the chorus and say that I've basically disabled all notifications for my Apple Watch.
My Apple Watch:
* is a heart rate monitor
* a blood oxygen monitor
* an exercise tracker
* a music control device when exercising
* a volume control device for my airpods
* an enabler of checking phone calls easily without taking phone out of pocket
* a *very* rudimentary sleep tracker.
I use my Apple Watch almost exclusively for its health tracking benefits, and also because it's convenient as a remote sometimes.
It was also really nice in the recent Puget Sound power outages as a flashlight.
> Are there good features to help lower the distraction level?
Disable all notifications on it and it quickly evolves into a regular watch on your wrist.
> Do you find it useful (and worth the price) for the passive health tracking stuff?
It's a nice companion to an Apple device in the Apple ecosystem; and, if you're someone that's not into Fitbit for whatever reason, I've found it fine.
I also own the least expensive Apple Watch 6, as I was using it as a test device to see if I'd be interested in staying in the ecosystem. I don't see a reason to leave it.
I've also bought one for my mother - who immediately disabled all notifications, too, for herself; and, she quite likes it so far. I asked her to turn on fall notification and we're friends on Apple Fitness Sharing or whatever it's called.
I think it's fine and it serves my needs. I would need to look at the market again for another device that has over a day of battery life (always-on screen off, no notifications), an O2 sensor, heartrate sensor, doesn't fight with my PiHole or VPN (Fitbit did not like me being on a VPN) and other features if I'm in the mood for them.
I use Apple Pay all the time, so it's nice there, as well.
The AW has a control center which can be accessed via a swipe up. From there you can tap the bed icon and you will not receive notifications anymore. You can also dig deeper in to the phone app and stop each app from showing notifications on the watch.
Personally I leave on all notifications that would show on my phone because I find looking at my watch less distracting than taking out my phone.
If you purely want health features, there are many cheaper options but I'd be cautious about the accuracy of the sub $100 watches. You might find like me that the watch is useful for a load of things you didn't think of. Using apple pay on my watch is slightly nicer than on the phone, setting timers is slightly quicker, checking the weather is slightly quicker, etc.
I find myself using the watch a lot for these tasks because its simply faster and lets me get back to what I was doing quicker.
I can't speak for Apple users but my watch actually has the opposite effect. The only notifications I let it show are one's that are determined to be important to look at. Everything else remains on the phone and on mute until it is time to deal with them
I disabled almost all notifications, and now I like it because it means that if I just got a text message (basically the only notification I allow), it shows me who sent it and not the message itself (where otherwise I’d have to pull out my phone to see who texted and in the process I’d see the message).
That makes it easier for me to notice the occasional semi-urgent family ping while otherwise ignoring notifications.
Admittedly, it took some tuning to get notifications on the watch to NOT be a distraction. I suspect that, for most people, having all notifications off by default would be better. But I also have a feeling that many people don’t ever figure out how to adjust the notifications, so if the watch shipped with “mute” as the default many people would never even realize it was capable of receiving notifications in the first place.
Do Pager Duty alerts actually work now? Last I tried they ... didn't seem the greatest, but I wasn't on call at the time, so maybe that's the real difference.
I find it to be the reverse. A tap on my wrist is actually less distracting because I don't have to grab and unlock my phone to see what it is. Its just a quick flick of my eyes down to see if its important. The watch also uses different taps for different kinds of messages so sometimes I know without even looking if I should bother.
Previously I would have pulled my phone out of my pocket to look every time it vibrated. Its also a super quick swipe and tap to turn on do not disturb mode on the watch so you get no notifications or calls (there is an exemption list too I think)
Man, Apple Watch was the worst. It would intrude into life to remind me to breathe.
But, the real issue with a watch is that it’s still a two handed device, except one hand is literally cuffed away from being useful. Combine that with the infrequency that it would actually work as a watch, by turning the screen on. I want back to a Cassio calculator watch and never look back.
This is the main reason I left my Apple Watch at home, it was such a distraction. I even had multiple people comment on why I was constantly looking at my watch. The thing was vibrating constantly, and it's impossible not to look at it straight away.
I had the non-LTE 3rd generation, and actually found it rather pointless in general. It was far easier to just use my phone. The only thing that was useful was the heart-rate monitor, but I could easily live without it.
Perhaps the latest gen with LTE and all the other health functions would make it useful, but I'm very hesitant to give it another try.
People you know have sound turned on on their phone at work? This seems like the first problem. No polite person enables notification sounds from their phone.
This is a slightly more complex social dynamic, and a very interesting one. In my experience, it's only the alpha dog that can have their notification sounds enabled in a group setting - i.e. the person who can get away with both not giving a crap about it being annoying to others, and with pressuring others to silence their notifications.
We’ve added features the phones that help us out. We put the phone in “do not disturb” (or airplane mode).
What “these whippersnappers” need to hear is that it’s totally ok to use these settings. That nobody needs to contact them right now, getting back to someone within 24 hours is acceptable.
Even if you’re used to hearing from your close friends seconds after you text them: work needs to slow down and get more focused.
This also happens with work-related messengers and calls.
After transitioning to remote work during lockdown, chat&calls suddenly become mandatory to look at ASAP. Now I sometimes get multiple urgend messages while beeing on a surprising call. In the office, these people would see that I'm busy and wait. Now I have to line them up and prioritize them myself..
It took me a while to figure out that a few hours of this process could ruin a full day of productivity + requires much more mental work to regenerate after.
I do have ADHD though - so this is one of my biggest issues even under normal circumstances.
> That damn pop ding Messenger notification sound is like a dog whistle for many people; instantly dropping what they're doing and picking up their phones to follow this sound.
This probably results in some kind of ripple effect much like traffic in-efficiencies. If pre-corona traffic in some of the major metropolitan cities is any indicator, we're nearing a point where progress for most will be significantly slowed whilst those who fly above the top, avoiding messenger based distractions entirely, will suddenly have infinite time and blue seas abound.
In my opinion, it's time to disable notifications when in a context that isn't messaging, and use an emergency-style app to bypass disabled notifications so one won't miss anything time-sensitive in 2021.
I slowly teaching my colleagues (and learning myself) to use no-sound messages in telegram. If something does not require headsup/asap level of attention, I better send it with no sound, as if it was email in old days.
Still it is not convenient to hold onto a send button to do that. I wish messengers operated noiseless by default and had a special “ding” button to request attention. It could even be used alone, just to remind your peer that they are blocking the important process and it would be nice to see an update on ETA.
People talk a lot about the costs of context switching, but not about how to reduce those costs. Instead they talk about reducing context switches, which is often unrealistic.
The cost of context switching can be reduced, and reducing it is one of the most important job skills and productivity gains you can get. It will also reduce your frustration.
Break up your mental model of what you are doing into smaller tasks. Compartmentalize. Encapsulate. If you are in the middle of something so intricate that you would forget what you were doing if you stepped away from it for a few minutes, persist that state somewhere outside your brain -- write it down!
Very few of us are in a position where we can lock ourselves away from others for hours of deep work at a time. So, focus on reducing the impact of the interruptions!
If we’re engineering ourselves there’s a few problems we need to solve. What you’re talking about is saving the registers/state before switching thread.
Another problem is figuring out what’s next to schedule. Visualizing your task as a non-ordered list doesn’t work well. What you need is to order your work with a priority queue.
Another problem is interrupts: what are the things that take you out of a task? For example, emails, notifications, etc.
Another problem is the noisy neighbor problem: you might get disrupted by other people’s performance, or what they’re working on, or your own lack of progress, etc. The solution of course was given by Feynman: disregard!
I’m also trying to lessen my ownership over too many systems (small company). If someone else is the go to guy/gal for System C I can just hit them with a 301 Redirect rather than context switching to figure out what they’re asking about and what the implementation details were
The kitchen analogy is apt. Woodwork (shop work, joinery) too. I can think of people in my life for whom cooking without also continuously tidying is anathema.
It keeps the deck clear but at a huge efficiency cost. Some people just can’t stand untidiness, yet learning to live with mid-process untidiness — and the associated anxiety — is a big step towards being more productive.
It is certainly not easy. When coding, I feel a great anxiety if I am mid solution and have a large amount of the current batch left to complete. It is as if I had taken a gulp of air and dived under the water into a cave. Batching involves being able to commit to living without safety checkpoints, and to be able to get a batch complete in the time allotted. If you don’t, you risk having a large pile of four-fifths completed batches.
I find it’s more like a kitchen where you start sautéing some onions on the hob, and behind you, the inactive dishwasher spontaneously belches water onto the floor, which you have to deal with now. While you’re disconnecting the water supply, your onions are burning, but just as you get back to them, the power goes out, and you have to go investigate. You come back an hour later, and resume cooking, when somebody knocks on the door, wanting to know how many squirrels can fit in a party balloon. You respond, go back to your onions, but the pan has inexplicably broken in two while you had your back turned. You get a new pan, and then you realise you are out of onions, and it’s 2am, and you go to bed, feeling you’ve accomplished nothing.
Most context switching isn’t voluntary, and isn’t controllable.
> When coding, I feel a great anxiety if I am mid solution and have a large amount of the current batch left to complete.
This doesn't work for all types of coding, but I've found that TDD (test-driven development) helps a _ton_ with eliminating large batches, as well as reducing cognitive load. The trick with TDD though is that it's simple to learn, but hard to master.
Another good practice is to reduce the "blast radius" of changes so that you're dealing with one thing at a time. For example, don't introduce a new type (class, interface) as a method parameter while implementing the new type while writing tests for it while changing all of the callers of the method to use the new type. One (small) thing at a time, and prefer to keep everything compiling and working except for that one thing you're working on.
As for cooking etc., I differentiate between "tidy" and "clean". Mid-process dirty is common, but I strongly prefer to keep my working area relatively tidy throughout.
Context switching has high costs, but it's a mistake to assume those costs are unchangeable.
With practice, it's possible to train yourself to get back into focus faster after being interrupted or context switching. It doesn't completely cancel out the costs, but having a strategy to get back into focus helps immensely.
The worst mistake I see people make is assuming that focus is something that only strikes serendipitously, and is ruined on the first signs of interruption. Once you accept that focus can, in fact, be cultivated and interruptions can be overcome with deliberate effort to re-focus, it becomes much easier to start training yourself to get back into the flow.
The other mistake I see people make is letting minor interruptions spiral into an impromptu 30-minute break of checking HN, browsing Twitter, or other distractions until they feel like getting back to work. Don't like your own habits amplify existing distractions.
The best analogy is sorting forks, knives, and spoons when we are putting them in drawers. We can throw all silverware together. But then finding a spoon in that pile will take time whenever we need a spoon. The task changes from getting a spoon (execution) to finding a spoon (identification). And that's a cost we want to avoid.
I agree with his overall point about the costs of context switching (and was disappointed that he didn't talk about the low level issues of coordination on multithreaded systems) but this seems like an odd candidate for "best analogy".
When I moved to a new house a few years ago, we initially lacked an organizer tray as is typically used to keep silverware sorted in the drawer. Our solution, which we thought was temporary until we bought one, was to unceremoniously and clatteringly dump all the silverware into the same drawer, and to pick out what we wanted at mealtime.
Three years later, we're still doing it and have concluded that it's much better system. Sorting silverware was always one of my least favorite parts of putting away washed dishes, and now it is trivial: dump the entire basket from the dishwasher into the drawer, often while grinning with joy. And I don't think I've once become angry at the extra time of searching for a spoon or a fork.
Consider, if we're being technical, that the primary advantage of presorting happens when you can sort once and take advantage of the ordering many times. But with silver, it's once-in and once-out. Sorting all at once isn't actually faster, it's just preloading the pain. Also note that you can fit a lot more silverware into a drawer unsorted. Having twice as many spoons and forks might reduce utilization, but silverware is cheap and having more makes finding what you want a lot easier.
Anyway, you know the standard advice to measure before you optimize? Given my positive experience with the unsorted method, I wonder if he's even tried the approach he's using as a central negative example. Personally, I'd suggest that more people should try it!
I have done some things to eliminate small context switches, as I found even those were a trigger to unfocus. I no longer use two monitors, I use i3 to manage windows so I don't have to move to my mouse, same reason I use vimium. I have all my tools inside the IDE and then a terminal sitting below it for all else.
When I have to do frontend implementations, switching between tabs and screens, I can work for much less time and I constsntly lose focus before essentially burning out for the day.
> My answer is to always batch. Depending on the task's size, batching may take the same amount of time as it will to complete the task. And on a few occasions, batching may take even more time than the actual work. But batching is also a skill that needs to be developed.
Absolutely no data is given to back up this assertion, and even if data were given in some research, it would be some kind of average value, selected from a sample size of, say, 20-25 year old, disproportionally male Californiamen, who all studied at the same university, and were all willing to donate their time for some undergraduate research and obtain 50 U.S.D. in return, and the data would already reveal immense spread and variability with clearly around 40% at least heavily increasing productivity by switching, but the article would stress that the average would not, and thus advocate that no man so “context switch”.
Yes, practicing batching will make one more efficient at it, but practicing context switching will also make one more efficient at it,and the true reason is that many tasks require one to wait for something else and do nothing.
The reason why I'm already washing many of the dishes I cooked with as I cooked is of course simple: there is nothing to do except stirring once in a while at a certain stage in cooking so I might as well use that time to do something else.
I also took various sips of my coffee writing this, not because I had nothing else to do, but because it tasted nice.
In my experience this is absolutely wrong. Context switching is one of those essentials that you cannot cheat or improve upon. It’s like assuming that if I walk to work often enough, eventually it won’t burn any calories because I got so good at it.
The issue of filling waiting time is understandable, but recognizing the cost of switching to various tasks can still be useful in determining how to fill your time. Something that doesn’t take you out of what you were already doing will always be better than something completely unrelated and possibly information-loaded.
> but practicing context switching will also make one more efficient at it
I'm interested in your experience here, have you found that you were able to switch context more effectively with practise?
My own experience is different: when I'm in an environment where I am being constantly switched, I find myself tending to tasks that require less mental effort in anticipation of the switch. It's a death spiral for me and not something I'd like to practise.
Of course I have; I've become increasingly proficient at managing multiple pots on the stove at the same time with experience.
An even better example would be the video game of StarCraft II that I once played frequently that is known for it's high demands of the multitasking ability of the player. If context switching and multitasking could not be trained, players could not become better at that game as they do.
That rings some bells. My observation is that I did not get better at switching, but once I’ve got used to timings of building/preparing something, it greatly reduced the anxiety for not getting things in sync, which in turn removed a decision paralysis (a bit), which kicks in even if I have a plenty of time to plan ahead. I still have trouble with remembering to adjust macro when apm has to be retained at high marks.
> I still have trouble with remembering to adjust macro when apm has to be.
“awareness”, as it is called in StarCraft II, is definitely a skill that improves with training.
Seasoned players remain aware of what other tasks must also be done while they are devoting attention to one and thus allocate their attention better.
I personally never had the panic freezes that some new players have in this game, but I did remember having them in StarCraft I at the initial stages, but as I improved I indeed became more aware.
Brain scans of StarCraft II players at high level also indicated that they actually play large parts of the game not with higher, cognitive function, but with lower brain functions which is another thing that improves with training that the article speaks of in terms of cognition, becoming better at it entails assimilating more and more actions into autonomous reactions allowing for better multi tasking, which certainly also reflects upon cooking and computer tasks when many of the actions become more autonomous.
I wouldn't think of different things in starcraft, or many sauce pans, as context switching.
Instead, if you were to play a different strategy game for 30 min, or prepare a speech for 30 min -- that'd be a more real & problematic context switch.
(I've played starcraft btw, and cook food with many sauce pans.)
It's totally different when you can plan for everything, like when things are deterministic like a game.
In real life, when you need to constantly switch to new problems to solve, it gets really time consumming, and saps motivation.
It might be common sense that batch processing is faster and more efficient than constantly context switching, but it's important to recognize this isn't always the case. It's not software but you can see an illustration of this with stuffing and addressing envelopes: https://blog.gembaacademy.com/2014/07/29/whats-faster-one-pi...
Does it though? I've heard about it so many times that I'm starting to think it cannot possibly be as extremely bad as the never-ending torrent of articles would have me believe.
This can jeopardize domestic tranquility, though. I like to focus entirely on cooking, then clean up in bulk after the meal. My wife likes to clean as she goes. We're both sure the other is wrong.
> You are more likely to name a variable after the singers/songs name than what the variable is supposed to reflect (true story)
This would happen maybe in one out of a hundred cases if at all, making the statement blatantly false.
How can I trust that anything the author says will be minimally rigorous about a topic as complex as cognition when they’re making such outlandish claims, even if they’re being facetious?
That caught my eye as well. I've been developing for 14 years with headphones on for 95% of the time. I don't think I've ever had the problem of naming something based on the music I'm listening to. I guess people are rather different and for some it might be a genuine problem, it's just really surprising for me :)
I gave up that illusion of multitasking a long time ago. I tend to devide my task in steps and execute them sequentially.
When I bake pizza rolls for instance: I need to make the dough, fill it with ham and cheese and then bake them. Of course that are idle time in between those steps (letting the dough proof and baking, for instance) so I insert a small task in between. Like making coffee or mayonnaise. Looks like I'm doing a whole bunch of things at the same time, but I'm not. I'm making just one task of "preparing a meal".
I've noticed context switching is costy at my current job. When I'm working on a feature usually I have to wait for my boss to do a code review. During that time I usually start a new feature. When I have to work in two features simultaneously that's when I make a lot of mistakes (usually small mistakes due to lack of attention).
It would be great if there is a follow-through research article that quantifies the cost of context switching for developers in an open office plan.
There may be some real-estate cost savings too...
I think context switching is difficult to quantify, and difficult to talk about in a general sense.
* I'm sure some people are better at it than others
* Some work is easier to switch to and from
* Some work demands it—e.g., people in supporting roles that will put up with constant interruptions in order to help others
Throw into the mix that some people are better than others at deluding themselves about their abilities to context switch (or handle distractions in general), or who simply struggle focusing on a single task for hours at a time.
Personally, I don't find meetings and random conversations too bad. But if I have to completely unload a complicated task from memory and replace it with something else, coming back to the original task can often feel like starting from scratch.
—from a study showing how "time spent on value-added tasks" drops if working on 3 or more parallel projects
* For other reasons (e.g., for faster feedback cycles, reducing overhead), batching isn't always a good idea. Here's a fun video showing that contrary to intuition, batching isn't always faster:
For anyone still unconvinced about batching/chunking, here's a set of tasks:
- Cleaning the bathroom
- Wiping the poop off the toilet bowl
- Polishing the silverware
- Vacuuming the car
- Shopping
- Fixing a syntax error in some code
- Washing the car
- Eating a hamburger
If you don't think batching / chunking is useful, try swapping ramdomly between these tasks and leaving them partially done and resuming. The context switch costs should be abundantly clear. Especially if you add in some travel time.
Multitasking relies on tricks and effort to actually work. Not even computers get to multitask (until you add more cores). Context switching is still required. Even going from user to kernel space involves some cost.
Listening to music, chewing gum and walking is only multitasking because these are using complementary or different "cores". Real multitasking requires independent pathways. Try reading three books at the same time. Or drinking coca-cola and some fine wine. This is my usual challenge for multitaskers. The books and the drinks wont fully be appreciated if you attempt them via simultaneous multitasking. The context switch isn’t trivial and if not properly done always has negative outcomes.
The advice to always batch is at odds with the primary advice of systems like the Toyota Production System (TPS) and Lean, which is to strive for one-piece flow in most places in the system under study.
A continuous integration system doesn’t batch jobs; it starts working on a job the moment it arrives. Would it be better if CI jobs were arranged into batches that were processed, say, twice a day?
I would not want the front desk of a hotel to batch the processing of my request for a room with all the others received in the last hour so that the front desk person can maximize their sense of efficiency.
In seeking to maximize the efficiency of each business operation at the local level, do we wind up harming performance of the company as a whole?
I think this confuses manufacturing/operations and problem solving/analysis. In manufacturing and operations, the thinking has already been "baked" into the activity and you make it faster by adding more people, materials and equipment. (More cashiers, more assembly lines, more factories, more CI compute/memory/storage/bandwidth) With problem solving/analysis context switching would exhaust concentration from the thrashing of unrelated patterns/predictions. If you add more people to a problem solving/analysis context you increase the amount of coordination work for everyone to achieve "shared understanding".
If you add a _lot_ of people to a problem solving/analysis context (e.g. open source/crowd sourcing) you throw out the constraint of "shared understanding" and win by probability with many different minds partially thinking about the problem. This takes longer of course-- because the project maintainers then have to sift through the crowd's input.
The goal has to be understand the form of work, and adjust the levers accordingly.
As I read the article, I had the impression that what the author was describing was the kind of activities that they would batch, for example, reviewing pull requests.
That sounds more like part of the work involved in manufacturing software than what you refer to as problem solving / analysis.
What if the author decided to batch the processing of pull requests so that they processed all of their outstanding PRs once per week?
Would that be a good thing for the rest of the team? What if you're trying to deliver an important fix and your PR is stuck in queue waiting for Friday to roll around before the author gets around to review it?
The late Colonel John Boyd made important observations as to the competitive advantages that accrue to organizations that can move quickly and well-enough to accomplish the mission.
I certainly could be wrong, but batching everything, as the author seems to be suggesting, sounds like a recipe for an organization that is slow as molasses in January, but also populated with people who see themselves as being highly efficient.
This is why work queues and asynchronous state machines are awesome. All the high performance systems I have worked on avoided having a multitude of threads and have tended towards a thread per CPU model. Use your CPU cycles for things that matter.
Batching things into 'contexts' is the premise of Getting Things Done by David Allen. It was popular in the early 2000s. My guess is that the older engineer that told the author to batch things was referencing it [1]. It's a business book based on aggressively making and prioritizing todo lists and then working on them in contexts like 'email', 'phone calls', etc.
Did anyone else get totally confused by this article, thinking it was about operating system context switching? Took me a while to realize he was only talking about cognitive context switches.
Context switch and kernel scheduler implemention details also dominate the networking busy loop tests with one client. The kind of naive benchmark you see often in blog posts where every database tested seems to deliver like 10k ops per sec. You are actually just measuring the latency in the networking ping pong the kernel is able to sustain between two processes, so usually the fastest client implementation wins (because the rest is the same for all the systems, being outside the systems).
See the thing is that I think we give a lot of credit in the cost of context switching, no one talks about the reverse cost, sometimes you have 5 tasks to do in a day and you don't context switch and focus only on the one task at the detriment to other tasks. You ruin your sleep because you're so focused on getting something done and it's only 3am, and so ruin your next day of productivity
>You are more likely to name a variable after the singers/songs name than what the variable is supposed to reflect (true story).
I thought this was a bit absurd. Good article nonetheless though, I can see how getting into a routine about when you will perform specific tasks throughout the day would be more productive.
Why do blogs that make such bold claims without any sources, with everyone in the comments disagreeing with these random statements, end up so high on the front page?
A few days ago there was also the blog about the UK Covid variant that was just nonsense.
Music is the only thing that frees my creativity and focus as when I'm lost in it I find I've solved the problem in no time at all because I don't realize the passage of time.
I have the similar feelings as the author when randomly dealing with tasks one by one. These feelings were gone when I grouped the tasks by some criteria firstly before dealing with them.
i think this applies only to a specific category of tasks. non-tech people seem so reluctant to understand the cost of context switching for somebody who's doing software
Yes. I think it has to do with the sheer amount of precise information needing to be kept in working memory to be able to complete the tasks. Switching tasks means lots of bandwidth wasted exchanging that information.
> Trying to code and listening to music falls under cognitive functions. Naming a variable while listening to your favorite songs' lyrics may result in cognitive overload.
i mean if he had been talking about tabs and stuff he is 100% correct, but making dinner and slapping in a couple of washes in between is easy peasy. i think because its so tactile. flipping tabs it your brain doing all the work. changing topics. but muscle memory in the kitchen makes it go smooth.
I don't think that context switching costs more than I give it credit for, because I already consider it to be outrageously expensive.
I am not a fan of IM platforms, like Slack. I don't listen to music while I'm coding, and I schedule my life around coding sessions; not the other way around.
I seem to get a lot done.
I was a manager for many years, and I had a few basic philosophies (that I sometimes had to shelve, because, corporation):
1) It was my job to act as an "interruption shield" for my team.
If one of my managers, or outside developers wanted information or access that required one of my team stop what they were doing, and attend, then it was my job to be "bad cop," and say "no," or "wait."
I often wouldn't even let my team member know that they would have an interruption, until they came up for air.
2) It was my job to know what my team was doing; not their job to tell me what they were doing.
This meant no standups (except that I didn't have a choice, as it was policy, so we had useless standups; even though I didn't want them). If I needed regularly scheduled meetings, I would schedule them in a fashion that would reduce the likelihood of interrupting developer "flow."
It also meant using things like infrastructure tools, integration testing, and frequent checkins to monitor progress. It was my job to interpret them, and ask questions; not my team's job to send me reports (except that I was required to send a weekly report, so I had to gather reports every Thursday. I worked around that, by letting my team members send a quick, one-paragraph email, then annotating that with details from my observations).
3) I made sure that my team was always able to take care of family and life priorities.
I cannot stress enough the importance of this. I had a team of experienced developers with families and medical issues. These would always take priority over their work, and I'd be a coldhearted S.O.B. to refuse to acknowledge that.
I wasn't real big on letting them have "me" time, but, if they needed to run out to get their kid out of school in a hurry, I would let them do that. Otherwise, I'd get to hear them spending three hours on the phone, trying to get relatives to step in and help.
If they were doing something like selling/buying a house, or having contractors in, I'd support them doing what was needed, but I would insist on making sure they got whatever tasks needed doing out of the way.
I also encouraged them to confide in me, issues like divorces, and severe medical issues. I did that by being empathetic, and also closed-mouth. Sometimes, I violated company policy by not informing people of issues with employees, as it would have been completely inappropriate. If the issue ended up causing a disaster (it never did, in over 25 years), then I would take the fall.
I learned that lesson, real quick.
4) Classic Management 101: Things go well, I highlight the team. Things go bad, I take the heat.
This meant that they felt supported in taking risks, and going down rabbitholes, and not having to spend time in a panic, if the avenue they were exploring wasn't giving good results.
5) The smallest unit of schedule time was 1 day. In extreme circumstances, I would schedule for half days.
This allowed context switching to happen in normal cycles.
In my experience, this ended up with a very productive team, that worked well together, was extremely motivated, cohesive, honorable and honest, and highly productive. I kept engineers on board for decades.
That's why I love down-to-earth data oriented programming, and I cannot stand design patterns, OOP, abstraction etc.
I would rather iterate over several intermediate datasets, than going into some tedious other way.
A computer is a machine. Why go into abstraction if your project is not complex?
It seems developers believe that going into higher abstraction is like using analogies, they think it's like using a new form of language so that other developers might understand what they're doing.
Of course there is a minimum of code readability, reusability and maintainability, but in the end, a computer is best as looping linear data.
I cannot honestly say if you didn't read the article and think that it is about the cost of context switching for software, or if you are saying that OOP forces the programmer to context-switch and so it decreases his productivity.
This point in the article lost me pretty quickly. My flow state is drastically improved by music, and I have never ever named a variable after the song name or song artist I'm listening to in my life.
Edit: Nor have I ever seen a variable named after a song name or artist.
Edit2: NotoriousViewController. TheWeekndTimer. RedHotChiliPointers. Now I want to name my variables like this.