Week 2 of the year 2025
- 3 minutes read - 499 wordsThis Week’s Challenges:
- Making Engineering Excellence Measurable: Sharing My Codehub Project
Making Engineering Excellence Measurable: Sharing My Codehub Project
This week, I’m excited to share progress on a project I’ve been working on: Codehub. Codehub is a static website built with Hugo that aims to bring transparency and insights to our engineering efforts here at Walmart Offsite Display organization.
Why Measure Engineering Velocity?
Having a clear understanding of our engineering velocity is crucial for effective resource allocation, identifying areas for improvement, and celebrating our team’s successes. Codehub provides valuable metrics and visualizations to help us achieve these goals.
What Does Codehub Do?
Codehub leverages GitHub statistics to generate reports on engineering excellence metrics and pull requests (PRs) across our organization. With about 50 engineers spread across 4 teams, Codehub allows us to:
- Track individual and team performance: Drill down on PR data for each engineer and team, providing insights into individual contributions and team dynamics.
- Identify trends and patterns: Analyze metrics like PR duration, number of abandoned PRs, and merge-to-abandon ratio to understand our development workflow and identify areas for improvement.
- Measure lead time to production: Track the time it takes for a PR to be merged and deployed to production, providing valuable insights into our release cycle efficiency.
Technical Decisions: Under the Hood of Codehub
This week, I made a significant technical decision regarding Codehub’s architecture. While I initially used Hugo shortcodes for code reusability, I’ve transitioned to using templates. Here’s a breakdown of the rationale behind this choice:
- Templates Offer More Power: Templates provide greater flexibility for page customization compared to shortcodes. They allow for the use of template blocks and partials, essentially replacing the functionality of shortcodes while offering a more robust approach.
- Limited Nesting with Shortcodes: While shortcodes can be nested to a certain extent, templates offer a more scalable and maintainable solution for complex layouts.
- Trade-off: Flexibility vs. Ease of Use: Templates require a steeper learning curve compared to shortcodes (well, arguably). However, the long-term benefits in terms of maintainability and flexibility outweigh the initial learning investment.
Data and Reporting: The Backbone of Codehub
Codehub utilizes JSON files as a lightweight “database” if you will, with JQ as the query language. Basically I dump GitHub stats usign GitHub CLI into JSON files. Hugo then acts as a reporting tool to generate insightful visualizations of the extracted data. This combination provides a flexible and efficient data management solution for Codehub. And then Hugo’s output is being published in a form of GitHub pages. Basically I explained the idea here
The Future of Codehub
I’m excited to continue developing Codehub and integrate it seamlessly into our organization’s workflow. This will allow us to leverage data-driven insights to continuously improve our engineering processes and celebrate our team’s achievements.
Stay tuned for future updates as I delve deeper into the technical aspects of Codehub and showcase the valuable insights it provides for our engineering teams!
See also: