I like having an on call program. I participate in it. Not all engineers like it.
Here are the reasons I think an on call program is important
If customer centricity is important to you — and it should be, you need to find ways of bringing engineers closer to customers. There are layers of proxies created in organizations (for good reasons) — but have the shadow of increasing the distance between customers and engineers, as I have covered in beware of proxies. …
I have worked and built a significant amount using K8s. I was lucky to have worked with some of the best k8s technologists you can find anywhere during my time at Intuit. Then I moved to a startup. As we do, we take the stories and experiences with us when we move, and replay stories from the same book.
This is not hate on k8s. But it is not always the right answer. Just like Serverless is not always the right answer. In decisions like these, context is king. An important part of taking on a new job is figuring…
‘Drive Clarity in decision making’ explains the importance of ensuring that teams understand decisions being made and there is a DACI in place. A DACI ensures that the driver and the approver is known, and the team has the ability to participate in the decision making process.
A best practice is using a Jira/Kanban board for decision making. Anyone can propose a decision: Just like any other Jira backlog, it moves through states — proposed-open for feedback-accepted/rejected.
Each Engineering Decision backlog item has a very specific format. The proposer must follow the following format
Background: What is the backdrop that…
My first instinct was to write this post completely click-baitey: try this one weird trick to improve the happiness of your engineers :)
Organizations measure NPS score of their products through standard surveys. Customer support organizations measure tNPS (transactional NPS) and CSAT (customer satisfaction) regularly. Organizationally, Employee Engagement is measured and analyzed.
There is one additional measurement that most organizations miss out on, that is a must. This is an NPS measurement based on the following question
Would you recommend this code base to a friend?
Why is this NPS score important? It helps leaders understand what the relationship between…
Everyone has a plan till they get punched in the mouth — Mike Tyson
Plans are nothing. Planning is everything — Dwight Eisenhower (?)
No amount of planning will prevent you getting punched in the mouth. And that is no reason not to plan.
I wrote previously about tactics and strategy. Strategy translates to target states and working backwards from your target state. Tactics (e.g. quarterly plans) ensure that incremental planning is being done to move towards the target state
There are a few things in life I consider it ok to be faith based. At the workplace, one is diversity & inclusion. I do not need proof or data that workplace diversity is good. It just is. Having different experiences and backgrounds lends itself to a workplace which is more interesting, more balanced, and lends itself to a greater diversity of ideas. It is more reflective of the diversity of your customers. It will result in better business outcomes without seeking it.
I recently had a discussion with my peers about engineering productivity and metrics around our fiscal allocations. some concerns about the rate at which certain software defects were being resolved. There was one concern: defects labeled P3/P4 (lower priority) were being closed at a slower and slower rate over time.
The realization I had was the system was performing exactly as intended. We had inspection points in the system: the inspections were about delivering value to the customers (product roadmap) and ensuring quality attributes (availability/performance/security/product quality) were where we expected it to be. Product quality was assessed by the number…
A project is started. Goals are set. Timelines are established. And then you start tracking to those timelines, and you report out using your friendly Project Manager, and as releases happen, the product managers are collecting feedback and the customer support channel is telling you how customers are liking it.
And there you are, the engineer. With no line of sight to what is actually going on with the customer.
You remember the game of telephone? You whisper something to the person sitting next to you, who whispers what they have heard to the next person.. and when the circle…
A growth mindset means that failure is acceptable: you need to have set clear outcomes and have learnt from it, and make it safe to fail. But failure also means you have learnt from it, and are now able to use that learning in useful and interesting ways.
The best engineers I have known and admired have had two traits: Curiosity and Camaraderie. Curiosity because curious engineers have a growth mindset and find better ways of doing things. Camaraderie because being a team player rubs off this sensibility of the people around you, and helps elevate the entire team.
Here is what I have learnt about hiring:
A Players hire A+ players because they want to learn from the best
B Players hire B players because they identify with them
C players hire D players because they want to make sure they are not at the bottom.
You know that interview in which the interviewer asks an impossibly difficult question and settles back with a smug look? That is your C player ensuring that A players do not make it into the company.
The most important job for your A players is hiring. This is how you set the…