This week I had a retro with my team and everyone shared that they were feelling more productive and found it easier to focus. It wasn't rocket science to make it work, but I thought I'd share a few tips how we made that happen: 🧵
1. First, we got rid of standups. We replaced 15min morning standups with Slack messages that everyone sends when they start working in the morning. I covered this topic in the past: notonlycode.org/ive-moved-to-a…
That means no matter if I start work at 8am or at 9.30am, I can start actual work without having to soon jump on a call just to say what I did yesterday.
Standups are the worst.
2. We limited a number of team meetings to 2 a week:
- on Monday morning we discuss new tickets, plan the week, and share any team updates
- on Friday afternoon we demo what we've done during the week
Everything from Monday noon to Friday afternoon is about deep work.
No more trying to get something done during 30min break between one meeting and another.
3. Time of the meetings - besides reducing a number of meetings I ensure they happen either in the beginning of the day or towards the end, so that people can block a large span of time in the middle the day for their focus time
4. We limit number of people in the meetings: if we need to discuss a certain feature, we include people working on it; if another team wants to discuss something with us we send 1 person who later updates the rest; usually it's me or our PM
5. We are allowed and even encouraged to say "no" to meetings. I told my devs: if anyone invites you to a meeting, it's up to you. If you feel it's worth being there, go ahead, otherwise let me know and I'll make sure it's taken care of
In the past we had a number of meetings where we all joined the call that had maybe 5min of content that was relevant to us. No more.
6. I encouraged people to block focus time in their calendars and mute notifications, so that they can focus on the actual work without being interrupted. I don't expect anyone to be responding to Slack messages immediately
7. We manage internal tools and sometimes our users need help. We set up a daily rotation, so that there's always one engineer who replies to support requests, while others don't have to worry about it and can focus on their work
8. 1-1s: I have a weekly 1-1 with everyone in my team. I asked each team member what time is the best for them, so that I don't schedule it in the middle of their focus time, and I adjusted my schedule to make it possible.
1 month later we all (me included!) feel more productive. All it took was telling everyone "I value your time, so make sure you can focus on your work and let me handle the distractions"
As for me, I told to a number of meeting organizers "if you need something from me, let me know before the meeting, otherwise I'm not joining". I also started blocking focus time in my calendar, and it works really well.
Now comes the hard work - some meetings will start to creep in, people will be asking for more of our time, and for some immediate attention. But now the team is aware and protective of their time, so we have the tools to handle that and stay on track /🧵
• • •
Missing some Tweet in this thread? You can try to
force a refresh
When interviewing with companies I ask "how will you help me grow?" and most of them respond "we have annual education budget of €X" (usually ~€1k).
That really means "we won't help you grow". Annual budget is cheap and ineffective, here's why and what to do instead: 🧵
First, cheap: €1,000 is maybe 1-2% of a developer's salary, it's not a big expense for the company. Make that tax deductible, and add the fact that few people will actually use the full budget, and what you get is a marginal cost.
+ I've seen companies making it hard to actually use this budget. You have to fill a form, justify how this fits your role and objectives, and wait a few days to see whether it's approved.
I've seen people saying "screw it" and paying with their own money instead.
Every article about becoming a good writer says "read a lot". Yet in programming we rarely practice reading. We only read the code we have to understand in order to change, we rarely encourage each other to read and analyze some well-written code
I think coding is very much like writing and yet we don't teach it like we teach writing. We teach to produce working code, which is bare minimum. We rarely emphasize that the code is written with other developers in mind.
Some developers realize it themselves and instinctively try to make their code easier to understand, but I have seen very little focus on it at uni or bootcamps.
"Refactoring Python Code" book update: a few days ago I started moving all code examples to separate files (out of Markdown files) and covering them all with unit tests. That has been great, as I found tons of small typos. #buildinginpublic (1/4)
Using external files is a great idea - each file is fully working code, and in the book I just include the part I need (e.g. I skip imports and some helper functions).
I have the best of both worlds, I have working code and concise examples (2/4)
It also means whoever buys the book will receive a package of files with code and tests so that they can play with them! I'm super happy with this decision.
I'm using markdown-pp (github.com/jreese/markdow…, now deprecated) to handle including external files (3/4)
One interesting thing I've learned from the Alibaba story was how in EBay went from 90%+ of the market in China in 2002, to leaving China entirely just 5 years later. (1/5)
There are many reasons why EBay lost, but one interesting one is that they refused their Chinese team to drive the product. Instead they tried to unify the platform globally, so that the whole site worked and looked the same everywhere. (2/n)
These days it's changing, but generally Chinese web design is very different than western design - sites are more busy and flashy, there's a lot of information there. Compare main page of Amazon vs JD: (3/n)
The president of Square Enix (Final Fantasy games and more) wrote about play-to-earn and NFTs as upcoming major trend in gaming in 2022. A large part of the letter feels like crypto bros' wet dreams, but a small part there could lead to something positive:
The bad parts are obviously that they want to shove NFTs and blockchain in players' faces, which I believe is a dangerous and completely unnecessary trend.
Also saying that goodwill and volunteer spirit are inconsistend in comparison with willing to make money makes me cringe
I don't think that play-to-earn will make games more exciting, instead it'll turn them into weird worlds with little to no authentic enthusiasm. It's like a party where some guests are there to have fun and some are hired actors, but you don't know who's who.
This year I've read so far 20 books. Here's what I do and don't recommend: 📕
1. "Multipliers" - a book about a leadership and being a genius vs genius maker (someone who helps other to reach their potential). Overall ok, but it should be 50 pages instead of 250
2. "System design interview" by @alexxubyte - great read when preparing for tech interviews. Very solid and yet concise examples. It helped me to pass a number of interviews. Highly recommended!