Mindset
In 2022, I gave a presentation in my company to share about my experience. It is about building affective teams, producing high-quality outcomes.
As anything else in life, contexts matter. It works for me, might not work for you. We all struggle in our own ways. The key is to struggle well.
Everything starts with the mindset. Here are a few from my experience.
Changes are inevitable. Anticipate them, design to deal with them
Customers change their mind. They want different behaviors, different features. Whenever you start a project, a feature, a piece of code, keep that in mind. Just smile and say "Not a problem!" when they appear.
The key point is "design to deal with them." You cannot deal with changes from your wishes.
Ready to rework, to throw your beloved code away. You do not provide code, you provide solutions
Developers tend to treat their code as their babies. Code is simply text, a tool to solve problems. If it is not right, not solve the problem effectively, throw it away and write new one.
But that is a waste of time, of effort? Oh, then think carefully before you code next time. I usually do not accept any explanation if the code does not do the right things and do them right. Less code is better than more code.
Extreme Ownership: You own everything
As a team, we own the outcome. Everything. There is no such thing as "I am only responsible for backend, frontend, or QA." If you do not understand what "Extreme Ownership" means, ask Google. The right book, the right guy will appear at the top.
Win the war not the games
The war is the product in production. The games are sprints, incremental deliveries, phases, … all intermediate results during the development. Every sprint is a success, the team killed all the backlog items, PO/PM were happy. Boom, the system dies in production after a few days.
Every step, every decision must have "win the war" in mind, AKA production-ready mindset.
When something does not work, simplify/remove processes, and abstractions, NOT create more
Ask "what prevent us from delivery?" Usually, you will find some rocks standing in your way. Find and remove them.
I practice them in leading team, writing code, design systems.