30

49岁的程序员

 6 years ago
source link: http://mp.weixin.qq.com/s/G4KdOwoKNyTYOW3J3Wk7qA
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

49岁的程序员

陶建辉 爱倒腾的程序员 2017-10-04 15:11 Posted on

今天10月4日,中秋节,按身份证上的日子算,还正好是我49岁生日。太太带儿子去长春参加全国击剑俱乐部联赛,我独自一人在家。一早起来,习惯性的打开笔记本,翻了翻自己写的代码,顺手做了一个小的优化,让系统配置参数又少了一个。数了数自己的代码行数,发现6个月时间,居然已经写下了3万8千多行代码,这个代码量超过了我在美国工作十年的总和。

从1984年高一的时候开始写Basic语言程序到现在,程序员的生涯已经33年。虽然经常写程序,也喜欢写程序,但从来认为写程序太简单,不值得去专门学,因此大学和研究生念的是流体力学和天体物理。但离开校门,研究宇宙大尺度结构的我,无法靠天体物理养活自己,最终进了Motorola开始职业程序员的生涯。2007年,我还在Motorola上班,觉得移动互联网的春天真要到来,而移动互联网必须要有推送服务,因此应该做一推送平台,提供专业的移动推动服务。2008年初回到北京创办和信,自己写了约3000行代码,实现了一个现在还引以自豪的高效、省电、省流量的移动互联网推送引擎。2013年初看到智能硬件即将兴起,再次创业,创办快乐妈咪,技术门槛不高,本不想动手写任何一行程序,但研发团队搞不定胎心的计算,最后自己出手,把分析宇宙大尺度结构的方法用上,600来行代码实时准确的计算出胎心率。

Image

在我看来,程序员写程序,就象画家作画,是在创造作品,如果作品能被人欣赏,那就是最大的回报。从1984年起,我开发过无数的软件,但最让我得意的是两个,一个是1993年暑假用FoxPro帮姐姐开发的财务软件,20多年后,到今天,姐姐还在使用,打开软件,上面显示的还是“建辉电脑”。还有一个软件,是我在中国科大念书时帮科大高分子LB膜实验室开发的LB膜天平系统,其硬件软件还在天天运行,几百篇SCI论文的数据出自我开发的LB膜天平,现在打开系统,上面清晰的显示着“Tao Jianhui”。这两个软件,没有让我获得财务上的回报,但是最让我满足,有说不尽的自豪感,因为现在还在用,用的很好。

从念书到工作,一帆风顺,自命不凡,一直以技术高手自居。但一细想,这个技术高手的水分不小,因为世界上任何一款流行的软件,我都不是贡献者。幸运的是,我还没到写不了程序的那一天,仍有机会。一年前,我发现时序数据库这个细分市场可以大有作为。数据库是底层基础软件,与移动应用和网站类产品不同,更新变化慢,生命周期长,但技术门槛相当高。另外一方面,传统的数据库已经被研究了几十年,各种索引、存储结构都被研究透了,技术上和市场上已经很难有所作为。但由于移动互联网的发展,数据量高速增长,单机已经无法处理,必须依赖集群。数据库的核心技术现在是如何设计分布式系统,处理高并发、高效实时的数据同步、查询、计算了。而我从工作的第一天起,在通讯行业,一直做分布式系统,设计的系统历来都是支持热插拔、在线升级、无单点故障的,这些经验和技术能很好的运用到分布式数据库的设计上,我的知识结构和技能正好吻合,天助我也。因此决定再做一次程序员,开始编写程序。

花了几天时间搭建开发环境,熟悉开发工具后,就真的开干了。接近50的人,本认为与10年前比,效率应该下降不少。但没想到,有了明确的目标后,自己的潜能被完全挖掘出来,从2016年12月中旬起,持续两个月,每天平均工作12小时以上,写下了一万八千多行代码,实现了整个时序数据库的核心引擎。经过简单的对比测试,发现性能指标上远胜MySQL, MongoDB, Cassandra, Influx DB,Open TSDB等数据库,快至少10倍以上。这样的结果让我兴奋不已,决定正式注册公司、融资、组建团队,再一次走在了创业的路上。

获得薛蛮子和明势资本投资后,涛思数据(TAOS Data)6月份正式开张,一下就有了几个人的研发团队,不再是我一个人的战斗。但为保证质量和进度,没想只做指挥和所谓的架构设计,而是与大家一起,又集中精力编写代码。三个月之后,发现自己又贡献了两万行代码,将一个时序空间数据引擎变成了一个可以对外测试的产品TBase,离真正商业化的产品又近了一大步。

Image

过去的十个月时间,几乎天天都在写程序,改BUG。每当解决一个难缠的BUG,总是说不出的高兴,马上请团队一起吃饭。每当又发现一个巧妙的方法,让性能又提高一点,总忍不住马上与团队分享。每当被问题难倒,一定睡不安稳,一定会早早的起来想去解决它。每天十几个小时的开发,没有让我累倒,反而让我回到了20年前,脑子能高速运转起来。如果哪天没写上几行,总觉得还有什么事情没做。两周前在上海参加一个论坛,听着发言的同时,顺手就实现了Naggle算法,还测试通过,立马就有一股强烈的满足感和自豪感。

很庆幸自己一年前的决定,在老去之前,还有机会开发一款顶尖的有相当技术门槛的产品,能把自己多年积累的技术和经验全部用上。而且幸运的是,又再次获得薛蛮子和明势资本的天使投资,组建了一个精干但十分牛气的技术团队。根据TBase目前的测试结果来看,已经胜券在握。无论今后的市场推广如何,无论是开源还是商业化,我相信一定会有不少人喜欢这款产品,品味我设计和编程的美妙之处。如果能象我为姐姐开发的财务软件,为实验室开发的LB膜天平一样,20年之后,还有人在使用TBase的话,那时我一定会是世界上最开心的老头。如果儿子那时自豪的告诉他人,大家用的TBase的核心引擎是我父亲49岁时开发的,那便是我留给他的最大的财富。如果孙子还知道TBase和TAOS Data, 那便是我给他最大的传承。

前面两次创业的经历,让我看够了潮起潮落、云卷云舒。我最擅长的是写程序,所受的教育、训练能让我在这方面远胜他人,为何要去搞地推、运营、做一些表面红红火火,而不需要任何技术门槛的活呢?还是继续写程序,而且好好的写,用心去写,就像画家一样,用心去创作一幅作品,而不画应酬之作。希望10年后,无论TAOS Data是已经IPO还是小公司一个,我还在积极的为TBase贡献代码,20年后还能参与技术细节的讨论,还能动手解决BUG。我生命的最后一刻,希望还在计算机屏幕前。

钱再多,也难让人在历史上留下痕迹,但一幅好的作品却可以传承,让后人好好的品味。愿我领头开发的TBase成为传世之作,Leave a dent in the world!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK