⼗倍程序员的进阶之路,从基础软件 TDengine⼯程师⽂化说起 陶建辉 TDengine创始⼈&核⼼开发 北京涛思数据科技有限公司 讲师简介 请插入您的照片 陶建辉 TDengine创始⼈&核⼼开发 陶建辉,TDengine的创始⼈与核⼼开发。1994年到美国留学,1997年起,先后在芝加哥Motorola、3Com等公司从事⽆线互联⽹的研发 “ ⼯作。2008年初回到北京创办和信,后被联发科收购。2013年初创办快乐妈咪,后被太平洋 ⽹络收购。2017年5⽉创办涛思数据,专注物联⽹⼤数据的处理,产品TDengine开源后,在GitHub全球趋势排⾏榜上多⽇排名第⼀。涛思数据已获红杉、GGV、经纬、明势资本等多家机 构的近7000万美元的投资。 ” www.top100summit.com Contents 01程序员35+岁⻔槛是个伪命题 02技能专注&⼯程师全球视野 03追求卓越的研发⽂化 04产品专注&产品全球化 05成功交付&⾼效开发⽅法论 www.top100summit.com www.top100summit.com 程序员35+岁⻔槛是个伪命题 www.top100summit.com 美国vs中国 美国:头发花⽩的⽼程序员,依然可以在公司的程序员中担当顶梁柱的⻆⾊ 中国:“35+”⻔槛、程序员是吃⻘春饭 稍微有点经验的程序员,都想要转到商务、管理职位去 国内程序员之所以“⼀到年龄”就转岗,⽆外乎两个原因: 都想吃ToC红利 国内⼤部分程序员都是做应⽤开发,⽽应⽤开发变化太快,今年⼀个框架,明年⼜是⼀个框架,如果不学习,很容易被淘汰 研发⼈员的⼯资相对管理岗位⼯资⽽⾔,偏低 www.top100summit.com TDengine研发年龄分布 TDengine研发团队: ⼯作经验丰富的35+⼤龄资深程序员(占⽐:50%) 知名学府毕业刚刚踏⼊社会的初⽣程序员 “⻩⾦年纪”程序员 我⾃⼰: 54岁“⾼龄”程序员 从1984年⾼⼀的时候开始写Basic语⾔程序到现 在,程序员的⽣涯已经39年 www.top100summit.com Q1 为什么这么多35+的⼤龄程序员却能在涛思数据做的很好? Q2 对程序员来说摆脱35+魔咒的⽅法到底是什么? www.top100summit.com 赛道选择的重要性 应⽤软件开发: 需求变更频繁,个⼈的健康、技术的积累都很难得到保证,这种⽅向天然对⼤龄程序员不够友好 基础软件开发: 迭代速度相对稳定,对⽐起来产品对外提供的接⼝、功能都是相对固定的 ⼤龄程序员有更多的技术经验,更有助于底层软件产品的细致打磨和开发 www.top100summit.com 增强⾃身竞争⼒ 01 程序员的⼯作是世界上最好的⼯作 02 如果35+是个减分项 那你可以修炼其他加分项 www.top100summit.com 技能专注&⼯程师全球视野 www.top100summit.com 美国vs中国 01 中国软件⼯程师数量⼤约有700万,美国软件⼯程师⼤约440万 02 中国程序员加班普遍严重,⽽美国加班、超负荷⼯作的也有,但不是普遍现象 03 ⽆论是应⽤软件还是基础软件,中美差距相当之⼤ 为什么中国的996⼲不过美国的955? www.top100summit.com 美国vs中国 美国:⼀辈⼦只做⼀件事情,就是写程序,就算成为管理者也仍然能随时写程序 在某⼀领域的⻓期积累,让他们虽然是955但仍然在这⼀领域是⼗倍程序员 中国:程序员普遍认知,35+⽆法做到管理层,就要改⾏ ⼴泛学习但很少在⼀个领域深⼊学习 ⾃⼰::只做C语⾔开发,⽽且只在UNIX系统上做,⼏乎不碰其他编程语⾔;⼏乎不碰IDE类的研发⼯具,vim,cscope,gcc,gdb,valgrind⼏个研发⼯具⽤了快30年 www.top100summit.com 做⼀个专注的开发者 “对个⼈⽽⾔,⻓期的专注产⽣的价值远超过追逐时髦的收获。 只有成为⼀个细分领域的绝对专家的时候,你的身价才有市场溢价的可能。 ” www.top100summit.com 个⼈的全球视野 为什么中国程序员⽐美国程序员更加好学努⼒,但全球的影响⼒却不在⼀个层级? 01 02 领先性:从历史⻆度讲,在IT领域,美国毫⽆疑问是领先的,中国只是追随者先进性:美国掌握着IT领域更为前沿的技术 03 创新性:作为后来者,开发的产品创新性不够,价值就会缩⽔ 04 在全球舞台,发声太少:⼏⼤主流的IT交流平台,⽐如hackernews,reddit等,包括LinkedIn,youtube上,发声的中国程序员寥寥⽆⼏,⾃然没有影响⼒ www.top100summit.com 如何打造全球视野 01 从习惯看中⽂的资料、教材、论坛、技术博客,到看英⽂的 02 ⽤中英⽂两种语⾔分享技术博客,往⼏⼤主流的IT交流平台上同步发表 03 多多参加GitHub开源项⽬,与全球开发者进⾏技术探讨(TDengine开源地址:https://github.com/taosdata/TDengine) www.top100summit.com 追求卓越的研发⽂化 www.top100summit.com 追求卓越 TDengine的研发⽂化是追求卓越的⽂化: 01 任何细⼩的⼯作,都应该以全球或同⾏先进⽔平作为指标 02 达不到标准的,都应该⾃觉学习,并在有限的时间内达到⼯作标准 www.top100summit.com 卓越的表现之⼀:产品性能 01 相对通⽤数据库,读、写、数据压缩性能⾄少⾼⼗倍以上 02 充分利⽤时间序列数据的特点,构建了⾃⼰的缓存、流计算和数据订阅功能 03 可将典型的物联⽹、⻋联⽹、⼯业互联⽹⼤数据平台的总拥有成本降低⾄少50% 04 TSBS基准测试结果显示,相对于InfluxDB、TimescaleDB,性能也是远超(进⼊TDengine官⽹www.taosdata.com可查阅完整报告) www.top100summit.com 卓越的表现之⼆:产品的易⽤性 01 TDengine⽀持各种数据源,不需要⼀⾏代码仅需做少量配置即可将数据写⼊ 02 采⽤标准SQL做查询和流式计算,⽀持各种编程语 ⾔,没有学习成本,可⽴即上⼿ 03 可以通过TDengineCloud⽴即使⽤体验,快速验证 ⾃⼰的应⽤场景 www.top100summit.com 卓越的表现之三:产品的稳定性 01 02 03 形成了基于GitHub的完整CI/CD流程测试代码接近百万⾏ 全⾃动测试 04 2600核机器7x24h⼯作 www.top100summit.com 产品专注&产品全球化 www.top100summit.com 产品⾼度专注 01 美国 众多的软件公司都只有相对单⼀的产品 02 中国 给客户的产品总是⼤⽽全 www.top100summit.com 如何做? 01 以数据库为例,全国有名号的数据库产品⾄少200款,996的情况下⼈⼒和财⼒的投⼊远不敌Oracle, SQLServer、MongoDB 02 03 在⼤量开源软件存在的情况下,⽆论是在中国还是美国,任何⼀个细分市场,都只有前三名才能⽣存TDengine只做时序数据库,从5个⼈到80多⼈,坚持六年时间投⼊⼤量⼈⼒物⼒只打磨这⼀款产品 www.top100summit.com 全球化思维 在软件产品的全球市场定位上,中美之间的差别⼜是天壤之别: 美国:任何⼀家公司的软件或互联⽹服务,产品定位都是服务全球客户 中国:99%是服务中国的客户,还有更多的想的是国产替代的⽣意 出现这⼀现象的原因分析: 语⾔障碍 认知错误,认为中国市场⾜够⼤ 软件出海难度⼤ www.top100summit.com 如何⾛向全球 01 依靠颠覆式的技术 02 依靠创新的商业模式——开源 以TDengine为例,开源带来了: 439.4k全球安装实例 22.3kGitHubstar 美国的商业化客户 www.top100summit.com 成功交付&⾼效开发⽅法论 www.top100summit.com 以终为始 WorkingBackwords是⼀提⾼⼯作效率的极为有效的⽅法,核⼼如下: 01 做任何事情,我们⼀定要先清楚⽬的和⽬标 02 很多时候,我们对问题或任务只有⼀个模糊⽽不清晰的了解 03 如果对要解决的问题和任务有清晰的描述,其实问题已经解决了⼀半 04 不仅问题很清晰,⽽且解决的步骤、计划反复推演了,问题已经解决了⼤半 05 初期的投⼊时间多,⼤⼤节省了后续的时间,⽽且让任务的完成时间可预期 www.top100summit.com 产品开发五步⾛ 按照“以终为始”的做事原则,我们⼯作的先后顺序应为: 01 02 03 起草新功能、⼤版本的宣传稿起草好⽤户⼿册 04 05 模块划分,定义模块API模块本身的设计 编码、测试,不断迭代 www.top100summit.com 研发的考核指标 我的考核指标仅仅⼀个:是否完成JIRA上分配的关键任务 www.top100summit.com 陶建辉/JeffTao Email:jhtao@taosdata.com Wechat:TDengine-CEO Weibo:陶建辉-Jeff 微信公众号:爱倒腾的程序员 github.com/taosdata www.taosdata.com 微信官⽅公众号:壹佰案例关注查看更多年度实践案例