Deep work. Essentialism in asynchronous culture
jorzel.github.io
jorzel.github.io
It is very damaging to an organisation when someone who cannot create understandable solutions is given the deep work breathing space to go crazy. It is a difficult but important thing to find out about candidates / probationary employees sooner rather than later. It’s important to keep a stash of pre-baked project ideas on hand so that you can use them to assess newcomers to the team, especially if you only have three months to figure out if they are able to meet your expectations before being confirmed as a full time employee.
Unless you’re implementing a standard, software engineering is 50% communication with peers/clients/users, if not more..
Arguably I sent some updates in between, but all was unsychronous. No meetings, no presentations. Just me doing the thing. How well you can focus on solving the actual problems when you are actually in charge of your time.
> Your level as an engineer should be based on how much deep work you can do without screwing the pooch.
A really good engineer can do 6 months of head-down work without a disaster. A really good engineer does not need technical feedback or advice in that time, as long as the problem is clear enough in the beginning.
Here, try this as a though exercise: "Create a new distributed nosql database that uses WASM modules for non-interactive transactions." A really good engineer really, really, doesn't need "technical feedback" during the process to implement that.
Don't you ever get business requirements that touch hundreds of existing use cases? Or business requirements that sudenly require paying atention to concurrency in multiple parts of the code? Or business requirements that introduce processes that produce and process huge amounts of data?
Conflating business and technical requirements just means the business requirements are not understood correctly.
This dismissal of business requirements as not generating technical problems big enough to require deep work is very interesting.> If it's your typical web app implementing some business requirements, then there's no deep work required - it's just talking to the requirements source and converting that into code, as per the chosen web framework.
The key phrase is typical web app. The sentence isn't saying that business requirements always generate shallow work. They're saying that working on a typical web app is almost entirely shallow work.
I would caution against saying there is no deep work required in web app implementation, every case is different, every person has a different threshold for what they consider "deep work". I can be knitting and consider it deep work.
If they're also should-you-be-fired-today interrogations, then it appears that the organizations real problem is toxicity.
As a customer, this would be absurd. If I don't get what I imagined I wanted (rather than what I said), I'd rather find out in time to ask you to steer the solution towards what I want, instead of you bankrupting me for a wrong solution.
Frequent feedback is the essence of Agile. It makes sure the development process addresses the business needs with lowest latency and lowest gap in understanding.
Not everything is best managed by agile.
I’m laughing a bit because I’ve been reading through this thread thinking about what I’ve been working on for the last few months. Robotics-adjacent, lots of calculus, differential equations, linear algebra, ray tracing, optics, yadda yadda.
I’ve worked on more businessey problems a ton in the past. I built a company that made bespoke LOB applications. This work is way different. Agile was great for that. I would absolutely love to be left alone for a few weeks to just finish getting through all of this analysis. Going a couple of weeks in LOB-app land without feedback would be a train wreck the vast majority of the time.
https://www.nytimes.com/2022/12/11/opinion/what-twitter-can-...
This is really what's at the heart of almost every discussion regarding communication. Many if not most places introduce polling rituals as a one-size-fits-all solution, whereas many people work best pushing information and having everyone else react to it. It is no different than event-driven structure vs polling.
Every time you create more 'polling' systems and push some claim (the infamous 'new employees won't speak up without standups' comes to mind), there is less pressure to teach them asynchronous ways of working. Every time some manual procedure is pushed as a fix, the alternative of an automatic procedure is pushed aside because 'costs too much money' and 'look, manual works, communication!'.
Many or most scientists are academics. Communication time dominates the job of a professor. Teaching, and the invisible job of running a university takes between 1/3 and 2/3 of a 40 hour week. Both of these are based around strict schedules, so the actual schedule in a non-sabbatical, non-buyout semester ends up journalistic or approaching rhythmic at best.
Thus the deep work slots are very precious. I did most of mine after dinner, or after kids' bed time. A professor I respect, well known for his reliable productivity, did a couple of hours of email at 2am for >20 years to create time in the work day for the real work.
Professor is a wonderful job, but making time to be a productive scientist is a constant struggle. This is why graduate students feel the science is delegated to them.
However, the kind of rigid scheduling it proposes goes against the freedom deep work loves. It is not the lazy/mindless kind of freedom I’m referring to, but the freedom from over-quantified environments : IMO it is counterproductive to aim at always rigidly controlling that "in the zone" experience.
Indeed, and I was not talking about zero/low-schedule, but the minimum necessary. That is, no micro-self-management beyond that.
> based on the creation of habit, instead of relying on luck to be in the zone
I also agree. That is why I said not the lazy freedom. Habit is important, but a habit-mindset is not always the most creative/productive. Also, habit has that automaticity that can prevent the kind of useful essentialism mentionned in the article.
So, it is a balancing act. schedule/habit are only half the story.
Because if you are able to concentrate and find a solution for a problem, you also need other people to concentrate and understand your solution.