Quitting Twitter Inc earlier this year is like graduating high school and feeling a bit sad but like, nostalgic, and then a few months later your high school explodes.
Software engineer Tanooj Parekh joined Abnormal because of "the people, the technological challenges we need to solve, & the opportunity to be on the ground floor of a fast-growing company with an amazing network of engineers and leaders." Read his story: https://t.co/L2nH4B5TV9
Twitter's Ads services grew over time to become monolithic and slowed down development velocity. Over the last 1.5 years, we've worked to rebuild our stack, with a platform-first approach. Happy to discuss our approach and the trade-offs we described in this blog!
@SashaGavrilov We haven't planned tech talks yet, but we can certainly consider them - @jianhangg@kavitakanetkar wdyt?
In the meantime, we do plan to publish a couple of more blog posts on our efforts, watch out for them :)
Some other links -
https://t.co/FOPKEB5krI
https://t.co/DDCfqSMUuy
@SashaGavrilov Agreed! To be clear, we also serve ads to an RTB network (see MoPub) - and we had to make sure to still support tighter SLAs for those requests. Of course, it was easier to find room to maneuver on Twitter-owned ad inventory.
@SashaGavrilov With these, we were able to achieve the desired parity goals. While in theory we used latency for the increased hops, in practice we found that 1) the increase is small enough to not cause harm in the short term, and 2) its the right tradeoff for long term productivity goals. 4/4
@SashaGavrilov 2) Identified inefficiencies in the clients of the ad server so that we could afford a slightly larger latency budget to find ads (this was only possible in some cases).
3) Spent a considerable amount of time working with Twitter's network eng team to design the optimal arch. 3/n
There's a saying that writing software is more like tending a garden than constructing a building -- things constantly change.
But the more I learn about how buildings evolve, I think this process is actually a perfect analogy for designing software!
Thread: