<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software Engineering on Hi, I'm Braddy</title><link>https://yeohbraddy.com/tags/software-engineering/</link><description>Recent content in Software Engineering on Hi, I'm Braddy</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 04 Jul 2026 15:06:05 +0100</lastBuildDate><atom:link href="https://yeohbraddy.com/tags/software-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Futureproofing Tines: Fair share orchestration</title><link>https://yeohbraddy.com/posts/futureproofing-tines-fair-share-orchestration/</link><pubDate>Thu, 29 Jan 2026 12:00:00 +0000</pubDate><guid>https://yeohbraddy.com/posts/futureproofing-tines-fair-share-orchestration/</guid><description>&lt;p>&lt;em>Originally published on the &lt;a href="https://www.tines.com/blog/futureproofing-tines-fair-share-orchestration/">Tines Engineering Blog&lt;/a>.&lt;/em>&lt;/p>
&lt;p>One of the more fun and challenging problems I worked on at Tines - redesigning how we orchestrate action runs so that no single customer&amp;rsquo;s workflow can starve everyone else. With over a billion automated actions flowing through the platform every week, our initial simple approach needed an upgrade. We built a fair-share system that pairs deterministic concurrency gating with continuously accruing per-story budgets, and the result is much more predictable performance across the board.&lt;/p></description></item><item><title>Making N+1 query detection actually useful at scale</title><link>https://yeohbraddy.com/posts/making-n+1-query-detection-actually-useful-at-scale/</link><pubDate>Thu, 01 Jan 2026 12:00:00 +0000</pubDate><guid>https://yeohbraddy.com/posts/making-n+1-query-detection-actually-useful-at-scale/</guid><description>&lt;h2 id="why-n1-queries-matter">Why N+1 queries matter&lt;/h2>
&lt;p>An N+1 query is one of the most common performance anti-patterns in applications powered by relational databases. It happens when code loads a collection of records, then lazily fetches an association for each one individually effectively turning what should be 1 query into N+1.&lt;/p>
&lt;pre tabindex="0">&lt;code># 1 query to load users
users = User.where(team_id: team.id)

# + N queries, one per user, to load their profile
users.each { |u| puts u.profile.bio }
&lt;/code>&lt;/pre>&lt;p>At large scale where N might be 100, 200, or 1,000, it&amp;rsquo;s not a great thing:&lt;/p></description></item><item><title>Truths about software engineering I learned</title><link>https://yeohbraddy.com/posts/things-i-learned/</link><pubDate>Mon, 08 Sep 2025 12:00:00 +0000</pubDate><guid>https://yeohbraddy.com/posts/things-i-learned/</guid><description>&lt;p>After withdrawing from ETH Zurich in a degree for MSc in CS, majoring in Theoretical Computer Science and Machine Learning, I joined a startup in pursuit of making impact, learning with practical experience, and building. Here is what I learned.&lt;/p>
&lt;h4 id="the-power-of-dogfooding-and-observability">The power of dogfooding and observability&lt;/h4>
&lt;p>It&amp;rsquo;s much easier to come up with ideas when using the product as you feel the rough edges firsthand which promotes thinking about ways to improve it. This is similar to instrumenting what users feel, you can&amp;rsquo;t fix what you can&amp;rsquo;t see.&lt;/p></description></item><item><title>Four disciplines in shipping what matters</title><link>https://yeohbraddy.com/posts/four-pillars/</link><pubDate>Fri, 01 Aug 2025 12:00:00 +0000</pubDate><guid>https://yeohbraddy.com/posts/four-pillars/</guid><description>&lt;p>Recently at work, I started a recurring monthly session focusing on growing engineers, especially younger engineers. These sessions are mostly focusing on career advice, principles, and tools to make engineers more effective.&lt;/p>
&lt;p>This session focused on how to increase impact and demonstrating that impact.&lt;/p>
&lt;p>&lt;em>A small disclaimer before we continue, (good) advice is fuzzy because it entirely depends on the person receiving it.&lt;/em>&lt;/p>
&lt;h4 id="four-disciplines">Four disciplines&lt;/h4>
&lt;p>In software engineering, there are four disciplines:&lt;/p></description></item></channel></rss>