When I joined Yahoo as a new grad, there was a large data‑science division, so I assumed I’d be assigned there based on my interviews. Instead I landed on the search team for Yahoo Shopping. It wasn’t my first choice, but in hindsight working on a real service was valuable.
My main work was adding features to the search API and operating the search engine. The codebase was large and mature, so I started by reading and understanding it.
Some software‑design ideas I’d read about hadn’t clicked before, but looking at a real, complex system made them concrete.
I was also impressed by the performance of in‑house tech compared to popular OSS. For example, the now‑open‑sourced full‑text engine Vespa and the NoSQL store mdbm were very fast. I’d assumed the most popular OSS was best, but the internal tools were often superior.
Teams owned APIs and subsystems, so feature work required cross‑team coordination. These days I usually work in 2–3 person teams with little coordination overhead, but back then I often visited other teams when launching a new feature or sunsetting an API. That kind of organizational collaboration is an important part of being a professional developer.
Doing both development and operations was another key experience. If you split them, priorities can get tossed back and forth; owning both helps balance trade‑offs.
One memorable recurring event was preparing for the annual sale day: forecasting traffic, adjusting server counts, and running load tests—things you only do at large scale. I don’t do that much now on smaller services, but I suspect it’ll come in handy again someday.
After joining the company I switched from Emacs/Vim to IntelliJ IDEA. At work I needed to handle many languages—PHP, Perl, Java, Go, Python—so I preferred an IDE with broad support and minimal setup.
Outside work I was into high‑performance systems, learning C++ and efficient programming. I even wrote toy languages and interpreters on the side, hoping to use C++ in a future project. I didn’t use C++ at work then, but now I’m using it heavily for firmware, and that learning has paid off.