How to Give a Good Tech Talk
Tech talks exist in nearly every company. The effectiveness varies from person to person and team to team. In some teams, tech talks gradually become a useless time killer due to various reasons. This article aims to improve the baseline of tech talks through some fundamental rules, starting from topic selection and other aspects, striving to help 80% of people deliver a tech talk that scores above 80 points. Topic SelectionBasic PrinciplesFirst, you need to understand that in-person tech t...
What Exactly is Cloud Native?
Definition of Cloud NativeIn recent years, cloud native has become an increasingly popular concept across the open-source community. But what exactly is cloud native? Is it an architecture? A platform? What does it affect? System security? Development efficiency? So today, let’s dig deep and sort out what cloud native really is. To understand what cloud native is, we need to start with its name. The English name for cloud native is “cloud native,” which obviously contains two parts: cloud a...
Book Notes: Kazuo Inamori's 'Amoeba Management' — Reflecting on How We Should Work
“Amoeba Management” is a classic book about work attitudes and work methods. In today’s world of severe labor-capital conflicts and increasingly rigid class structures, it’s difficult to fully practice the philosophy of the book’s author, Kazuo Inamori. But this doesn’t mean the book has no value. Working hard and enhancing one’s own value has always been a spiritual pursuit hidden deep within the human heart. What we need to do is ensure that the returns from value enhancement go to ourselve...
The Personal Value of Code Review
Why Code Review is NeededIn a typical development workflow, there are various review stages — product spec reviews, design reviews, test case reviews, code reviews, and so on. To conduct these reviews, meetings are inevitably introduced. Some people might think these activities are useless and a waste of time. In reality, they are extremely important. If you have the impression that reviews don’t matter, it’s likely due to one of two reasons: either a lack of understanding, or poor review pra...
Hukou, Big Tech, High Salary, Life — Career Choices for Fresh Graduates
Today I want to talk about career choices for fresh graduates, primarily focused on backend development (the topic of role selection is also quite broad, and I may write a separate article about it if I get the chance). Over the past few years, I’ve worked in state-owned enterprises, large companies, and small companies, so I feel I have some real perspective on what different companies are like. Trade-offs Across Four DimensionsCareer choice ultimately comes down to two key decisions: city...
Is Encapsulating All RPC Interface Inputs and Outputs into Classes a Sound Design?
Problem StatementRegarding the inputs and outputs of RPC interfaces, there has long been a school of thought that advocates wrapping all inputs and outputs into individual request and response classes. In this article, we will analyze whether this approach constitutes a sound design. Input Parameter Encapsulation AnalysisLet’s start with inputs. I’ll state the conclusion first: encapsulation should only be done when there are excessive input parameters. In all other cases, there is absolutely...
The Value of Business Development for Programmers
Let me share my personal experience. At my first company right after graduation, I was actually doing infrastructure middleware development. But during that work, I realized I didn’t enjoy the feeling of being so far removed from real business. So when I later changed jobs, I deliberately chose a business-oriented department. Today, I want to explain why I made this choice. Why I Don’t Do Infrastructure DevelopmentFirst, I want to address a common misconception: that infrastructure developm...
What Exactly Are Design Patterns? A Deep Dive into Their Principles
Hello everyone, I’m Liusha. Design patterns are something every programmer encounters frequently, but I believe many people still have questions about what design patterns really are. So today, let’s talk about this — the main goal is to help you understand the purpose of design patterns and the right mindset for approaching them. PrerequisitesWhen we mention design patterns, the first thing to understand clearly is object-oriented thinking. I believe that even if you can’t describe it very...
My Tips for Improving Development Efficiency
Hi everyone, I’m Liusha, a programmer with nearly six years of work experience. My career has spanned companies with very different cultures and atmospheres. I’ve collaborated with many different types of people and observed numerous inefficiencies. At the same time, I’ve always felt that my own development efficiency is quite high. Throughout my career, I’ve rarely had to handle work tasks outside of my eight-hour workday. Even when forced to work overtime due to company policy, I was usuall...
Reducing Software Development Complexity Through Proper Design
For a programmer, the word most often mentioned in daily work is probably “complex” — this code is too complex, this logic is too complex. So, in this article, let’s take a thorough look at where “complexity” actually comes from and how to avoid it. The Origins of ComplexityLet’s first list what we’re actually talking about when we say something is “complex”: No module division, just a massive blob of code sitting there Large amounts of duplicate code The overall logic of the code is incom...















