
作者 |郑丽媛
责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
互联网有记忆。
从混沌开始到万物互联,从「程序英雄」到「平台诸侯」,中国计算机向互联网的发展经历了 60春秋时节,整个商业社会的形态已经重置,生态格局已经形成。
回忆过去,过去60 这一年也是这个创新创造者和中国程序员快乐恩怨的江湖时代。他们以代码为剑,热血沸腾。不同时代的技术人员共同为中国的计算机产业而奋斗,实现了今天的中国互联网。
在这位大师如林的互联网上,诞生了无数程序员,就像:
他,耕耘中国计算机产业 60第一台参与中国自主设计的电子管计算机(119 机),20 在20世纪60年代和70年代,开展了汉字处理和字符识别研究,并首次将联想功能应用于汉字输入。他是中国工程院院士——
虽然他已经退出江湖,但他在江湖上一直有传说。他被称为中国第一程序员,也是金山软件的创始人WPS 创始人。
华为消费者,他BG(CBG,Consumer Business Group)软件部总裁,负责 CBG战略、规划、研发、集成交付和生命周期管理。
毕业后,美国佐治亚理工学院博士在谷歌内核组工作,主要成立和领导 gVisor 项目。现任蚂蚁集团研究员,可信原生技术部负责人。
他,SequoiaDB 巨杉数据库联合创始人,曾在北美工作 IBM DB2 Lab,参与核心研发成员负责 DB2 世界上第一个核心引擎研发和分布式数据库 DB2 DPF 的研发。2011 年回国创业,自主研发金融分布式数据库 SequoiaDB,广泛认可技术行业和金融客户。
他,是2015 清华大学电子工程系毕业后,与清华大学电子工程系王宇教授、MIT EECS 韩松教授联合成立了深造科技公司 CEO 的,领导团队开发高效、深入的学习平台,致力于为自动驾驶、智能安全、云计算等行业提供集软件和芯片于一体的人工智能解决方案。深圳科技成立两年半,获得清华控股、金沙江风险投资、高荣资本、赛灵思、联发科、蚂蚁金服、三星等企事业单位三轮投资,最终以数亿美元收购。
他,00 新一代程序员代表,生于 2001 年,初一学习 C 。清华姚班大二,清华大学 2019 2018年第一次录取通知书获得者 代表中国国家队参加第一次 30 国际信息学奥林匹克竞赛(IOI)并获得金牌。
他,25 年软件开发经验,领导开发了巨人手写电脑、金山词霸、超级解霸。1999 年创办 CSDN,为中国 IT 员工提供全职生命周期服务,如知识传播、在线学习、职业发展等,致力于成为技术人员学习和成长的家园。他是CSDN 创始人&极客帮创投创始合伙人董事长。
不久前,他们聚集在长沙·中国 1024 程序员节现场,从 30 年代跨越到 00 在这个时代,根据经验分享不同时代的程序生活,看看中国互联网的发展和变化,回答当代程序员的困惑。接下来,我们将探索他们的技术时代,希望给更多的同行带来一些思考。
我不是程序员,而是从硬件开始。当时,当我从中国科学院分配到计算机研究所时,研究所制造了一个 104 机器(中国第一台大型快速通用数字电子计算机),然后我参与了 119 研发机器(第一台自行设计的电子管计算机)。
当时我们没有指令,没有语言,119 机器采用八进制,需要发出三条指令才能将一个区域转移到内存不是程序员,调机人员更合适。
到了第三代计算机,汇编语言出现了,但是汇编语言很难写。后来去加拿大工作的时候,接触到了 C 回国后,所有软件工程师都使用语言 C 语言,包括后来的汉字系统、程控交换机和打印机,使用 C 语言写作效率至少提高了十倍。
所以从程序员开始,我想 C 语言是最好的语言,使用 C 语言是一个合格的程序员。
当时第一版 WPS 我写了数百万个程序,因为高级语言中调用的函数需要100多个代码才能在汇编中实现,每个功能都需要一个一个地写,所以工作量很大。我很佩服一同事,他使用它 DeBug 编写代码,调试,然后存储执行代码。
当时写程序真的很难,但同时也很开心。当时为了解决。 Bug 功能,我们没有日夜写程序的概念,所以我们把自己关在一个房间里,饿的时候吃方便面,困的时候睡觉,经常带着问题睡觉。有一次在梦里想到解决办法,醒来的时候很兴奋的练习,结果真的成功了。我记得这个梦实现的代码是为了解决汉字输入法的中断问题。
当时,编写应用程序与操作系统是分不开的。硬件部分经常被调用,包括硬盘分配、存储、输出等。现在我很高兴回忆起那段时间。
我很少谈论另一种幸福。因为一开始我写的。 WPS 纯粹的兴趣,不想用它创业或赚钱,所以我去了中关村,看到很多人一夜之间使用盗版 WPS,当时我没有版权概念,很高兴看到很多人用。当时雷军破解了其中一个版本,所以我遇到了他。
之后,当我们到达华为时,我们开始制造无线程控交换机。当我们进入无线产品线时,我们只有30或40人。当时,产品容量无法满足市场我们开始这样做 iPaas 完全使用模块 C 写语言。当时我们一个周末写了3万多行代码。当然,有很多 Bug。
彼时的经历对我的成长有非常大的助力,让我快速全面地理解了整个电信网的系统。虽然我已经有十多年没做具体的研发工作了,但是曾经读书时和工作以后的记忆尤为深刻,看到代码有时还是心痒,会帮别人解释,这就很有意义。
前辈们分享上述解决方案 Bug 我特别感受到快乐。我在谷歌和蚂蚁集团都有解 Bug,程序员应该有这种快乐。
不同的是,作为长沙当地人,当被问及最快乐的时刻时,我想到了离长沙岳麓学院不远的青年宫。四年级的时候,妈妈送我去那里学电脑。当时学其他兴趣班很抗拒,但这是我主动学的,有一种开新门的快乐。
这种幸福也存在于我读博士时从算法转移到核心的时候,因为我接触到了新的领域。
自从接触到整个电脑,我的快乐主要来自两点:
创造。 我以前在学校学习游戏设计。有时候设计的结果被同学或者老师认可,我很兴奋。解决别人解决不了的问题。 在 IBM 有一次,有一次 DB2 写后,我发现汇编语言和 C 语言语义存在差异,导致优化器优化后存在 Bug。那时我特别喜欢 C 因为它和语言 CPO 指定汇编最接近,出现问题时可快速定位。
当你专注于技术时,你的幸福就会变得非常简单。你需要面对的只是一个问题,你试图解决它,你会感到非常简单的幸福。
后来初一的时候,我接触了算法的学科竞赛 C ,学习算法。
我的快乐与各位前辈也基本一致,就是享受自己解决问题的过程。还有因为现在学习编程的人很多,因此可以与学习相关方面的同学共同讨论,促进学习,这个过程对我来说也是非常开心的。
我的痛苦就是创业过程中遇到的很多困难。虽然我现在可以坦然地说,我当时看到有人用盗版 WPS 都很开心,但这确确实实影响了我的发展。在 1992-1993 年,那时候我连员工的工资都发不起。如果我只是打工的,那没关系,可我当时招了许多人,那时遇到的困难已经超出了我的能力范围。
后来我把雷军这些人招进来去管理事务之后,我发现我解脱了。所以我认为,
我认为做软件,跟随别人做是没有太大必要的,因为软件是需要往前走的。但这样,困难就又叠加了一层:你越往前看,别人就越不理解。我做软件,需要跟相关部门合作,要与公司申请投资,要交付给客户,都需要大家的理解。所以这是我一直遇到的最大挑战,这个问题我相信也会一直存在吧。
一开始很多事我们都是自己一个人面对,那时候只需要一台机器就很容易解决。不过,后面需要更多人参与,需要发挥团队能力时,就要面对很多问题了。这是我近十年来最大的感受,因为这是很多程序员必备的转身,只要能走过去,就能发挥自己更多的力量。
第二个痛苦与前面两位有些类似。我们开始都是做技术出身,在转为管理的过程中有很多事情是非常痛苦的。我原本不太喜欢做思想工作和谈心之类的,因此这就很挣扎。另外,我们自己的工作能力很强,一件事可能轻松就能做到 90 分,但你手下只能做到 70 分,这就需要你花两倍时间去培养。我原来是急性子,但做公司使我变得很有耐心。
其实,如果你迎上了这些困难,去做到了自己原本做不到的事,那对你永远都有好处。因此我也一直逼自己做一些不擅长的事,走过来了,就好了。
要敢于突破和创新。 软件工作者,有时候是有能力去完成一件事但却失败了,这可能不是你的程序有问题,而是应用变化了。要坚持。 你得有思想准备,坚持下去才能成功。有些时候关于计算机的事情很难,但我们努力去做,还是能够做成。
在创办企业之初,我是一个人写程序,发现事情做不完了再开始加人,后来就慢慢建立了团队,我是属于被驱动的。招人的时候,我是先找一个同样是写程序的,后来发现企业全部都是程序员,那时候才意识到,一个企业需要各种不同的人才,招人的时候才开始有其他的方向。
逻辑能力。 如果逻辑抽象不清晰,就无法从众多选择中抓住主要的点。学习能力。 因为软件发展很快,学习能力不足的话很快就会被市场淘汰。华为在人才上的淘汰率也不低,12% 左右。
关于带领队伍,我觉得非常简单,就是带着大家不断打胜仗,只要不断打胜仗,很多事情自然就有拥有了。
自驱力。 你为了什么去做一件事?图的是什么?正如求伯君老师所说,他是真的想把一件事做好。因此我认为驱动力很重要,拥有良好的驱动力能成事。责任感。 在能成事之际,也要肩负起所做之事带来的一些后果。我们今天写的软件,到了明天或成为一种负担,因为软件更迭,或被删除,或被取代。团队精神。 现在的大型软件是需要很多人协作的,一个团队、一个公司,甚至是与世界各地的程序员共同完成,因此我认为优秀的人才需要具备这种与人共事的心态。
技术能力。 技术就是写代码的能力,错误率、架构质量之类的指标。团队文化。 这一部分对程序员可能比较有挑战性,关于是否能以客户为中心,自我驱动力如何,以及团队沟通能力,需要具有团队精神。
我们已经被收购两年了(2018 年赛灵思收购深鉴科技),期间 130 多个人走了六七个人。被收购前,公司大部分员工都是以公司为荣,很少抱怨物质方面,而被收购后,理想和精神层面的驱动力减少,更多转变为了物质驱动力,因此会有很大不同。举一个例子,当时刚被赛灵思收购时,我问 HR 以后周六上班吗?因为那时这变成了一份工作而不是创业。
我至今还留在赛灵思除了物质方面,还因为两个方面的责任感:
一、赛灵思拥有 30 多年的历史,而这起并购是 2012 年到目前为止,唯一一家美国公司到中国来收购的高科技公司。在收购以后,赛灵思对我们很认可,也付出很多。因此我们要负责到底,不能还未交付足够的价值就离开。
二、要对我的员工负责,我留下来可以照顾他们,让他们安心。
(注:截止发文,AMD 以 350 亿美元宣布收购赛灵思)
我上大学之前,也有一个团队。这个团队给我的最大感受是:一个团队里面,最优秀的人越出色,整个团队的水平也会随之上升。虽然外界都说姚班很厉害,压力会很大,但我觉得这是挺好的事情,在合作中竞争的团队精神会对团队的发展很有帮助。
一个人往后台发展的话,读完博士或者硕士,年龄就要大一些,然后要在公司里真的做过系统或者工程,五六年才能完成一个,做完两个就要 40 岁以后了。因此我认为 40 岁以后才是程序员的黄金时期,才能创造世界级的工程。
因此在这个方面,中国软件的观念一定要扭转过来。
在转岗问题上,想成为软件管理者或者想成为标杆,需要具备三点特质:
一定要往前看。 这是做软件产品所需非常重要的洞察力,因为软件与硬件不一样,它变化太多了。如果往回做产品和技术,是不可能做到很大份额或者世界领先的。以操作系统为例,只有开创新的机会点,未来国产操作系统才有希望。学习永远不能停下来。 以个人为例,我每天花一小时学习,多年来雷打不动,John L. Hennessy / David A. Patterson写的《计算机体系结构》,我从第二版学到了第五版。因为如果你没有相关能力就无法管理团队,别人需要决策的时候,你没有自己的判断,就无法选择正确的答案。拥有逻辑抽象和布道的能力。 布道就是让别人理解你的想法,不论是对客户还是投资人,抑或是在企业里,只有对方理解了,才会对你的项目进行投资。
其次,构建生态跟做 TO B 完全不一样。做 TO B 时,交易发生的角色很清晰:提供者和客户。而构建生态时角色会变多:最终享受生态的消费者,各种生态贡献者,如软件贡献者,硬件贡献者,应用贡献者等等。如果这些人不能获得很好的利益平衡,生态很难走下去,所以生态比 TO B 复杂很多。
现在我仍然呼吁:10月24号应该为所有程序员放半天假。
CSDN旗下公众号全新
现在体验有
每日体验CSDN公众号搜索功能打卡
更多精彩推荐
☞开源数据库再创里程碑,PingCAP 获 2.7 亿美元融资
☞全球数百万台 Mac 疑似因 Big Sur 更新险酿计算灾难,苹果官方回应来了!
☞JavaScript 稳居第一、C# 连续下跌,调查 17000 名程序员后有了这些新发现!
☞中国第一代程序员潘爱民的 30 年程序人生
☞漫画:什么是 “千年虫” 问题?
☞万万没想到 Java 中最重要的关键字竟然是这个!
点分享点点赞点在看