
Building Frontend Observability
A deep dive into building an o11y platform for frontend performance, errors, and user sessions - from MVP to production.
Estimating software development tasks accurately has proven to be a challenging endeavour for engineers, leading to a historical pattern of overcommitment and under-delivery.
Estimating software development tasks accurately has proven to be a challenging endeavour for engineers, leading to a historical pattern of overcommitment and under-delivery.
Estimations can go wrong when attempting to quantify work that is inherently difficult to estimate accurately. It's not uncommon to witness project managers requesting deadlines for work that may take weeks, and it becomes even more problematic when software developers start shooting in the dark.
Inefficient or convoluted processes can also contribute to estimation errors. It is crucial to establish streamlined processes to mitigate such issues. It is recommended to strive for frequent shipping, ideally merging all changes at the end of each day. Implementing continuous delivery and deployments can greatly benefit this approach. By avoiding stagnant branches and utilizing feature flags, you can deploy to production on day one, resulting in improved outcomes.
Developer productivity holds importance, as many of us occasionally find manual deploys or waiting for app compilation and building to be vexing. Prioritize robust developer productivity right from day one. TLDR: Try to keep your developers happy!
In situations where deadlines are missed, teams often consider adding more members to the team or extending work hours as a quick solution to catch up. While this may seem like a viable and straightforward approach, it rarely addresses the root causes of the delays.
Without access to historical data, teams may never achieve good estimations. Let’s see why not having historical data might be a problem.
A skilled engineer understands when to provide a precise deadline and when to offer a rough estimate. When a senior engineer commits, they ensure it gets done, even if it means occasionally working beyond regular hours. The varying pace of work is common, especially if you are in a regulated sector like Fintech. It is also important for engineers to learn to adapt to such fluctuations.
It may sound a bit controversial, but any work batch exceeding a two-week timeframe is likely to result in inaccurate estimates. The smaller the batch, the more precise the estimation – particularly when a group of engineers collaboratively engages in this process. Let's face it; each engineer's output varies.
Conducting this activity as a team, leveraging historical data on the time taken for similar user stories in the past, and focusing on smaller work units will significantly enhance the accuracy of your deadlines. Nevertheless, it's important to acknowledge that even with these efforts, missed estimates can still occur. It's an iterative journey, a constant drive for improvement. As long as you're better today than you were yesterday, that's what truly matters.

A deep dive into building an o11y platform for frontend performance, errors, and user sessions - from MVP to production.
Do you ever find yourself thinking, "My manager doesn't care about my growth, and our 1-on-1 meetings are a complete waste of time"? If so, you're not alone. But 1-on-1 meetings can be the most valuable mechanism to affect your career and ensure that your career is moving forward the way you want it to.