Two weeks ago, Taosi Data officially announced the completion of the B round of 47 million US dollars of financing. A 40-person team has received nearly US$70 million in investment from Sequoia, Jingwei, GGV, Mingshi, etc. in four years. The valuation has exceeded US$300 million, and the per capita valuation has exceeded RMB 50 million. After the news was announced, there were many surprises. Myself, a 53-year-old programmer, is even more deeply moved. I was already at the age of traveling, but with more than 18,000 lines of programs written in early 2017, I started my third entrepreneurial journey, and I continued to gain the favor of capital, and I was able to continue to toss and pursue my dreams. . Have a leisure time on the weekend, sum up your own mental journey, and share with you.
One person, two months, 18,000 lines of code
In 2016, I looked at many IoT and smart hardware projects, and found that everyone is using a general big data platform to process IoT data, which is not efficient, complicated in operation and maintenance, and generally complains that big data technical talents are hard to find. Especially many traditional companies want to do digital transformation, but due to issues such as remuneration and management methods, it is even more difficult to find big data technical talents.
As a researcher, seeing so many common pain points, my first reaction is to solve these problems in a technical way. After analyzing the characteristics of IoT data (for details about the characteristics of IoT data, see my previous article: Why should I develop a dedicated IoT big data platform and open source it?), I think I can make full use of these characteristics to design and Realize a new storage and computing engine and develop an All in One IoT dedicated big data platform, which can greatly reduce the complexity of software system design and maintenance, improve data processing efficiency, and reduce total cost of ownership.
Considering the rapid growth in the number of connected devices, I expect that more than 90% of the world’s data will come from the Internet of Things in the future. This will be a huge market that requires a dedicated and efficient big data platform to process. So I judged, This is an excellent entrepreneurial opportunity.
After having this idea, I naturally thought of forming a team to do it, and I only set the direction and participate in the overall design. However, after careful consideration, I found that it is very unreliable, because the big data platform is the underlying software. Apart from the innovative design, the engineering implementation is very difficult, and the requirements for programming are extremely high, which is not competent for ordinary programmers. As an entrepreneurial veteran, I deeply understand that for entrepreneurial projects such as IoT big data platforms, technology is the core, and founders must be deeply involved in product development, otherwise they will lose control. Therefore, I decided to do it alone, first to make Prototype, to verify whether my innovative design of "one data collection point, one watch" and "super watch" can completely outperform existing products in the market.
The first line of my life program was written in 1984, when I was in the first year of high school. Because of Deng Xiaoping’s sentence "The computer should start from the baby", the Changsha County No. 1 Middle School where I was studying was lucky enough to get 6 Lasers from the League Central Committee. 310. Since then, I have forged a fate with programming for nearly 40 years. Later, whether I was studying at the University of Science and Technology of China, studying in the United States, or working in companies such as Motorola, 3Com, etc., I wrote too much code. But since I started my own business in 2008, although the core code of the product is written by myself, such as Hexin’s push engine and Happy Mom’s fetal heart rate calculation, I don’t fight on the front line most of the time, so it’s hard to say myself. Is a master of research and development.
But nearly 40 years of "code age" experience and continuous entrepreneurial project experience convinced me that everything is not a problem. Within a few days, I picked up vim, cscope, gdb, valgrind and other tools that I was familiar with before. I wanted to use the fashionable Go language to develop, but I thought that the most famous database in the world was written in C language, and I was a proven C language programmer, so I finally decided to use C language to develop.
At the end of December 2016, I officially started writing code. It lasted for two months, worked an average of 12 hours a day, and wrote 18,000 lines of code. The basic comparison test proved that my innovative design can completely outperform the existing products in the market.
53 years old, ushered in the pinnacle of research and development
After the product prototype was verified, coupled with the confidence in the future broad market of the Internet of Things, I successfully obtained angel investment from Mingshi Capital and Manzi Fund, and started to form a team.
I think that low-level software development is useless with many people, and startups need ten times more programmers, so the selection of people is extremely strict. The size of the team has always been small. In the first year and a half, it included myself, Sheng Liang, Hong Ze, two masters and brothers, and Dr. Liao, who graduated from the Institute of Computing Technology. There were only 4 programmers who worked day and night in writing programs and debugging, plus two degrees. Old entrepreneurial partner Wang Jing is responsible for all non-R&D work.
In August 2018, Taosi Data released the first official commercial version of TDengine, confirming that the product is positioned as a big data platform for the Internet of Things All in One. As of July 2019, there were only 7 people in the Taosi team, and 6 of them were programmers.
Looking back now, the difficulty of TDengine's technical development far exceeds my original expectations. Although the product is easy to use and has excellent performance, stability problems have been plagued us. Holding the creed that the company is about to close when the product is unstable, and the determination to bite the hard bones of technology, my team and I have refactored TDengine many times. In particular, version 2.0 completely overturned the original code and design, rewritten various modules, increased testing, and improved the stability to the point where the product can be used commercially.
As I always have to deal with various difficult technical problems, such as memory leaks, memory overwrite, etc., my own technical level and practical ability have also been continuously improved. In order to completely and systematically solve the problem of resource lifecycle management in the multi-threaded asynchronous call scenario, I wrote the tref.c module, which improved the stability of the system by an order of magnitude. During the entire epidemic in 2020, I submitted nearly 200 PRs for TDengine, solved too many BUGs, and wrote many internal technical blogs to analyze various specific technical issues.
In this way, when I was half a hundred years old, not in the United States, but in China, I ushered in the pinnacle of my own technical level. So, where is the 35-year-old mantra of programmers, as long as you want to write, love to write, and continue to write, the peak is at the next stop.
Open source has brought great changes
Good products need good promotion. After thinking about how to make the Internet of Things, Internet of Vehicles, Industrial Internet and other industries use TDengine as soon as possible, we finally decided to open the core code completely.
In an uneasy mood, in July 2019, Taosi Data announced that it would officially open source the stand-alone version of TDengine. In August 2020, we will open the cluster version again.
The effect of open source far exceeds expectations. In the GitHub global trend list, TDengine has been at the top of the list for many days. Now the number of TDengine's stars on GitHub has exceeded 15K, the number of forks has exceeded 3800, the number of people cloning codes has exceeded 1000, and the number of new TDengine instances added has exceeded 200 every day.
Every day I see these numbers, I am very excited, because it shows that the program I wrote has been recognized by everyone, and the debugging day and night is not in vain. What makes me even more happy is that with the efforts of the sales teams of Li Guang and Jiang Yi, although the code is open source, sales revenue has doubled. This allows us to prove the closed loop of business and prove that the Open Core business model is feasible in China.
Due to the success of open source, we quickly gained the attention of capital. In January 2020, Taosi Data obtained the Pre-A round of investment from GGV Jiyuan Capital and Sequoia China Seed Fund; in April 2020, it also obtained the A round of investment from GGV and Sequoia China; two weeks ago, it obtained Jingwei again China, Sequoia China, and Index Capital’s US$47 million Series B financing; the total amount of financing before and after is close to US$70 million.
Due to the success of open source, we have also won the favor of technical experts. A friend of many years, Steven, who is far away in Silicon Valley but has been helping Taosi data, finally joined full-time; student Yihao who has been doing database research and development at 360 joined, and student Pan Wei who was doing research and development at Huawei and Oracle joined; and has been working in technology entrepreneurship. Ming Lei and Wei Can, the masters of science, joined in, and Li Chuang, who was doing the research and development of underlying storage at NetEase, joined, and there were many more.
Our original 5-person team has finally grown into a team of more than 40 people. In addition to research and development, there are finally full-time personnel and full-time finance. Xiao Bo, my partner in the two previous ventures, joined and formed a professional delivery team.
The golden age of programmers
In 2000, many people said that IT has reached its peak and it is best not to engage in software development. Up to now, 20 years have passed, the number of IT professionals in China is estimated to be 10 times that in 2000. You may not imagine that more than half of Ford's employees are software engineers, Suning has more than 10,000 software developers, and Ping An has more than 10,000 software developers. Software has become the growth engine of various companies. And with the deepening of digital transformation, the scale of software R&D personnel will be further expanded.
The most exciting thing is open source, which allows programmers to enter the golden age. Open source allows programmers' codes to become works. Like painters' paintings, they can be appreciated, used, and passed on by programmers all over the world. For closed source software, this is impossible. The core database module you developed in Oracle, no matter how elegant the design, the transaction processing module you designed for the e-commerce backend in Alibaba, no matter how powerful the high concurrency capabilities, cannot be appreciated or amazed. But after open source, everything has changed. As long as your code is good enough to solve major problems, it will definitely become a masterpiece. Even if there are flaws, latecomers can also modify on your basis, but your name will always be engraved on the code, and will not be overwhelmed by history.
Open source will enable programmers to have the ultimate pursuit of their own code quality. Before deciding to open source TDengine in July 2019, the Taosi data team spent several months sorting out the code and writing documentation, with the goal of not making it too ugly and criticized. If we don't open source, we don't have the motivation to do it, because users can't see it. To start the development of TDengine 2.0 at the end of 2019, it is even more so. It is to make the design and code of TDengine more elegant, and the structure clearer, so that other programmers can enjoy a sense of happiness and beauty when looking at it. I have also shown the code of TDengine to non-R&D colleagues, and they can understand the general logic of a piece of code without a technical background. All this is due to open source. Every line of TDengine's code is knocked out with the idea of "This is my own work" and "This is to be shown to global developers".
If you go to GitHub download or even fork our TDengine code, it is the appreciation of the exquisite works we have dedicated to creating, and the greatest support for our open source.
Open source provides programmers with an excellent opportunity to show their personal abilities. Whether you graduated from the Tsinghua Yao Class or the Second School, whether you are born in the 90s or born in the 60s like me, whether you are a boy or a girl, whether you are a major in computer science, or I graduated from a major in astrophysics, Whether you are in the Eastern Hemisphere or the Western Hemisphere, "show me the code". The code is the best proof of your strength.
Open source code allows everyone to discard prejudice and see the real value behind a programmer.
What a 53-year-old programmer can do, so can you!
I created Taosi Data at the age of 49 and developed the first version of TDengine by myself, and then led the team to continuously refactor and iterate the product. At the age of 53, I slowly left the front line of R&D and focused on operation and management, but I believe that as long as I need to, I can return to the battlefield at any time and work with my friends to debug and solve technical problems. And I firmly believe that even if I am 80 years old, as long as I can move, I can still write programs.
In China, it is generally believed that 35-year-old programmers are no longer competitive and need to do technical management or change careers. Looking closely at software research and development, although applications are constantly changing, various new architectures are emerging in an endless stream, and programmers need to learn new knowledge every day, but in fact, the basic methods and principles rarely change. For example, the processing of big data is nothing more than a specific implementation of Divide and Conquer. Partitioning and sharding technology is a natural thing. It is highly reliable and highly available. For me, a veteran of the communications industry, it is also in the new In the scene, it's just frying the rice again, nothing new. There is no essential difference between the processing of time series data and the processing of message queues, but the part of calculation and analysis is added.
In fact, human beings have been very slow in making breakthroughs in the basic principles and methods of science and technology. As long as programmers have mastered the basic principles and methods of IT technology, love to write, want to write programs, and have the determination to roll up their sleeves, age is no longer a problem, and every line of your code will be recognized and rewarded.
My son loves fencing, and coach Miller said: "Scores don't determine if you lose or not, you do. Throwing down your sword and mask is true defeat". As a programmer, the same is true. Age and skill level are not that important, but only when you stay away from the keyboard and no longer fight in Coding, you are really eliminated by the world.
Tao Jianhui
June 6, 2021 in Wangjing, Beijing
The original text was first published at: https://mp.weixin.qq.com/s/iT-wWGskSJdtAkJsOLJWuw
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。