I always look for 3 things in a new role:
How do you deploy changes to production?
This tells you a lot about the maturity of an organisation, and what it values. If they can deploy to production every day, then they will have answers for a things like:
- reliable deployment pipelines for getting code from a developer’s laptop in front of users, delivering value
- monitoring to detect when things are failing
How do you create production-like environments?
This can be closely related to the first thing. I’m choosing to call it out here since it increasingly means that a high-performing organisation will have had interesting conversations about managing user data, scrubbing personally-identifiable information, mocking out 3rd party services like email/payments etc.
Part of deploying to production can involve deploying to lower environments. How are these lower environments managed?
Show me your feedback loops?
This is the most important one.
I see missing feedback loops. They’re everywhere.
Whenever I set up (a process, coding standards, whatever), there are 2 things:
- Where can I publish it?
- How can I continually improve it?
I like publishing things, since then they can be linked to, included in search results, and are more discoverable for people.
I also like setting up how we change and improve those things. That should itself be subject to a continuous improvement process.
That last part can be a bit odd for people to wrap their heads around it when they first come across it. Another way of putting it is asking 2 questions:
- How do we get better?
- How do we get better at getting better?
This is sometimes called double-loop learning and is a really powerful concept.