Author: Edvaldo Freitas

  • When should you invest in Developer Experience?

    When should you invest in Developer Experience?

    At a certain point in a company’s growth, you start to notice some strange things happening. Adding more engineers doesn’t seem to make the team any faster. The first month of a new hire is spent just trying to get the local development environment running without errors. Simple bug fixes that should take an hour…

  • How to Identify (and Fix) Bottlenecks in Your Code Review Process

    How to Identify (and Fix) Bottlenecks in Your Code Review Process

    As an engineering team grows, the code review process is often one of the first things to show signs of strain. What used to be a quick, collaborative check turns into a queue. Pull requests start to pile up, delivery slows down, and you can feel the impact on the team’s pace. The default assumption…

  • Software estimation and scope: predicting delivery timelines in a scale-up

    Software estimation and scope: predicting delivery timelines in a scale-up

    The product roadmap says six weeks. Deep down, you know it’s ten. Maybe twelve, if that dependency doesn’t land in time. Software estimation in companies that are growing fast means constantly dealing with this clash between the number that needs to be communicated and the reality of unstable requirements, technical risks, and a product vision…

  • Dealing with legacy code in modern applications

    Dealing with legacy code in modern applications

    A new feature request lands, and you realize it has to touch the old permissions module. The project planning meeting suddenly gets very quiet because everyone knows any change in that part of the legacy code means weeks of careful testing, unpredictable behavior, and a high-stakes deployment. This is the friction point where building new…

  • How to structure technical planning for engineering

    How to structure technical planning for engineering

    In a fast-growing company, the default state of engineering is reactive. The product roadmap is packed, deadlines are tight, and the team is constantly switching context to put out the fire of the moment. This environment makes any kind of intentional technical planning feel like a luxury you can’t afford, so most teams don’t even…

  • KPIs in Software Development: What to Track in 2026

    KPIs in Software Development: What to Track in 2026

    Most engineering teams have some dashboard lying around. Usually it’s full of charts tracking everything from Jira ticket velocity to CI build time. The problem shows up when you ask how those numbers help anyone make a better decision. Most of the time, nobody knows how to answer. This is the common state of KPIs…

  • Code Standards and Best Practices for Growing Teams

    Code Standards and Best Practices for Growing Teams

    When an engineering team is small, informal agreements tend to work just fine. There’s a shared understanding of how things should be built, because any disagreement can be quickly resolved in a Slack thread or a conversation. But as the team grows from five to fifty developers, these unwritten rules start to cause problems. Suddenly,…

  • The challenge of managing multiple projects as a Tech Lead

    The challenge of managing multiple projects as a Tech Lead

    Your scope as a Tech Lead almost never stays confined to a single, clean workstream. As a product grows, you end up responsible for a new feature initiative, a critical infrastructure migration, and a lingering performance issue, all at the same time. This isn’t a promotion; it’s an expansion of responsibility that quietly creeps in…

  • Refactor or Rewrite? Dealing With Code That’s Grown Too Large

    Refactor or Rewrite? Dealing With Code That’s Grown Too Large

    The decision to refactor or rewrite a large codebase usually starts with a feeling of friction. Small changes that should take a day suddenly take a week. Every new feature seems to break an old one, and the team’s bug backlog grows faster than it shrinks. This happens because systems don’t just age, they accumulate…