For a three-day Ask Me Anything (AMA) this week, the Nuggets invited Mr. Qian, author of Redis Deep Adventures and RPC Deep Understanding, to do a hot spot.

We’ve collected some questions and answers from our users.

About old Money:

  • Author of Redis Deep Adventure and RPC Deep Understanding
  • Ten years veteran of Internet distributed high concurrency technology, currently serving as senior back-end engineer of Ireader Technology. Proficient in Java, Python, Golang and other computer languages, developed games, made websites, wrote message push system and MySQL middleware, and implemented open source ORM framework, Web framework, RPC framework, etc
  • Nuggets column: juejin.cn/user/310467…
  • Zhihu column: zhuanlan.zhihu.com/codehole
  • The original author of the wechat public account “Code Hole”;
  • Github address: github.com/pyloque

Community partners ask questions

Want to know how the old money is constantly making the output of good articles? What motivates you to keep going? How to balance work and study? ─ @ White teeth every day

Old money, hello, I don’t know from which chance to pay attention to the public account, read the article of old money, harvest a lot, recently read redis small volume, it is very helpful for me to do business development. I also bought a lot of books, read a lot of blogs, opened an account and blog, and wrote a few, but there are so many authors out there who have written good series of blogs, it’s hard to break out of their range. And also can not be easy to understand the principle of clear, may be a kind of writing to write. So most of them give up halfway through. I have been working for a few years, but I am only 3 years younger than Lao Qian. Lao Qian has many fans now. I wonder how Lao Qian keeps producing good articles. What motivates you to keep going? How to balance work and study? Especially if you work overtime more, I hope old money will guide you

The purpose of my writing is to improve my knowledge level to a greater extent, because writing allows me to discover the defects of personal knowledge. In order to write an article, it takes a lot of time to understand the relevant knowledge points, need to read the source code, check stackOverflow, draw diagrams, write code, etc. I will treat each article as a small work of my own seriously. When this work is finished, I will feel a sense of achievement, which is probably the motivation for me to continue writing.

In the software industry, there is a debugging skill called “yellow duck debugging”. I think writing is similar to this. It is like you have a little yellow duck in front of you, and you are trying to introduce knowledge step by step to it, trying to make it understand. It’s not really the same thing to understand yourself and to be understood by others. Change the mindset of writing from being a show-off to being understood by the reader. It would be the icing on the cake if the reader could understand it and show off a little bit.

If we look down on the number of fans and strive to improve the quality of our works, fans and readers will naturally come. This is a natural process. Many technical articles are indeed available in the market, but it is a different work to speak in your own language, to flower with your own drawings and to write with your own code. Just like there are so many Redis books on the market, I still wrote my own Redis book, because I believe that speaking out in my own way can bring readers a different experience.

What was your original intention in writing the booklet? And what is the evaluation of the booklet product? What needs to be optimized? ─ @ Yin Ming

I wrote two short books in Denver, both of which sold well and had great content. What was your original intention in writing the booklet? And what is the evaluation of the booklet product? What needs to be optimized?

I wrote the book because I saw the Nuggets’ book and thought I could write something of this quality. Being able to write a book, however thin, is something that can add to your career. In addition, I find that technical writing is not only a dedication of knowledge, writing can let me see the shortcomings of my knowledge, prompting me to further consult materials to solve many problems put forward by myself, so as to make my technical knowledge more systematic and comprehensive. Every time I finish writing a section, I will feel a sense of achievement, just like the knowledge I output will never be forgotten by my brain.

I like the booklet very much, when I first saw the book list on the front page of the booklet, I was full of goodwill. It is cheaper than paper books, and more importantly, it is concise. It is a kind of reading between fragmentation and systematization, which allows us to accumulate many scattered hours for systematic knowledge learning. It’s also a good reading experience. I almost never use my phone to read an ebook, but the small books are different for me and are fine as long as the content isn’t filled with a lot of code.

Small volume production efficiency is high, from the beginning of writing to online, the whole process is 2 ~ 3 months. Any typos can be corrected online in real time, and for this I would like to thank the readers of the pamphlet for helping me correct so many typos ^_^. For paper books, it can be nearly a year before the author sees his work in print. There’s a mistake in the text, and you can’t retract it. Compared to writing a small volume, writing a paper book seems like torture.

Another benefit of a small book is the real-time interaction between fans and readers. It’s very rewarding to see thousands of readers interacting with you, as long as the content is good and the reader’s opinion of the author is positive. Be prepared for some drool if you don’t write well. Some people ask me why I can write such high quality works out, I think it may be because I am weak, too afraid of readers scold me ^_^.

The downside of the pamphlet is that it is still young and immature, and needs to feel its way through the river, with many lessons to be learned. I believe that the booklet model is excellent and very valuable. Also hope that more technical writers can also join the small book production team, let us work together to create a high quality technical works.

Finally, thanks to the Gold digger platform, I can only say that I am a public account writer before writing the first volume, which I have only been writing for a few months. After writing my first book, Inside RPC, I dubbed myself a technical writer in training. By the time the second Redis Deep Adventures came out, I was starting to feel like a professional technical writer. ^_^

How to work and study efficiently? — @Jiang Haibo

Dear Mr. Qian, since you have children, how do you balance your time with your children and your work? I see you must be very busy with your work and writing. And can you share your tips on how to work and study effectively? thank you

