RSSAmplifier

Blog

🏡

Recent content on 🏡

rnjn.inRSS feed ↗27 posts

Latest posts

Make Certificate Expiry Boring

On 18 November 2025, GitHub had an hour-long outage that affected the heart of their product: Git operations. The post-incident summary was brief and honest - the outage was triggered by an internal TLS certificate that had quietly expired, blocking service-to-service communication inside their platform. It’s the kind of issue every engineering team knows can happen, yet it still slips through…

Guardrails Over Governance

I’ve worked in teams at both ends of the spectrum — teams that follow no governance at all, and teams slowed down by excessive processes. Neither scales well. The right answer, I’ve learned, isn’t more process or less process, but different kinds of control. As organisations grow, leaders often add process to create predictability. It feels safer — everyone knows what to do, how to deploy, when to…

Don't Outsource Reliability

Riya’s startup had grown faster than she expected. Ten engineers, a product manager, and Arjun - infra specialist engineer everyone called “the devops.” Most days were a blur of feature work, demos, and customer requests. When production slowed down, someone would message the infra guy to “add more CPU.” When dashboards broke, they tagged him again. The pattern felt harmless at first — everyone…

Effective Warroom Management

Incidents are inevitable. What separates resilient organizations from the rest is not whether they experience incidents, but how effectively they respond when problems arise. A well-structured war room process can mean the difference between a minor disruption and a major crisis. After managing hundreds of critical incidents across my career, I’ve distilled my key learnings into this guide.…

On Unified Observability

Last month, I watched a senior engineer spend three hours debugging what should have been a fifteen-minute problem. The issue wasn’t complexity—it was context switching between four different monitoring tools, correlating timestamps manually, and losing their train of thought every time they had to log into yet another dashboard. If this sounds familiar, you’re not alone. This is the…

Observability Theatre

the·a·tre (also the·a·ter) /ˈθiːətər/ noun : the performance of actions or behaviors for appearance rather than substance; an elaborate pretense that simulates real activity while lacking its essential purpose or outcomes Example: “The company’s security theatre gave the illusion of protection without addressing actual vulnerabilities.” Your organization has invested millions in…

Risks of Cross Functional Team Structure

A PoD structure enables cross functional teams, that is, teams that comprise of different specialisations like engineer, product manager, data scientist etc to work independently and execute on a business goal without dependencies on other teams. This type of structure increases the execution speed but is not without risks. Some of these that I have encountered are - Division of work The key to…

How do you (technically) find if you are overstaffed or understaffed?

Staffing is relative to expectations. In the growth mood, you may want to build a lot of features and stretch, you may feel understaffed. If you are in the mood for conservation, you would want to maximise on efforts that make you money in the next 3-6 months period, so a lot of work being done may feel redundant and you feel you are overstaffed. Since this is a complex problem, we need to look at…

Product Engineering TODOs for Startup Leaders

Oct 7th, 2022 Series A funds are generally used to grow business, often to scale as a startup finds a product market fit (PMF). Often times, startups slow down and fail 3-4 years after this stage because of decisions made during this stage, especially when it comes to product engineering. Here are some things I think founders and engineering leaders should care about, and set straight at this…

The Ringelmann Effect

Sep 23th, 2022 Lately I have been reading a bit about group dynamics, and I came across something very obvious yet not talked about in simple terms - the effect of group size on individual productivity. Back in 1913, a French agricultural engineer Max Ringelmann discovered what we now know as the Ringelmann Effect - the tendency for individual members of a group to become increasingly less…

Learnings from implementing OKRs

OKRs are theoretically quite good for planning and communicating organisational goals and checking progress. The ideas are very simple and draw on empirical wisdom from successful companies like intel and google, thus in absence of a pre-existing system and for new companies its very easy to start using the methodology. OKRs also resonate well with teams that have driven progress iteratively.…

Getting Back to Work Post Paternity Leave

Jul 6th, 2020 A good friend became a father recently, and wanted to get some free advice about what to expect when he got back to work. Hey, If you’re reading this because you are getting back to work after your paternity leave, congratulations mate, well done! However, I do not envy you at all, practically speaking. Your life has changed dramatically in the last 2-3 months, you are barely…

Boehm's Law

Barry Boehm was a visionary and his research and conclusions laid the foundation of methods (for eg. XP) to build software efficiently. One of his many seminal works is the law that he proved (with data) - The cost of finding and fixing a defect grows exponentially with time Some of the many practices that engineers follow today address the effects of the law - Pair programming Continous…

If It Hurts, Do It More Often

