Shnauzer

Not Missing the (Power) Point

Amazon appears to have “Banned Powerpoint” or to phrase it a bit less clickbaitish: Made a heavily prepared agenda/discussion paper the core structure for meetings. Which I guess can pay off in certain settings by reducing time spent presenting, enabling more asynchronous collaboration and opening up - for better or worse - the classic 10 slides, 20 minutes, 30 point font structure.

In essence this is the continuation of only having meetings with a well prepared agenda I rooted for a while ago.

Talking, Thinking, Typing

One cardinal misunderstanding burning teams, tanking projects and killing products since the dawn of software is the assumption that software development can be reduced to the aspect of producing code.

Daniel Fone does a great job of broadening the picture with his triptychon of software development as: Talking, Thinking and Typing.

Software development is talking: Speaking and listening to peers, colleagues and stakeholders. Software development is thinking: Thinking alone by modeling data, testing abstractions, thinking through cases, thinking together by reading other people’s thoughts. Software development is typing: Writing code, but also: Comments, readmes, specifications, code reviews, tickets, mails, …

Overemphasizing one of these aspects or neglecting others is a sure fire way for personal all professional frustration.

Nice blue sky

Refactoring People - Ability, Motivation and Prompt

Interesting how my main takeaway from Shopify’s write-up of a major refactoring - “Under Deconstruction” - is less about code and more about people.

As it is ultimately humans that produce code, refactoring a big code base is about changing code as much as it is about changing humans. Shopify used keynotes, guilds, handbooks and trainings to create “ability” and “motivation” to support the desired changes, only added “prompts” in the form of rules and tooling later afterwards. Without ability and motivation to act on them anybprompts are bound to fail ir worse followed superficially.

My second big take away is to understand (and ensure) value is created along the way and not only if and when a (maybe over idealistic) goal is reached. No product, no architecture, no code base will be perfect any day, but it can become better everyday.

Work Long and Prosper

Strip away the horribly misleading title and the accelerator grandezza and you get yourself some pretty solid advice for a successful and healthy career.

Werner Herzog on Life - and Work

Work (and life) is as boring as you make it.

1. Always take the initiative.

2. There is nothing wrong with spending a night in jail if it means getting the shot you need.

3. Send out all your dogs and one might return with prey.

5. Learn to live with your mistakes.

9. Carry bolt cutters everywhere.

10. Thwart institutional cowardice.

14. Ignite the fire within and explore unknown territory.

15. Walk straight ahead, never detour.

16. Manoeuvre and mislead, but always deliver.

17. Don’t be fearful of rejection.

22. Guerrilla tactics are best.

23. Take revenge if need be.

24. Get used to the bear behind you.

Full list @ kottke.org.

On Avoiding Stupidity

It is remarkable how much long-term advantage people like us have gotten by trying to be consistently not stupid, instead of trying to be very intelligent.

This truly struck a cord with me. You can try being brilliant, being excellent, being the best, and I guess this is not the worst aspiration for a team. But, in the end, success in completing projects and shipping products is less about being exceptional but being non-exceptional. Not about getting one thing perfectly right, but about getting many things not wrong. Success sometimes is less about winning and more about not loosing.

I Test On Prod

Inspiring piece. The better and more advanced you get at testing your code for all eventualities and scenarios, the easier it is to loose out of sight that you will never produce perfect software, there are just too many modes of failure. Hence “Testing in Prod” is not an artifact from times long gone, it is a reality and your org needs to be able to do it.

A system’s resilience is not defined by its lack of errors; it’s defined by its ability to survive many, many, many errors.

Reflecting On Succesful Leadership

Leading a succesful team requires clarity - a leader communicating the framework for the teams performance, the vision, goals, rules and key parameters so they are easy to grasp and presence - a leader engaging, emphatizing with and enabling his or her team during said performance. David Tates Clear and Present Leadership provides a great backdrop to reflect, learn and grow in this regard.