Writings

Consistency and Consensus in Distributed Systems
Love The Constraints
Sometimes, saying nothing tells everything.
My Experience Living without Social Media
Moving to Substack
Measure What Matters by John Doerr
How to Get to The End of a Pile of Unread Books
Chesterton's Fence
These (damn) Annoying Tenure Engineers
The Trouble with Distributed Systems
Shift Left on Security
Faucets and Bad Ideas
Microblogs 2022-12
One Decision That Removes Hundreds of Decisions
Understanding How Database Transactions Work
Team Topologies Book Review, Summary, and Notes
The Power of Ritualization: Rituals vs. Routines
Concluding My Struggle with Note-Taking Systems and Apps
Why is it so hard to be kind?
Database Partitioning
Joining SumUp
Data Replication in Distributed Systems
Goals and Existence
Hidden Monoliths Affect The Software Design
I continued sharing my notes from the book Designing Data-Intensive Applications. Encoding, Decoding, Schemas, and Data Evolution The underlying approach to encoding and decoding decides how we app...
Are you questioning or asking a question? The subtle difference between the two. Questioning vs. Asking
At the fundamental of any database, it stores data when we give it and retrieves data when we ask for it. We won't build a new database engine, but we roughly need to know how these operations work...
The common leadership challenges have one greater challenge behind them. All the buzzwords like prioritization, delegation, focus time, etc. have a common background. Leaders have to learn when and...
The relational, document-based, and graph-based data models are the fundamentals of understanding data-intensive applications along with query languages. Data Models and Query Languages
I started reading Designing Data-Intensive Applications by Martin Kleppmann a while ago. It's time to start sharing my notes from each chapter. This will be a series of posts. The goal is one chapt...
I’ve been thinking about drug usage for a while and never had a chance to have an open conversation with anyone for a long time until recently. On Drugs and Great People
Blame absorbers are everywhere. It's not a personality; it's a behavior that everyone develops from time to time. For some people, it happens often; for some, it's rare. I'm one of them and I wrote...
Recently, in a book club, we read Think Again by The New York Times Bestselling Author Adam Grant. I wrote down my summary, notes, and review. Writing book notes help me grasp the idea in the books...
Some people avoid conflicts thinking that they brake harmony and create problems. Some people create relationship conflicts because relationships are more important than work. And some people creat...
I've been thinking about my productivity and how to stay on track. After researching and trying out a few things, I realized that productivity is a scam. It pushes us to work more and deliver more ...
As you may know, I host a podcast. Currently, I’m preparing for the third season of it. In preparation, I worked on improving my speaking skills as well. One of the lectures I watched was from MIT ...
I have worked with a few people who blame themselves for every mistake. They often use "I could've done that, I should've known that" or any other phrase in the same line. This behavior often looks...
I’ve been part of quite a few reorganizations and restructuring. I’ve experienced both from either side: as a restructuring initiator and as a person affected by restructurings. I realized the impo...
The wars and their results create various feelings in us. It creates conflicts. It creates sadness, hatred, happiness, proudness. All of them at the same time. However, we cry. At least I cried a l...
I've been thinking about the current job-changing wave and having a longer tenure in a company. I'm currently in Jimdo for ~6 years, and I wanted to understand what advantage I saw in the long term...
Recently, I was re-reading some parts of the book No Time to Spare by Ursula K. Le Guin, one of my favorite authors. The book is a collection of Ursula's blog articles. While going back and forth b...
As a new manager, I’ve experienced different challenges in my first months. A few of them were building a new team, onboarding, and coaching people on the way. All these challenges have taught me o...
I've been thinking about how we approach software engineering and why we have a lot of struggles to understand our profession. Besides its philosophy, we need to understand what we're trying to ach...
After getting into a new role (team lead), I started to struggle with managing my time. I had too many meetings and little time to think and work on issues that required my solo attention. At that ...
When I became a manager, I asked my mentor and other managers about how to build team spirit in a new team. I got many answers, but one stood out: Deliver something quick. I tried, and it worked! A...
More than a year ago, I had burnout. One of the contributors to my burnout was blaming myself for all the mistakes I've made earlier. In a way, I took all the responsibility for mistakes, which I s...
I've recently finished the book Worth Doing Wrong by Arnie S. Malham. I found out about this book when I was searching for books related to changing the culture at work. After keeping it on my wish...
In the remote work in the middle of the pandemic, I try a few things to survive and excel at work. Deep work is one of them. The idea is simple: Choose one topic and grab a pen and paper (not a pho...
Recently, I became the book supplier for my father. Choosing books for someone else is a powerful position, and I take it seriously and feel responsible. This post is a personal but important one. ...
You may have recognized that I really like using Polywork. It gives me a judgment-free place to share all the things I do and to find others to collaborate with while keeping my focus on learning a...
"Don't hope for a life without problems. There is no such a thing. Instead hope for a life full of good problems." This was one of my favorite quotes from The Subtle Art of Not Giving A Fuck by Mar...
I believe that there is nothing in this world a person cannot learn. Although I have been fortunate to study leadership, many people are just thrown into these roles without previous knowledge. I w...
Yesterday, I shared a tweet and said, "Don't assume you have a consensus in the absence of objections. Whenever I saw a leader assuming anything, it often turned out wrong." As it was a thought I h...
Self-coaching is one technique that I try to do as much as possible, and today is one of the days I needed to self-coach myself. If you want to get into my brain about why I need to self-coach and ...
I wrote a post about having a bias for action last week. One thing I didn't mention there was what's preventing organizations from having a bias to action. The most critical problem I've seen is ha...
I always thought that we need to learn all of the fundamentals of a topic before taking any action. It was the approach I took as a software engineer. I spent my whole life going down the rabbit ho...
How an architect thinks and approaches designing and architecting software systems? The architect's job is eventually a combination of tech lead, software engineer, R&D engineer, and strategist. Bu...
Here are my notes from the business novel "Turn The Ship Around!" by @ldavidmarquet. He explains intent-based leadership and identifies how the leader-follower approach is ineffective. A new podcas...
Career ladders and frameworks are helpful tools for software engineers to grow. I wrote my thoughts around the good, the bad, and the ugly parts of the career ladders and frameworks. What do you th...
Remote work is more inclusive than on-site work. It provides opportunities to people with disabilities, disorders, and deficiencies. Remote Work Is Required For Better Inclusivity In The Workspace
When people have a personal ego, they put the best interest on themselves. When there is a team ego, everyone takes pride in what they do together. Build team ego and focus on three things. Persona...
Most things in life are either average or suck. The media blurs this reality. It also creates a fake one by saying that everyone can achieve everything. You are not special
The question, "Why can't this be done sooner?" by Larry Page makes you deeply understand the approach you're taking, question it, find the gaps in your knowledge, and analyze the risks better so th...
In a blink of an eye, we're happy. We may be achieved a goal or finalized a project. This happiness usually lasts for one blink, maybe two. A Life without Problems and Goals - The Happiness
Hades taught me to be beaten up by trying to do something every day but never give up. In every attempt, I am stronger than before. What Hades (the game) Taught Me
While reading Thanks for The Feedback by Douglas Stone and Sheila Heen, one idea grabbed my attention more than the others. In the context of feedback, they say explicit disagreement is better than...
Recently, I discussed with a friend who is preparing to lead a partially distributed team. Like many companies and leaders, my friend also faces having a somewhat remote but partly on-site team. So...
I question my ideas before writing a blog post to clarify my thoughts and write a more precise blog post. Here I share these questions that I asked to write my previous blog post and give my idea d...
Have your team meetings as either remote meetings or on-site meetings. Don't have hybrid meetings. If you do, people in the meetings will have a bad experience. Why are Hybrid Meetings Terrible? Re...
I'm trying a new format. With this format, I will share my blog post ideas and how they became a post in the first place. From time to time, I challenge my blog post idea with questions. In this fo...
I'm trying a new format. With this format, I will share my blog post ideas and how they became a post in the first place. From time to time, I challenge my blog post idea with questions. In this fo...
I have faced this question recently and I went silent. I knew that laying off people or firing someone specific are unpleasant moments of management. Can You Fire Your Colleague?
Why you should deploy your software in small batches and release it often to increase your gain while decreasing cost? Why should you deploy your code in smaller chunks and release software often?
Don't split the monolith for the sake of having microservices. Use incremental approach. My book notes from Chapter 5 in Building Microservices. Splitting the Monolith
There is no easiest, hardest, useful, or best programming language; they all similar. Learn data structures, algorithms to master in all languages. No, You Don't Need to Learn Another Programming L...
Firebase gives you the tools and infrastructure you need to build better apps and grow successful businesses. It provides several features divided into three groups develop, grow and earn. Using Fi...
After hearing a lot about the great performance of Swift in the backend, I decided to give it a try. And here comes my first experiences step by step. New Horizons with Server-Side Swift
Why do we need to reshape our module to make it testable? Unit Tests in Server-Side Swift API
In a lot of ways, Swift is a very flexible language and it is really easy to misuse it. Applying best practices becomes really important. Using SwiftLint and Danger for Swift Best Practices
Migration Guide from Vapor 1 to Vapor 2 Migrating from Vapor 1 to Vapor 2
When Apple announced Server APIs and working group, it made me think to switch to Swift for server-side development. Vapor 2 — What to do after 'Hello World' Example
As one of the most powerful features in Swift, Generics can be tricky. A lot of people have trouble understanding and using them, especially application developers. Generics in Swift
The fundamentals of machine learning require some knowledge of linear algebra and calculus. This barrier frightens people and keeps them away from machine learning with curiosity. Machine Learning ...
Google announced Firebase Predictions in Firebase Dev Summit in Amsterdam this year. Firebase Predictions
We use some tools and also some do customizations on them to increase our productivity. Every tech stack has different needs, thus, a different set of tools. iOS Developer Productivity Kit
Feedback is defined as a reaction after a behavior or statement. But what does it really mean for us? Importance of the Feedback
Linear Regression is a basic statistical method that applies a linear function to data and predicts a scalar value. But why do we use it? Simple Linear Regression in Machine Learning
Every iOS developer needs to understand the possible states and lifecycle of an iOS application. Knowing when the state enables us to work behind the scenes. iOS Application Lifecycle
Truly understanding when the view is created, loaded, appeared, or destroyed helps us to understand our approach deeply while developing an iOS App. View Lifecycle in iOS
We face handling more than one operation at the same time. We want to shorten the waiting time even though it is not always necessary with the concurrency. Concurrency in iOS
Most of the developers have a hard time understanding the testing. Tests are often underrated and despised. What are the benefits of tests? Testability in iOS
Multiple environments like staging, production are standard and when we use it with AWS, we face the problem of managing access to them. Managing Multiple AWS Environments in Terraform
Technical skills are easy, yet soft ones are harder. I learned a lot of lessons from my failures, experiences, and successes. Here is my shortlist. 14 Lessons I Learned in 10 Years
Short review about the book The Culture Map by Erin Meyer. High Productivity and Clear Communication in Different Cultures
Growth with big goals is an illusion. Growth without goals is too. We need the middle ground, and this is how I approach it. Growth with Systematic Bliss
We often don’t even realize that we’re mixing things at work. There are a couple of reasons and strategies we can follow. Separation of Concerns at Work
If you are planning your days and still failing to stick to them, these tips can help you. Instead of feeling bad, you can start feeling great. Top Three Tips for Planners
We cannot use interactive rebasing and resetting. Both of them have security mechanisms to prevent this action. Instead, we have to use other approaches. How to reset the first commit in Git?
When we find ourselves in endless debates where everyone defends their idea, we don't know how to handle the situation. We eventually find a way out, but what we need is an excellent system. How to...
Thinking diversity only in our immediate environment is a shortcoming. Instead of blinding ourselves, we need to broaden our horizons and think other sides of the world to have a bigger impact. Div...
In organizations, we draft proposals to make decisions. Handling and overcoming objections to a proposal helps to make the decision process sustainable. How to Handle and Overcome Objections to You...
The Blue-Green Deployment is an application deployment technique used in continuous delivery. The new service is deployed and put into production gradually. The Blue-Green Deployment Strategy
Building trust in teams is complex. Trust in the workplace is crucial to becoming a successful software engineering manager. How to Build Trust in a Team as a New Manager
Through a software engineer career, deciding factors change, and we forget how to decide and focus on one thing. What you need to do is sit and prioritize. Deciding on What You Should Focus on Next
When software engineers grow, the responsibilities evolve. Task prioritization changes. Communication and analysis skills become more important. But how can you get better at prioritizing your work...
When I changed my perspective and worked on improving my 1:1 meetings, the results were terrific. Now, I have better communication with my manager, and I feel that I'm learning and growing way fast...
Most of the one-on-one templates I found online did not suit me and were not effective. I picked the best parts adjusted them according to the software engineer's perspective. Effective 1:1 Meeting...
I live-streamed for fourteen weeks, every Tuesday at 19:00 CET. I had thirteen amazing guests. We talked about many different things in the software industry, ranging from DevOps to marketing. I le...
I have seen the good, the bad, and the ugly parts of different estimation techniques. I think timely estimations are better when they are done right. Timely Estimations are Underrated
Many software engineers are poor at writing, or they avoid it because they think it takes a lot of time. Yes, it takes time. But it is crucial and cannot be ignored at work. Why Is Writing Important?
Every engineering team has some sort of documentation of their team's work. Most often, these documents get disorganized reasonably quickly. People have a hard time finding their way around. There ...
The communication of the decisions is sometimes more important than the decision itself. The leaders often make horrible announcements of significant decisions. How can they do it better? Communica...
I had conflicts before and learned a lot about solving them and preventing them in the beginning. Now, I wrote an article called How to Solve and Prevent Conflicts