<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Career on wid's blog</title><link>https://wid-blog.github.io/en/categories/career/</link><description>Recent content in Career on wid's blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 31 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wid-blog.github.io/en/categories/career/index.xml" rel="self" type="application/rss+xml"/><item><title>quant-investment-platform — mid-retrospective</title><link>https://wid-blog.github.io/en/posts/career/personal/quant-investment-platform-mid-retrospective/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/personal/quant-investment-platform-mid-retrospective/</guid><description>A mid-project retrospective on a personal automated trading platform built with Rust + Python + React. With ETF rebalancing and single-stock signal trading both in place, a record of how the safety layers — halt, block, detect, simulate — got built before going live.</description></item><item><title>I Threw Away My AirPods</title><link>https://wid-blog.github.io/en/posts/career/dable/starting-sabbatical/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/starting-sabbatical/</guid><description>A good engineer isn&amp;rsquo;t someone who knows technology well, but someone who can share that knowledge with their team.</description></item><item><title>Sensitive Data Encryption — Module Design and Migration Retrospective</title><link>https://wid-blog.github.io/en/posts/career/dable/sensitive-data-encryption-retrospective/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/sensitive-data-encryption-retrospective/</guid><description>A retrospective on column-level encryption of sensitive data in a running service. Envelope encryption, DEK granularity decisions, the WHERE clause constraint that led to HMAC, and the migration automation Skill that spread the work across the org.</description></item><item><title>Internal Hackathon Retrospective — 1st Place</title><link>https://wid-blog.github.io/en/posts/career/dable/worthy-hackathon-retrospective/</link><pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/worthy-hackathon-retrospective/</guid><description>A retrospective on the internal hackathon. How an idea I proposed evolved with the team into a 1st-place project and an internal launch — and the starting point for using AI tools in earnest.</description></item><item><title>Profitability-Based Traffic Throttling Retrospective</title><link>https://wid-blog.github.io/en/posts/career/dable/profitability-based-traffic-throttling/</link><pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/profitability-based-traffic-throttling/</guid><description>Retrospective on building a system that automatically identifies low-performing SSP inventory and throttles traffic to improve contribution margin. Covers the evolution from Imp Cost Ratio to a predicted contribution margin rate approach.</description></item><item><title>LR-based ML Lifecycle Retrospective</title><link>https://wid-blog.github.io/en/posts/career/dable/dsp-fallback-ctr-ml-lifecycle/</link><pubDate>Mon, 10 Mar 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/dsp-fallback-ctr-ml-lifecycle/</guid><description>Building my first ML Lifecycle — a three-tier architecture for an ad Fallback CTR prediction — as a backend engineer without an AI background. The technical decisions I made, and what I learned through running it.</description></item><item><title>Ad System Outage Retrospective — A Shared Dependency and a Single Point of Failure</title><link>https://wid-blog.github.io/en/posts/career/dable/cascading-failure-retrospective/</link><pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/cascading-failure-retrospective/</guid><description>An external event drove ad traffic far above normal, triggering a cascading failure. The real problem was that the filtering component was a single point of failure — and the fallback sat on top of it too, so one collapse pulled both down at once. The fix took three paths: removing the fallback&amp;rsquo;s dependency (independence), adding rate limiting to the component itself (protection), and reconsidering the runtime (throughput).</description></item><item><title>The Blind Spot in Deploy Change Verification — Campaign Cache Incident Retrospective</title><link>https://wid-blog.github.io/en/posts/career/dable/campaign-cache-miss-retrospective/</link><pubDate>Wed, 27 Nov 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/campaign-cache-miss-retrospective/</guid><description>The deploy was two days old, and the metrics had been calm the whole time. The moment we turned off the cache refresh batch, ad serving stopped. A retrospective on the missing verification of what a deploy actually changed.</description></item><item><title>concurrency-go</title><link>https://wid-blog.github.io/en/posts/career/personal/concurrency-go-retrospective/</link><pubDate>Wed, 03 Apr 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/personal/concurrency-go-retrospective/</guid><description>A record of implementing and benchmarking three Go concurrency patterns — mutex, channel, and lock-free — to build hands-on understanding.</description></item><item><title>chat-services</title><link>https://wid-blog.github.io/en/posts/career/personal/chat-services-retrospective/</link><pubDate>Sun, 31 Mar 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/personal/chat-services-retrospective/</guid><description>A record of designing and building a chat system as a personal project to gain hands-on experience with Kafka and Hexagonal Architecture.</description></item><item><title>Ad Fallback Server Design Retrospective</title><link>https://wid-blog.github.io/en/posts/career/dable/ad-fallback-server-retrospective/</link><pubDate>Wed, 28 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/ad-fallback-server-retrospective/</guid><description>Designing a Nest.js-based fallback server while removing a legacy ad server. Why a horizontal layered architecture fit better than Nest.js&amp;rsquo;s default vertical module slicing for a single API with complex business logic.</description></item><item><title>Cache Refresh Optimization Retrospective</title><link>https://wid-blog.github.io/en/posts/career/dable/ad-campaign-cache-optimization/</link><pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/ad-campaign-cache-optimization/</guid><description>How I reduced network costs and enabled instance downscaling by switching from full cache refresh to incremental refresh for campaign configuration data.</description></item><item><title>Two-Layer Control Loop for Ad Budget Pacing — Retrospective</title><link>https://wid-blog.github.io/en/posts/career/dable/balanced-pacing-control/</link><pubDate>Mon, 21 Aug 2023 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/dable/balanced-pacing-control/</guid><description>A retrospective on moving ad budget pacing from a fixed-rule scheme to a two-layer control loop — per-campaign learning sets the baseline, real-time correction absorbs drift.</description></item><item><title>rust-server</title><link>https://wid-blog.github.io/en/posts/career/personal/rust-server-retrospective/</link><pubDate>Sun, 13 Mar 2022 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/personal/rust-server-retrospective/</guid><description>A record of implementing the multithreaded HTTP server from Rust Book Chapter 20, experiencing how ownership and concurrency safety are enforced at the type level.</description></item><item><title>SwapDo Startup Story</title><link>https://wid-blog.github.io/en/posts/career/startup/swapdo-startup-retrospective/</link><pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/startup/swapdo-startup-retrospective/</guid><description>SwapDo, a deepfake-based face synthesis meme service. A record of five months as a developer and team lead in a startup team.</description></item><item><title>55L(GGS) Startup Story</title><link>https://wid-blog.github.io/en/posts/career/startup/55l-ggs-startup-retrospective/</link><pubDate>Sat, 13 Mar 2021 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/startup/55l-ggs-startup-retrospective/</guid><description>A startup born from a casual League of Legends habit. From architecture design to desktop apps, a record of two people building a service that grew to 10,000 users over five months.</description></item><item><title>GDG Korea Android 11 Hackathon — YouTube Together</title><link>https://wid-blog.github.io/en/posts/career/hackathon/gdg-korea-android-11-hackathon/</link><pubDate>Sat, 29 Aug 2020 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/hackathon/gdg-korea-android-11-hackathon/</guid><description>Entering the GDG Korea Android 11 Hackathon solo, building both server and app in three weeks.</description></item><item><title>KRIC Station Public Data Hackathon — Hidden Rest Areas</title><link>https://wid-blog.github.io/en/posts/career/hackathon/kric-station-public-data-hackathon/</link><pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/career/hackathon/kric-station-public-data-hackathon/</guid><description>Korea Railroad Industry Information Center&amp;rsquo;s public-data hackathon. A three-person team built an Android app that surfaces hidden rest spaces inside subway stations, over three weeks.</description></item></channel></rss>