/Leonardo Creed

4 Software Design Principles I Learned The Hard Way tl;dr: “I recently built and designed a massive service that launched successfully last month. During the design and implementation process, I found that the following list of “rules” kept coming back up over and over in various scenarios.” Leonardo discusses: (1) Maintain one source of truth. (2) Yes, please repeat yourself. (3) Don’t overuse mocks. (4) Minimize mutable state.

featured in #511


4 Software Design Principles I Learned The Hard Way tl;dr: “I recently built and designed a massive service that launched successfully last month. During the design and implementation process, I found that the following list of “rules” kept coming back up over and over in various scenarios.” Leonardo discusses: (1) Maintain one source of truth. (2) Yes, please repeat yourself. (3) Don’t overuse mocks. (4) Minimize mutable state.

featured in #510


Meta's New LLM-Based Test Generator Is A Sneak Peek To The Future Of Development tl;dr: “Meta claims that this “this is the first paper to report on LLM-generated code that has been developed independent of human intervention (other than final review sign off), and landed into large scale industrial production systems with guaranteed assurances for improvement over the existing code base.” Furthermore, there are solid principles that developers can take away in order to use AI effectively themselves.” 

featured in #492


Meta's Serverless Platform Processes Trillions Of Function Calls A Day tl;dr: Meta’s XFaaS is their serverless platform that processes trillions of function calls per day on more than 100,000 servers spread across tens of datacenter regions. XFaaS is Meta’s internal version of public Function-as-a-Service (FaaS) options, such as AWS Lambda, Google Cloud Functions, and Azure Functions. Leonardo shares his high-level takeaways and lessons and then a more detailed walkthrough about the architecture behind XFaaS. 

featured in #485


How Apple Built iCloud To Store Billions Of Databases tl;dr: Apple uses FoundationDB and Cassandra for iCloud and CloudKit, their cloud backend service, running one of the largest Cassandra deployments in the world. This deployment includes over 300,000 instances or nodes, managing hundreds of petabytes of data, possibly extending to exabytes. Each cluster in this deployment can handle over two petabytes of data, and there are thousands of such clusters. This indicates a highly distributed and scalable storage system spread across multiple data centers. 

featured in #480


A Simple Programming Productivity Trick: Leave Work Unfinished To Reach Flow tl;dr: “Stop right before a “sticking point.” A sticking point is a task that’s part of a project where I know the steps to do to complete it, but I don’t know if there are hidden costs. For example, if my sticking point is deploying my ML model and HTTP server to a dev instance and verifying that it processes requests properly, then the hidden costs are deployment errors, authentication errors, resource constraints, etc... Write down the next steps extremely clearly. Writing down steps makes regaining context and the state of mind from the day before easier. Make them actionable and unambiguous.” Leonardo also shares 3 other productivity tips. 

featured in #475


How Instagram Scaled To 14 million Users With Only 3 Engineers tl;dr: Instagram scaled from 0 to 14 million users within a year (October 2010 to December 2011) with three engineers. The success was attributed to three guiding principles: simplicity, not reinventing the wheel and using proven technologies. The article provides a detailed walkthrough of the tech stack. Instagram relied on AWS, using EC2 and Ubuntu Linux, with the frontend developed in Objective-C. They utilized Amazon’s Elastic Load Balancer, Django for the backend, PostgreSQL for data storage, and Amazon S3 for photo storage, caching using Redis and Memcached.

featured in #449


7 Simple Habits Of The Top 1% Of Engineers tl;dr: 1) Use consistent standards - adhering to a uniform coding style for readability and scalability. 2) Write aesthetic, simple code - producing clean, organized, and logical code that's easy to understand. 3) Don't allow surprises - ensuring code predictability through adherence to principles and thorough testing. 4) Communicate often - actively seeking feedback and collaborating for better end results. 5) Detach from the code itself - viewing code objectively, open to revisions for the best outcome. 6) Code fast... and slow - taking a deliberate approach to coding, ensuring quality over speed. 7) Code for the human, not the computer - writing code that's comprehensible to humans, emphasizing its value to both developers and users.

featured in #448