So tired of the distractions, non-value adding work, and context switching.
So tired of the distractions, non-value adding work, and context switching.
> In our study, going from two to three meetings per day lowered the chances of developers making progress toward their goals from 74% to just 14%. And developers who average just one meeting per day have a 99% chance of knocking out high quality work — it really is about getting focus time and connecting with our colleagues to brainstorm ideas.
> With minimal or no interruptions, developers had an 82% chance of having a good day, but when developers were interrupted the majority of the day, their chances of having a good day dropped to just 7%. By minimizing distractions and creating focus time, we not only get work done, we create better and less stressful days for ourselves.
Are they the ones having to do this kind of work?
Probably not, right? At least in some cases?
There’s at least part of the answer.
Question in my mind becomes: how do we get the people who aren’t doing this work to understand and empathize with the productivity needs of those who are?
I’m out of answers because everything that probably can be said about it HAS been said about it from people far smarter than I am-from blog post to published airport book to published academic studies-and yet here we are still having this conversation amongst ourselves as developers and engineers.
I'll focus three days a week and manage one day a week. The other four members of my team do the same. The fifth day is for meetings, and if we don't need all day for that, it's for going outside.
Most managers are not good managers, however.
There it is.
I deliberately chose to step back from management and went back to being an IC despite getting feedback from my former direct reports that genuinely almost made this cynical fucker cry about what a great manager I was for them.
Truth be told, as much as I really enjoyed the presence of, and admired the people reporting up to me and what I was able to do for them, and how they made ME a better manager and engineer, I never want to be a manager ever again.
By my own standards, I’m not good at it and the stress it brought, eh. Just not compatible. Glad I learned that lesson. I’d much rather be on the doing end, the next time I find myself in management will be when I finally have the means to cut loose and work for myself full time.
I just got a big dose of this at a client I just left (because they were working us way too hard). They have a career track that includes not being a manager but instead a principle engineer or whatever. The managers were punting management work to these principle engineers. People who had already decided they were not managers and were not going to focus on those skills. They were basically forced into it, micromanaged people like crazy, burning everyone out.
This, after rebooting the project a few times because they couldn't get traction. As soon as the project got traction and was getting accolades this happened. Their senior lead developer (at the cusp of being forced into management) left the same time I did. I would be surprised if the project is not in crisis mode soon.
When you're operating on the manager's schedule you can do something you'd never want to do on the maker's: you can have speculative meetings. You can meet someone just to get to know one another. If you have an empty slot in your schedule, why not?
Here's why not:
Taken in context of the essay written, this amounts to optimizing my time due to a lack of my superiors optimizing theirs. Taken on its own, I don't really care how my managers choose to spend their time as managers. But when the power differential surely speaks to the reality that managers will always concern themselves with what I'm doing-perhaps by nature of the manager/subordinate relationship-I think I'm in the right to expect some kind of reciprocity in making time for one another.
Good managers make the time for their subordinates. Average managers stumble upon the free time. Poor managers constantly reschedule.
I'm not against getting to know my coworkers and making time for general socializing as a means of "taking a break", but in the context of "makers schedules" and "manager schedules"...sorry. No.
I don't (necessarily) disagree with the essay (at least not as much as I usually reserve a certain amount of reticence for Grahamisms), but the suggested solution...eh. I need to hear a better motivating reason than this because this isn't about some hypothetical problem between me and people I'd like to get to know via "speculative meetings". This is about managers demanding so much of our time via "just in case we need you" meetings and turning right around asking us to be productive and meet deadlines in spite of said meetings.
There may be a much broader culture of unproductivity, which manifests in this and other ways.
People end up waiting until standup to ask questions, creating a culture that doesn’t simply message one another for simple things. If something is brought up in standup, now product and project mgmt will want to understand and weigh the value of something that could literally be as simple as, “I need access, how do I generate a key?”
Also I hate being interrogated every morning about what I did the day before.
Daily standup removes the need to remember anything, or even picture the system/ product in your head because you can just ask someone else every day and get what you want. No need to think! Process over people!
In theory standups are great because the team works together to solve blocking problems and doesn't worry about productivity. In practice it's just another mechanism to push productivity.
Come to think of it, if you have 8 people in an hour long meeting, then the meeting will cost at least the lowest paid participant's daily salary (assuming 8 hour work day).
We probably spent 3-4 years with of those SAAS fees in that one 45 minute meeting discussing which cost center should be billed.
Client (a fortune 50 company) didn't see any issue with this.
At my current job (and most previous ones), the default answer for any organizational problem seems to be "we'll just schedule another meeting" or "we'll open a new Slack channel, and invite everyone to it".
Go figure. :)
A good first step is having more asynchronous discussions.
Also, if your entire job is mopping floors and the floor is dirty, you're going to get shit for any and all dirt on the floor, regardless of how reasonable the expectation is that you could have gotten to the specific mess observed at the specific time. Youre 100% on floors so why didn't you fix this unreasonable request. Meanwhile, if you clean floors half the time and clean windows the other half of the time, you have a valid excuse as to why the floors aren't perfect, at least in some peoples skewed perspectives of expectations. This is why I always advise people have a little split up of their time but not an extreme amount. It gives a clear out to unreasonable expectations. If you wanted the floors so clean I wouldn't do windows half the time, and so on (just be careful not to convince someone it would be a good idea to commit you 100% to a task).
I think you have to delegate ownership down; "you have total control over everything and we won't second guess your decisions." This doesn't happen, so we just have meetings with the "owners" to try and convince them to do our thing. The result is less stuff getting done.
Say I need to check an email relating to the code I'm working on. By the time I
- open firefox
- go to outlook
- open keepass (because yes I care about security and delete cookies)
- fill in my keepass master password
- find the relevant entry from keepass
- fill in my password via keepass
- wait to be greeted by the authenticator message
- grab my phone
- use my pin to unlock phone
- go to the authenticator app
- use my pin to unlock the authenticator app
- accept the authentication token for my email
- confirm authentication via my phone's pin
- search for the email
I no longer even remember what I'm coding anymore, let alone what I needed that email for.This is particularly true if, like me, 2FA pisses you off, and your focus is replaced by rage.
I tried accessing through local email clients but couldn't get 2FA to work with them - I may be wrong, but as far as I understand it's outlook specific.
I use linux at home, so I haven't bothered installing outlook via wine (nor do I want to, tbh)
It's like the modern worker experience is designed to destroy focus.
Yeah switching jobs is a pain, but it's peanuts compared to switching careers.
If we are starting a new epic then we should spend a day or two figuring out what exactly what we're building, then go build it. Instead planning itself is fractured 1 hour here, 15 minutes there and it's hard to keep track of what the hell you're planning on doing.
One problem is that we get away with being specialists, leading to an organization full of specialist teams. That means to get anything done, high-overhead communication among the specialists is required. A specialist that understands the user tells you what features to work on, then you write some code and ask the security team for input, then you need to deploy this thing to production so require the help of the operations team. Finally, the testing team finds a bunch of bugs you missed, and now you have to go back and fix them. The alternative is to just do all those jobs yourself. That is what most 2-person startups do, and they can do a lot.
I think this is just an anomaly in the job market. You try to hire "software engineer" and get 1% of the candidates you were hoping for, so you can't say "also you need to know security, operations, and testing". The result is a slowdown for everyone, as you staff up with specialists to support that one software engineer that actually applied for your job. (My strategy here is to know all these things myself, and teach them to my team, so we can be as self-sufficient as possible. But there's pushback; the time spent learning is time not spent getting through the bug backlog. And, why learn more skills when you get paid the same knowing only one? The market doesn't support the strategy of being a generalist, but it does support the strategy of having a lot of teams, and team leads to integrate them.)
Ultimately, I think this is just a fundamental law of the universe. One person can do a one person project. Four people can do person twice as big. Eight people can do a project 3 times as big. I think this is just how society works, and it's not something that can be changed. Software engineers are "weird" in the sense that most of us are self-taught, so we have a very good handle on how much work one person can do; all of our projects were one-person projects until someone invited us to undertake a project that's 4 times as complex as that (and thus requiring 16 people). There is some debate as to whether this is exponential or quadratic, but the idea is the same; your value as an individual is much lower when you're working on a big project. At some bigger organizations, it's pretty much zero. So if you do more than zero work each day, you're ahead of the curve. (It of course takes 7 hours of meetings to determine what code you should write in the remaining hour. If you didn't do that one hour of code, then your output is actually 0, and you get fired.) None of this feels good, but it's just how the Universe and humans work, I think. Gravity pulls you down to earth, and needing to do a two person project means you have to talk to another person instead of programming. It's the law.