Candost's Blog

Candost's Blog

Candost

I used to think that reading would make me wise. One day, ten pages before finishing a book, I realized that I had read that same book before. At that point, my perspective on reading and, therefore, my life had changed. Now, I don’t care how many books I read; I take many notes, connect dots, and share what I’ve found on my blog and newsletter. I’m interested in many things at the same time (I’m a multipotentialite). On this blog, you’ll find me talking to about multiple aspects of life like leadership, software engineering, philosophy, psychology, software architecture & design, urban & industrial design, exercising, finance, Formula1 Racing, eating healthy, and many more. I’m a software engineering manager; that’s my current job. At home, I’m a writer and an avid reader. I rarely watch TV, movies or TV series. I don’t have any social media account (except Mastodon where I have automated posting of my new articles). Hence, I often miss the popular culture references in conversations. That’s alright. I don’t have FOMO; I embrace JOMO. I rarely read fictional books.

Latest Posts

This article is part of my notes from Chapter 4 on Designing Data-Intensive Applications by Martin Kleppmann. You can read other chapter notes as well. Chapter 1: Reliability, Scalability, and Maintainability in Distributed Applications...
This article is part of my notes from Chapter 5 on Designing Data-Intensive Applications by Martin Kleppmann. You can read other chapter notes as well. Chapter 1: Reliability, Scalability, and Maintainability in Distributed Applications...
Hey friend, As a manager, I coach engineers at various seniority levels. Some of them have much more experience in the industry than me, some have a similar experience, and some are less experienced. Regardless of the experience levels,...
These two words—questioning and asking—have different meanings, although both often refer to the same meaning. When we question a person or a piece of work, we meet with resistance. Questioning judges, investigates or interrogates. It...
This article is part of my notes from Chapter 3 on Designing Data-Intensive Applications by Martin Kleppmann. You can read other chapter notes as well. Chapter 1: Reliability, Scalability, and Maintainability in Distributed Applications...
Lately, I had a conversation with an iOS developer who wants to change to the gaming industry and asked me how I switched my tech stack from iOS to the backend and my experience. Today, I will talk about the tech stack change, its...
For a while, I've been thinking about what makes leadership difficult and why it challenges me—and others—that much. Before becoming a manager, I had a few discussions with some leaders to figure out the difficulties. I asked them what...
I was thrilled when I received an email from a company—let's call them Acme Inc.—to lead a team of six engineers, including mobile app developers, reverse engineers, and a QA specialist. Although I'm happy that I took the counteroffer my...
This article is part of my notes from Chapter 2 on Designing Data-Intensive Applications by Martin Kleppmann. You can read other chapter notes as well. Chapter 1: Reliability, Scalability, and Maintainability in Distributed Applications...
Functional decomposition is separating parts of your application into their own sections and allowing teams to develop these sections independently. Splitting the application by business capabilities and defining boundaries that enable...
There are two methods of scaling (a dichotomy): scaling up (vertical scaling) and sealing out (horizontal scaling). Although neither is a silver bullet, implementing either one or a combination of two is often the right action. Choosing...
Database denormalization means adding redundant information into a database to speed up reads. For example, duplicating data across tables is a denormalization process. We duplicate data to reduce Join operations across tables. When the...
This article is part of my notes from Chapter 1 of Designing Data-Intensive Applications by Martin Kleppmann. You can read other chapter notes as well. Chapter 1: Reliability, Scalability, and Maintainability in Distributed Applications...
Increasing the size of the instances and, for example, increasing the server's memory to handle load changes. Advantages Doesn’t need I/O operations. Processing is within a machine. Data Consistency. Easy implementation. Fast...
Besides load, we have to understand the performance of the system before trying to scale the application. We use performance metrics. These metrics vary in different systems. In batch processing systems, it is throughput (the # of...
Search Random