My writing journey

Start with a failed share

My writing journey began at the end of 20. Since the department has a habit of sharing regularly, I confidently chose the theme of “Flutter Event Distribution”. At first I thought it would be simple sharing, like clicking on the usage and properties of components, but the sharing from the group was very deep. Although they have been using Flutter for less time than I have, they understand the system from a source code implementation and design perspective, while I just know more about the API.

After work during that time, I spent a lot of time to read the relevant source code and prepare to share. On the day of sharing, the effect was predictably poor. Because if the sharer just brainless reading source code, for the audience, very tedious, may not be careful to know there. After that sharing, I organized the content into four articles: explore the principle of Flutter event distribution from one click, clarify the principle of Flutter sliding with one diagram, practice the principle of Flutter sliding, and how to solve Flutter conflicts on Flutter. In retrospect, these articles were not particularly impressive, but they were the beginning of my writing journey.

Learn from successful sharing

After writing the above theme, I had a whim to summarize and sort out the two particularly good contents shared by my colleagues. Next blog post: It turns out I’ve been using setState() incorrectly. In this process, I started to learn the core rendering mechanism of Flutter technically, and I learned their good sharing ideas in writing. And began planning subsequent blog posts:

Plan and think independently

With a goal in mind, I began to read and analyze a lot of source code, and the quality of the article began to improve slowly. For example, after summarizing 30 examples, I realized that the layout principle of Flutter was reposted by the official official account of the Nuggets; ListView fluency doubled!! Flutter Caton analysis and General optimization was used as the model for The second phase of The Creators Boot Camp, and I was honored to be a judge of this event. In this process, my technical ability and recognition of others have been rapidly improved. Technically, I started to build a perfect knowledge system; I plan and practice some complex technical directions in my work. Besides writing, I also participated in the translation of Flutter documents.

Looking back, my growth in the past six months started from writing. I wonder what I have gained from writing.


What do I get out of writing?

The construction of knowledge system

The most direct harvest is the construction of knowledge system. Before this, although read a lot of source code, but is completely scattered, and only to understand the point. The writing process requires a thorough understanding of every point of knowledge in order to express complex design with simple sentences. There is a sentence also mentioned that “only deep, can shallow out”. At the same time, we also need to connect the knowledge points, so that we can gradually understand the system. In one of my articles, there may be more than one previous knowledge point. It is through writing that I deepen and connect these scattered points to build my knowledge system.

Improvement of thinking ability

I think the improvement of thinking ability is more important than the construction of knowledge system. Because different fields of knowledge are different, but the thinking is the same. This is manifested in two aspects:

Top-down dismantling

When I first started my blog, I would write a paragraph by hand and have a hard time figuring out what to write next. Later, when I was writing an article, I began to think about what I wanted to express in the article, and how to disassemble ideas and organize them. In this article, for example, after deciding on the topic, I listed the following structure:

First of all, I will think about whether the structure of the whole article is reasonable. Any omissions or logic problems? In this way, the theme of the article is clear, each paragraph serves to express the theme, and the logic between paragraphs is reasonable.

Once the structure is clear, the content of each node is populated. This process is also critical. We see a lot of technical books with similar catalog structures, but very different quality, and this is where the skills come in.

This thought process is not limited to writing, but can be applied to all aspects of life, such as technical planning, code design, writing, and reading source code, and even arranging an outing:

Plan to disassemble the problem first and then execute, is the premise of doing things well

Bottom-up thinking

When I first entered the workforce, my role was more to complete the development tasks assigned by my superiors, but actually there is a saying that “do 100 things P5, always P5”. It’s hard to grow when you’re always doing the tasks at your current level. What do we do when we’re not necessarily the ones assigning tasks?

Here’s the key: Think up or manage up

Here is an example I learned from Primary School Questions:

If you are looking for a hammer 🔨 and still can’t find it. Stop and ask yourself:

Why are you looking for this hammer? Oh, so you need to staple a picture on the wall.

So only a hammer can bind this painting? No, you can tape it to the wall.

So why bind the painting? This wall is too drab, you want to decorate it.

Is there another way to decorate this wall? There are many answers, not only binding painting this one answer.

In the process of deducing one problem after another, our problem was raised from finding a hammer to how to decorate a wall, and our perspective on the problem was constantly improved. This creates more problems and more solutions. Our perspective of thinking changes from a simple executor to a decision maker, and our cognition of things naturally improves. Then through the top-down way of dismantling, an ordinary thing can also do very brilliant.

Here I recommend a book called The Pyramid Principle, which tells us the training of these two kinds of thinking through multiple examples:


Pick up a few habits

In addition, I also developed some habits:

Goal setting

Setting a goal is important, our energy is limited, focus on some direction, let yourself sink deeper. But how to set goals? Understanding OKR’s practices is recommended. I also set a goal for myself, and I will review it at the end of the year

Accumulation and collection

In the camp sharing scene, someone asked how to improve their own height. This question I think is similar to the one mentioned above. It is also important to accumulate more of your own output. After collecting many scattered points, we find their correlation, which is the process of Angle raising.

Connect with others

It’s like writing, not for yourself, but for people with different knowledge backgrounds. How to Get people to your point immediately? I think it’s important to talk to others. Our technical solutions or articles are often based on our own cognition, but are they not always perfect and clear? Not necessarily, more communication with others, will find a different way of thinking.

The most important point

The above are some of my feelings, but the most important one remains:

Pick up your pen and start a new essay


The last

More questions about how to write, recommend everyone take a look at this activity recorded bytedance. Feishu. Cn/minutes/obc… .

Teacher Raxi’s sharing from the perspective of professional editing also touched me a lot (in the last part of the video).

If you’re interested in the rest of my content, I recommend you read the previous article:

ListView fluency doubled!! Flutter Carden analysis and general optimization will be open source this month

How do widgets, Elements and Render trees come into being?

ListView construction process and performance analysis

In-depth analysis · Flutter life cycle differences in different versions

The most detailed guide to the advancement and optimization of Flutter is collated in progressive Flutter or RunFlutter. Follow me, ask your questions, and get my latest articles