Oft noted tenet in the world of programming, this principal is the basis of continuous integration and many more things (I tried to dig a bit into the origins, but didn’t find much success). Remember, “often” is used here as a relative measure of time, and could be replaced by a unit which makes sense - test integrations on every change ( Integrations are hard ) standup for 10…

Iterative Improvement

Iterative improvement is the basis of most modern project management principles (agile/xp/scrum..). It follows the Scientific Method . The steps are simple and intuitive, indeed they follow how we learn most things - by trying and failing and trying again. So in case you have a system that you want to improve - Experiment - formalise and execute the change you expect to make in the system Observe…

Goal based performance and progress tracking

Jul 5th, 2020 In general, employee performance cycles are considered a painful experience for most participants. There are many reasons for this - No expectation setting Generic and high level expectation setting Role definitions and Job descriptions do not encompass everything that an employee does Frequent shifting in expectations Long performance review cycles Lack of accountability of…

About

Hullo there! My name is Ranjan, you may find my work bio here . I am currently building reliability focused tools at base14 . I also help and coach founders and engineering leaders who have found pmf and are aspiring to scale their engineering teams. More about base14 Nilakanta, Irfan and I have been building base14 since late 2024. Our mission is to help engineering teams build and operate…

Books that help understanding and building productive teams

Apr 27th, 2020 A very dear friend asked me the other day - what is the best book you’ve read about building teams? I thought it best to take time to answer this. I am not an expert at either, reading books or building teams. In the last 4-5 years, I have worked and managed teams that have been very productive and have been together even now. None of this is because of a book, or because of me. And…

Scaling

June 2019 At an event organised by ThoughtWorks I presented on scaling - tech, teams and processes . The slides by themselves may not paint a complete picture, if you have any questions, do drop me an email, and I will try to get back to you.

On Postels Law and Managing Change

Postel’s law ~1981 1 , “Be conservative in what you do, be liberal in what you accept from others.” (RFC 793) A webservice accepting a message with a defined schema (xml/json/other) may choose to do one of these when it encounters messages with extra nodes/properties - be conservative and discard be liberal and accept Of the two, there are more proponents for the latter than the…

On Postels law and managing change

Postel’s law ~1981 1 , “Be conservative in what you do, be liberal in what you accept from others.” (RFC 793) A webservice accepting a message with a defined schema (xml/json/other) may choose to do one of these when it encounters messages with extra nodes/properties - be conservative and discard be liberal and accept Of the two, there are more proponents for the latter than the…

Pretty Python List Comprehensions

May 12th, 2014 Python list comprehensions are by far the simplest and most readable loop expressions that I have worked with. Here’s an example where I have a list of lists of lists (corpus –> documents –> sentences) where I need to remove some items (called stop_words here) from the sentences. corpus = [[[word for word in sentence if word not in self . _stop_words] for sentence in document] for…

Introducing Automation to Large Team

Oct 24th, 2011 A reader on my article at infoq asked an interesting question - introducing automation to a big project which has been worked on for some time. I plan to write more posts on this topic, have a lot of thoughts, but here’s my immediate answer - A very strong actionable technique that I have seen work well is that you create a small/minimal smoke test suite for you larger app. You can…

Why is test automation the backbone of Continuous Delivery?

Aug 25th, 2011 Software testing and verification needs a careful and diligent process of impersonating an end user, trying various usages and input scenarios, comparing and asserting expected behaviours. Directly, the words “careful and diligent” invoke the idea of letting a computer program do the job. Automating certain programmable aspects of your test suite thus can help software delivery…

Who Should Write Functional Tests?

Jan 3rd, 2011 Functional testing code is more often than not treated as a second class citizen. Delivery teams tend to ignore problems with test code over a period of time, and worry more about test results. This leads to poor code quality and bad test architecture, which in turn hurts the maintainability of a test suite. Its this negative feedback cycle that a team should be worried about. In my…

Why Teams Lose Faith in their Functional Automation suite?

DEC 6th, 2010 In my opinion, there are three main reasons why a functional automation suite loses its value (or the respect that a delivery team should pay it). This leads to a variety of problems, but I will save that for a later post. The reasons for me are - Non-deterministic tests - run the same test again (without changing the code) and the test gives different results. This, in my opinion is…

Is Your Functional Suite Done Right?

Feb 10th, 2009 On the last two projects that I have worked on, both being fairly sized in terms of people (40+), I have seen enormous effort being spent on functional testing. The effort, though not completely wasted, hasn’t yielded proportional gains in terms of quality improvements and quicker feedback on a higher integration level. The following list tries to address issues and my take on…