I am not too busy with my work, at least there are a lot of idle fish in the near future. That’s why I have time to do some technical writing. During the day, there are old people at home to help me look after my children. Every day when I come home from work, my children go to bed early. On weekends, I always spend some time to go shopping with my children, which is the most important parent-child activities at ordinary times. I tend to stay indoors and have few social activities, so I can concentrate on doing what I like in the rest of the time. If I run around all day, I will have no time and I will probably be impetuous.

All programming books on the market have a rule: the more basic there are, the less advanced there are. With the growing of my knowledge, most books on the market can not meet my needs, so I usually rely on network sharing, source code, Google, stackOverflow. Unless I’m interested in a new field, I buy basic books to get started. At work, when I am doing something, I will concentrate on it very much. I will wear headphones in the hope that I will not be disturbed. The quiet state and peaceful mood will improve efficiency.

Can you share how you have improved your skills in your spare time? ─ @ Lanwy

Can you share how you have improved your skills in your spare time

I have read a lot of technical books, the vast majority will take a cursory look, although the understanding is not deep, but a wide range of knowledge. The only way to really improve my skills is to write my own code. Only by writing the code can I realize that there are so many details to consider and so many knowledge gaps that I need to solve with Google and StackOverflow. In addition, it is also important to communicate and discuss with colleagues, if there is a good technical atmosphere, if not, then the leaders need to take the lead in building. If you’re bored and frustrated with learning a skill, consider beating around the bush. You may discover a lot of new things by learning about a slightly related skill nearby.

In terms of time, I invest a lot. I remember many years ago when I had surgery in the hospital, you know hospital is a very boring place, and I was still reading technical e-books on my iPad.

How to choose your own technology path? ─ @ RonyRen

Both volumes have already been started, but I can’t read them quietly. I am very lazy. I would like to ask: 1. Should I look for a job that fits my technical orientation, or a job that is slightly related to technology?

If you want to stay on the technical path, it is necessary to take the time to accumulate skills. Even if you’re looking for a “slightly technical” job, the more technical the better. Learning technology may be boring at the beginning, but as you make one work after another, your sense of accomplishment will increase day by day. Your attitude towards technology may be transformed from a simple job to a hobby, but it takes time and patience. The choice of life is like a pony crossing the river, it needs to be decided by itself.

How do I choose a back-end programming language? ─ @ DiDiQi

Hello, I am a front-end and now WANT to learn some back-end languages. I wonder if you could talk about the friendliness of Python, Java and Go for beginners? They say you can learn Python in 3 days. Is that true?

Python is recommended. It is easy to get started, but weak in performance, but still very popular in big cities. Go is also very good, it is suitable for PEOPLE who know C language or Python language, if you learn javascript suddenly want to learn Go, I’m afraid you will encounter a lot of obstacles, Go is a new language, the demand for it is increasing, although the recruitment demand is not very strong at present, but may continue to increase in the next few years. Personally, the Java language is probably the hardest to learn, although many readers may not agree. However, it is undeniable that Java language is the most widely used language, the easiest to find a job and the richest ecosystem. Although this language is criticized by many people as “old”, “heavy” and “stupid”, it is still very good to earn wages. 90% of Alibaba is Java language.

Finally, it is not easy to learn any language deeply, and it needs hard work.

How to balance multiple programming languages? — @Zhao Jiaxing

How do you learn and master multiple languages? I am currently using PHP, Python and Java, and I feel it is difficult to go into depth. Each language requires a lot of effort. How do you balance it?

It took me more than three years to learn each of these languages. Moreover, when I am learning a language, I should concentrate on accumulating knowledge and experience of this language. It will make people impatient to tread multiple boats. When you feel like you’ve mastered the language and done a lot of projects, you’ve got a lot of clarity and it’s time to try other snacks.

Learning a language is not only about its grammar, but also about how it works, the surrounding ecology, and the excellent open source projects. These are all things that need to be understood deeply and treated with an inquisitive and persistent research attitude. I used to hear that programmers should learn a programming language in one year, but now I find this wrong. It is impossible to learn a programming language in one year, at least not for a programmer with my qualifications. I need at least three years.

What are the secrets to working and studying efficiently? — @Jiang Haibo

Dear Mr. Qian, since you have children, how do you balance your time with your children and your work? I see you must be very busy with your work and writing. And can you share your tips on how to work and study effectively? thank you

I am not too busy with my work, at least there are a lot of idle fish in the near future. That’s why I have time to do some technical writing. During the day, there are old people at home to help me look after my children. Every day when I come home from work, my children go to bed early. On weekends, I always spend some time to go shopping with my children, which is the most important parent-child activities at ordinary times. I tend to stay indoors and have few social activities, so I can concentrate on doing what I like in the rest of the time. If I run around all day, I will have no time and I will probably be impetuous.

All programming books on the market have a rule: the more basic there are, the less advanced there are. With the growing of my knowledge, most books on the market can not meet my needs, so I usually rely on network sharing, source code, Google, stackOverflow. Unless I’m interested in a new field, I buy basic books to get started. At work, when I am doing something, I will concentrate on it very much. I will wear headphones in the hope that I will not be disturbed. The quiet state and peaceful mood will improve efficiency.


This issue of AMA community partners raised a lot of practical questions, thank old Qian for earnestly answering many questions for nuggets friends. For more q&A, go to Lao Qian’s AMA to read and discuss.


Old money AMA benefits: Nuggets booklet free code

Old Money picks the three questions he thinks are most valuable and gives the questioner a free code for each question, and the nuggets community gives the questioner a free code for each question based on the number of likes it gets. If you get a free code, check your email