henry
henry
Latest Public Collections
-
- Standups should be about steering, not a status meeting.
- Automate status reports for standups, since they’re not inspiring.
- Instead have meetings with everyone everyday to ask, what is the best day that we can possibly have?
- You should be pumped after your standup.
- There’s a human element of syncing everyday.
- If you had a bad day, this is where you lean on the team.
- It’s not a status or policing session.
- I know you’ve been working on CSS for weeks, and you’re going to continue doing it.
- As a manager, you are coaching.
- Gauge the energy. Make adjustments accordingly.
- Example team
- Morning: status meeting
- Afternoon: product standup
- PM asks: what new toys do I have to play with today?
- What about standup bots?
- Use it for asynchronous status updates.
- Manager can notice if people are working on similar areas. Get them together.
- Team Drift: Delay in feedback.
- How do we get rid of this uncertainty?
#manager
[re:Work] Google's New Manager Training Slides - Google Slides docs.google.com
Latest Public Notes
Distributed architecture concepts I learned while building a large payments system - The Pragmatic Engineer
blog.pragmaticengineer.com
Highlights
A straightforward way to get our availability number is to add a bunch of these machines/nodes into a cluster.
The two most common scaling strategies are vertical or horizontal scaling.
For many systems, the four nines availability (99.99%, or about 50 minutes downtime per year) is considered high availability.
Systems usually have a lot of noisy requests, hence the p95 and p99 latencies are more practical usage in the real world.
To make sure we build the right thing, a system that is "better" than it's predecessor, we used SLAs to define expectations.
Horizontal scaling is about adding more machines (or nodes) to the system, to increase capacity. Horizontal scaling is the most popular way to scale distributed systems, especially, as adding (virtual) machines to a cluster is often as easy as a click of a button.
Vertical scaling is basically "buying a bigger/stronger machine" - either a (virtual) machine with more cores, more processing, more memory. With distributed systems, vertically scaling is usually less popular as it can be more costly than scaling horizontally.
Before diving into planning a system, I have found the most important thing to decide what a system that is "healthy" means. "Healthy" should be something that is actually measurable. The common way to measure "healthy" is with SLAs: service level agreements.
Collect and share the web
Get started for free