Eric Hotinger
2024
Books
- Endurance by Alfred Lansing
- Ikigai: The Japanese Secret to a Long and Happy Life by Héctor García, Francesc Miralles
- Clearer, Closer, Better: How Successful People See the World by Emily Balcetis
- Tress of the Emerald Sea: A Cosmere Novel by Brandon Sanderson
- Relentless: From Good to Great to Unstoppable by Tim Grover, Shari Wenk
Blogs
- Rebuilding Netflix Video Processing Pipeline with Microservices
- Slack’s Migration to a Cellular Architecture
Papers
Job & Cluster Scheduling
- Apollo: Scalable and Coordinated Scheduling for Cloud-Scale Computing by Eric Boutin, Jaliya Ekanayake, Wei Lin, Bing Shi, and Jingren Zhou, Microsoft; Zhengping Qian, Ming Wu, and Lidong Zhou, Microsoft Research
- The paper presents a cluster task scheduling system developed by a team of Microsoft researchers to efficiently manage cloud-scale computing resources. Apollo has the capability of handling over 20,000 jobs per second, with a 95% of regular tasks experiencing queueing delays of less than one second. Central to Apollo’s effectiveness is its scheduler, which employs weighted decisions based on job similarities and historical data, enabling accurate estimation of resource needs and job durations.
- The system utilizes a token-based throttle to manage capacity and prevent overload, ensuring uninterrupted service and performance stability. Apollo’s rollout strategy is also noteworthy, as it is implemented in phases to mitigate potential disruptions to ongoing jobs. The system supports both “opportunistic” and “regular” tasks, with opportunistic tasks being scheduled ahead of time and queued for execution based on resource availability predictions. Furthermore, Apollo adapts to varying system loads, accommodating fluctuations in job types and schedules, such as those occurring on weekends or weekdays. With support for task priorities, Apollo emerges as a comprehensive solution for cloud-scale job scheduling, offering scalability, efficiency, and adaptability to meet the dynamic demands of modern computing environments.
- Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center by Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy Katz, Scott Shenker, Ion Stoica
2023
Below is a list of papers and books I’ve read in 2023 with some minor notes around each. Each section represents a general theme/category for software development.
Books
- Outlive: The Science and Art of Longevity by Peter Attia
- The Little Book of Common Sense Investing by John Bogle
- Never Finished by David Goggins
- Die With Zero by Bill Perkins
- How to Win Friends & Influence People by Dale Carnegie
- Four Thousand Weeks: Time Management for Mortals
- The Way Out by Alan Gordon, Alon Ziv
- Full Catastrophe Living by Jon Kabat-Zinn
- The Power Of Now by Eckhart Tolle
- Born a Crime: Stories from a South African Childhood by Trevor Noah
Papers
- No Silver Bullet — Essence and Accident in Software Engineering
- FoundationDB: A Distributed Key-Value Store
- Towards Modern Development of Cloud Applications
- Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%
- On-demand Container Loading in AWS Lambda
- Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service
- Elastic cloud services: scaling snowflake’s control plane
- The Story of AWS Glue
- Fleming W, Romas M, Dean B, and Rob L, “A Framework for the Effective Adoption of Software Development Methodologies”
- Davide F, Burak T, and Markku O, “On the Effects of Programming and Testing Skills on External Quality and Productivity in a Test-Driven Development Context”
- Nicole F, Margaret-Anne S, Chandra M, Thomas Z, Brian H, and Jenna B, “The SPACE of developer productivity”
- Lan C, Emerson M, Mark C, Ciera J, Collin G, Andrea K, Nan Z, and Elizabeth K, “What improves developer productivity at google? code quality”
- Thomas Z, “Measuring Developer Productivity and the New Future of Work”
- Margaret-Anne S and Alexey Z, “Disrupting developer productivity one bot at a time”
- Terese B, Antonio M, and Jan B, “Technical debt cripples software developer productivity: a longitudinal study on developers’ daily software development work”
- Michaela G, Margaret-Anne S, and Abi N, “An Actionable Framework for Understanding and Improving Developer Experience”
- Nischal S, Colton B, Titus B, and Chris P, “Here we go again: why is it difficult for developers to learn another programming language?”
Blogs
- https://aws.amazon.com/blogs/compute/introducing-aws-lambda-response-streaming/
- https://aws.amazon.com/codewhisperer/
2022
Books
- * Designing Distributed Control Systems: A Pattern Language Approach (Wiley Software Patterns Series)
- Born to Run: A Hidden Tribe, Superathletes, and the Greatest Race the World Has Never Seen
- * Running with the Mind of Meditation: Lessons for Training Body and Mind
- The Road to Sparta: Reliving the Epic Run that Inspired the World’s Greatest Foot Race
- * Turn the Ship Around!: A True Story of Turning Followers into Leaders
- Extreme Ownership: How U.S. Navy SEALs Lead and Win
- * Embrace the Suck: The Navy SEAL Way to an Extraordinary Life
- * Leonardo da Vinci
- Fluent Forever: How to Learn Any Language Fast and Never Forget It
- Superforecasting: The Art and Science of Prediction
- * The Expectation Effect: How Your Mindset Can Change Your World
- * The Way of Zen
- * Tao: The Watercourse Way
- Unlimited Memory
- Deep Work: Rules for Focused Success in a Distracted World
- House of Earth and Blood (Crescent City)
- The Christmas Pig
- The Midnight Library: A Novel
- Algorithms to Live By: The Computer Science of Human Decisions
- Zero to One: Notes on Startups, or How to Build the Future
- Atomic Habits by James Clear
Papers
Previous Post: Optimizing Impact and the Realities of Principal Engineering