
From Cockpits to Code: How Culture Influences Professional Communication
How does culture affect our communication? How can we be more attuned to how others communicate? ...
How does culture affect our communication? How can we be more attuned to how others communicate? ...
My phone is the most distracting piece of equipment I have. In the pursuit of focus time at work, I started hiding and silencing it. This experiment has dramatically improved my productivity: I’m less distracted, I’m in the zone longer, and I have more motivation. I lost track of how many times I grabbed my phone to check something, only to find myself lost somewhere on Reddit. Receiving a funny meme during a meeting? Sometimes, it’s worth it, but often, it can wait (and is better savored after the meeting). Getting back to focus mode costs time, energy, and motivation - I don’t want to do it over and over again. ...
I’ve been committing generated code and vendor folders for over a year. I am delighted with the overall simplification of continuous integration, building, and deploying flows. They all complete faster and more reliably. Teams are happier and more productive with these changes. Let me convince you to give it a try! If you had asked me a couple of years ago what I think about committing generated code or third-party dependencies, I would probably have hit you with a stick. Why would you add code that you can download with one command?! I’ve turned exactly 180° on that. ...
Collaboration is the most essential part of the architecture. More people in the room will produce more alternatives, challenge each other, and end up with better results in the long run. It also doesn’t matter if we get it right when there is not enough buy-in. A collaborative nature should intertwine all stages: thinking, feedback, implementation, documentation, and reflection (which could lead to revision). Decision records helped me improve teamwork and transparency in these areas over the years. Documentation and historical context happen as a “side effect”. This method is so effective and lightweight that non-engineering departments in a company started using it independently, without any guidance. ...
Assuming we and our teams bought into domain-driven design, the next question is, how do we interact between modules? Giving access to domain entities sounds like a great idea, but it carries consequences. There is a good argument to be had for exposing entities. After all, we spend a lot of effort ensuring our code expresses our domain well. On top of that, we ensure data can’t get into an invalid state, and trying to do so returns a descriptive error. Why would we forfeit it? ...