tl;dr:When you ask ChatGPT a question, several steps happen: (1) Input: We take your text from the text input. (2) Tokenization: We chunk it into tokens. A token roughly maps to a couple of unicode characters. You can think of it as a word. (3) Create embeddings: We turn each token into a vector of numbers. These are called embeddings. (4) Multiply embeddings by model weights: We then multiply these embeddings by hundreds of billions of model weights. (5) Sample a prediction.
tl;dr:An interview with Evan Morikawa, who led the OpenAI Applied Engineering team as ChatGPT launched and scaled. Evan reveals the five engineering challenges along with lessons learned. Challenges are: (1) KV Cache & GPU RAM. (2) Optimizing batch size. (3) Finding the right metrics to measure. (4) Finding GPUs wherever they are. (5) Inability to autoscale.
tl;dr:In this issue, Abi outlines the developer productivity metrics used at 17 tech companies, such as Amplitude, Etsy, DoorDash. He then dives deep into several companoes of varying size, notably Google & LinkedIn, Peloton, scaleups and smaller companies. Abi’s advice on how to choose your metrics: start with the problem you want to solve. Is it shipping frictionless, retaining developers by keeping them happy and satisfied, raising the quality of software shipped, or something else? Then work backwards from there.
tl;dr:"Holiday season is just around the corner, meaning it’s time to think about gifts – which can be a non-trivial challenge in itself. With so many choices, what are the best presents for people working in tech?" Gergely put together a list covering: (1) Books and creative thinking. (2) Gadgets and tinkering. (3) Wellbeing. (4) Office equipment. (5) Decor. (6) Toys for adults. (7) Board games. (8) Non-tech gifts.
tl;dr:“Bootstrapped companies tends to get little coverage across the media. This can be by design, as many of these companies prefer to fly under the radar, and focus on building a sustainable, profitable business, and don’t seek a bigger profile.” Gergely profiles five companies, discussing: (1) Taking the leap to bootstrap a company. (2) Tech stack and engineering approaches. (3) Growing the company. (4) The contrast to working at a large company. (5) What works.
tl;dr:Willem, who Gergely met at Uber, share his experience and insights working as a developer, transitioning between startups and big tech companies. Willem recalls the "rapid skill development" and "direct influence" at startups, juxtaposed with the financial uncertainties and heightened stress. Big tech provided a platform for deep domain expertise, financial perks, and expansive networking, albeit with potential bureaucratic hurdles and diluted individual impact. “Doing work that results in a great performance review is not always the same work that best helps the company. And this can create pretty twisted, political situations.”
tl;dr:Microsoft's approach to Quality Assurance (QA), focusing on the Software Development Engineer in Test (SDET) role. The SDET role was designed for engineers who focused on writing automated tests and maintaining testing systems. "An SDET is a developer who works in a test team and not a development team." This role was retired around 2014, as Microsoft moved towards a more integrated approach where all software engineers became responsible for testing their code.
tl;dr:“Building Threads was a whirlwind. We started in January 2023 and launched in June 2023. Five months from zero to one of the fastest-growing apps ever,” which saw 100M downloads within five days of its launch. Gergely covers": (1) Building Threads. (2) Technology choices and engineering approaches. (3) Planning for launch. (4) The launch. (5) Learnings and next steps.
tl;dr:“We wrote this article for software developers and engineering leaders, and anybody who cares about nurturing high-performing software development teams. By “high performing” we mean teams where developers satisfy their customers, feel good about coming to work, and don’t feel like they’re constantly measured on senseless metrics which work against building software that solves customers’ problems. Our goal is to help hands-on leaders to make suggestions for measuring without causing harm, and to help software developers become more productive.”
tl;dr:Insights into the world of game development, contrasting it with traditional software development. Game development involves programmers, designers, artists, animators, writers, and sound designers. Games typically undergo a prototype stage, followed by full production, where multiple teams work in parallel, often leading to integration challenges. The game development life cycle consists of three main phases: pre-production, production, and release. Gergely emphasizes that while game development borrows practices from software development, such as TDD and agile methodologies, it requires adaptations to fit the unique challenges of the medium.