重生之程序员的逆袭之路
8
总点击
陈燃,赵墨
主角
fanqie
来源
书名:《重生之程序员的逆袭之路》本书主角有陈燃赵墨,作品情感生动,剧情紧凑,出自作者“康梓潼”之手,本书精彩章节:猝死------------------------------------------:59。,盯着面前三块屏幕的代码,眼睛干涩得像砂纸打磨过。他已经连续工作了36个小时,咖啡喝了七杯,胃里翻涌着酸水。。,在35岁生日这天,还在亲自debug。,进度条卡在99%已经三分钟。陈燃的手指在键盘上悬着,随时准备处理可能出现的错误。。“燃石OS 3.0”,是公司未来三年的核心战略。去年立项时,他在董事会...
精彩试读
重生------------------------------------------“陈燃!陈燃!老师叫你!”。,眼前是一片模糊的白光。他的记忆还停留在出租屋的电脑桌前,胸口残留着那种窒息的钝痛。他下意识地抬手去**口——没有血,没有伤口,心跳平稳有力。“你发烧了?昨晚通宵打游戏了?”那个声音又响起来,带着年轻男孩特有的调侃。。他看见一排排老旧的CRT显示器,屏幕上是蓝底白字的Tur*o C++界面。空气中弥漫着机房特有的气味——灰尘、塑料和闷热的人体气息。,有人在敲键盘,有人趴在桌上睡觉。教室的窗户开着,九月的风吹进来,带着操场上的草腥味。“这个程序谁写完了?陈燃,你是没写还是不想让我看?”,一个戴眼镜的中年男人正盯着他。四十来岁,头发稀疏,穿一件格子衬衫,手里拿着一本《数据结构与算法》——那是他们大二上学期的教材。。路明远,数据结构课讲师,脾气暴躁但教学水平不错。上辈子陈燃在这门课上拿了90分,但路老师对他的评价是“闷葫芦,技术还行,不会说话”。,后来被无数面试官、合作伙伴、投资人重复过。。,手感极差,键帽上的字母都磨没了。他看见自己的手——年轻、修长、没有常年敲代码留下的腱鞘囊肿,没有那些被咖啡杯烫出的旧疤。,是他十岁时摔的。,这道疤在他二十多岁的时候就淡得快看不见了。现在它还在,颜色新鲜,像是昨天刚愈合。。坐在他旁边的是一个瘦削的男生,戴一副黑框眼镜,下巴上还有青春痘,头发乱得像个鸟窝。穿着洗得发白的T恤,胸口印着“N*A”的Logo——假的,一看就是地摊货。
张伟。
他大学四年的室友,睡在他上铺。毕业后就断了联系,后来听说他回老家考了***,再后来的消息,就是三十岁那年从单位顶楼跳了下去。
陈燃的眼眶突然湿了。
“你没事吧?”张伟被他的表情吓了一跳,“老师就是骂你两句,不至于吧?你又不是没被骂过。”
“各位同学,请把你们写的冒泡排序代码交上来。”路明远拍了拍桌子,“用软盘或者U盘,交到我这里来。没写的现在补,下课之前必须交。”
冒泡排序。
陈燃盯着屏幕上的Tur*o C++界面,脑子里翻涌着一百七十亿个念头。
时间——如果他没猜错的话——回到了他的大学时代。他瞥了一眼墙上的挂钟,上面贴着课程表:计算机科学与技术,2008级,数据结构与算法。
2008年9月17日。
大二上学期。
手机——如果他没记错的话——是一部诺基亚6300,银色外壳,放在书包侧袋里。他要确认日期。他要确认这一切不是梦。
但他现在最需要做的,是把冒泡排序交上去。
陈燃深吸一口气,将双手放在键盘上。
手指自动找到了位置。他闭着眼睛都能打代码。
#include <stdio.h>
void *u**leSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
十五秒。写完。
路明远的要求是写一个能运行的冒泡排序示例,包括主函数调用。没有复杂度要求,没有边界条件检查,甚至不需要动态输入。
按照这个标准,这段代码已经超了十倍。
陈燃又花了一分钟写完主函数,让程序生成一个随机数组,排序后打印出来。他把代码存到U盘里,站起来走向讲台。
路明远正在低头改作业,听见动静抬头。看见是陈燃,眉头微微皱起。“写完了?”
“嗯。”陈燃把U盘放在桌上。
路明远插上U盘,打开文件。他的表情从漫不经心变成了意外,然后变成了一种说不清道不明的东西。
他用鼠标滚轮上下翻了两遍,然后抬头看陈燃。
“这是你写的?”
“是。”
“你能解释一下为什么要用时间作为随机数种子吗?”
“让每次运行的随机数组不一样。”
“为什么要这样做?”
陈燃愣了一下。上辈子没有人问过他这个问题,因为这是常识。但在2008年,大二上学期,他们还没学到随机数生成器的种子机制。
“因为rand()函数生成的是伪随机数。”陈燃说,“如果不设置种子,每次运行生成的序列都一样。用时间做种子,可以让结果看起来更随机。”
路明远盯着他看了几秒钟,然后挥了挥手。“回座位吧。”
陈燃转身走回去。
背后传来路明远的声音:“写得不错。但你下次能不能别用随机数组?我想看的是排序本身,你让我看一屏幕乱数干嘛?”
教室里有人笑起来。陈燃没回头。他走回座位,坐下,然后从书包里翻出那部诺基亚6300。
屏幕亮起来。
***:中国移动。
日期:2008年9月17日,星期三。
时间:上午10:47。
他盯着这个日期看了整整十秒钟。
九月十七。他记得这一天。九月十三号,雷曼兄弟宣布破产,全球金融危机正式爆发。消息传遍了全世界,但在2008年的中国大学校园里,没有人在意这件事。学生们关心的还是魔兽世界更新到哪个版本了,食堂的***今天有没有多给两块。
陈燃在意。非常在意。
金融危机让所有互联网公司都收缩了**,他那一届的毕业生找工作的难度是往年的三倍。但与此同时,也正是这场危机催生了U*er、Air*n*这些共享经济的独角兽。
更重要的是,2008年9月,苹果公司的App Store刚刚上线两个月。
两个月。
全球的开发者还在观望,还在犹豫,还在问“手机上做应用能赚钱吗”。
陈燃知道答案。他知道在接下来的十四年里,移动互联网会造就多少亿万富翁,会消灭多少传统行业,会让多少个像他一样的程序员从出租屋搬到别墅。
“还我,一会还要打电话呢。”张伟伸手来抢手机。
陈燃把手机还给他,然后站起来,走向教室门口。
“你去哪?”张伟在后面喊。
“厕所。”
陈燃没有去厕所。
他穿过走廊,来到教学楼的露天连廊。九月的阳光炙热刺眼,操场上有新生在军训,穿着迷彩服,晒得黝黑。教官在喊**,学生们踢正步,有人在队列里偷偷抹汗。
远处的图书馆还是老样子,灰白色的瓷砖外墙,面向正门的墙上挂着八个大字:“实事求是,与时俱进。”
一切都是2008年的样子。
没有智能手机,没有人低头刷短视频,没有外卖骑手在校园里穿梭。路上的人手里拿着的是诺基亚、摩托罗拉、索爱。女生流行齐刘海,男生流行非主流发型。广播里放的是《北京欢迎你》。
陈燃靠在连廊的栏杆上,伸开双手,看着阳光穿过指缝。
他的手在微微发抖。
不是害怕。是肾上腺素。
他现在拥有的一切,是这个世界**何金钱都买不到的东西——十四年的未来记忆。
他知道哪家公司会成功,知道哪种商业模式会死,知道哪项技术是坑,知道哪条路是捷径。他知道2010年安卓会爆发,知道2012年O2O是风口,知道2014年移动支付会改变一切,知道2016年人工智能会让所有应用重做一遍。
他甚至知道自己在哪个时间点会被背叛,会被踢出局,会猝死。
这辈子,他不会让那些事情发生。
一个女生从对面走来。马尾辫,白色T恤,手里抱着一摞书。风把她的刘海吹起来,露出一张干净白皙的脸。
苏晚。
他的大学同学,隔壁班的,院里公认的才女。大三时拿了ACM**区银牌——那是他们学院有史以来最好的成绩。毕业后去了硅谷,进了Google,后来嫁给了一个A**,再后来就没有消息了。
陈燃上辈子和她唯一的交集,是大三时在图书馆自习,她坐在他对面。他偷偷看了她三个小时,一个字都没看进去。
然后就没有然后了。
他太怂。码农的社交能力,懂的都懂。
但现在——
“陈燃?”苏晚停下脚步,歪头看他,“你站这儿多久了?脸这么红,中暑了?”
他不知道是晒的还是因为别的什么。
“没事。”他说,“在想一个算法问题。”
苏晚笑了一下,是那种礼貌但不太相信的笑。她抱着书往前走了一步,然后突然回头。
“对了,你刚才在课上写的那个冒泡排序——”
“怎么了?”
“路老师让我告诉你,说你的代码风格不像大二学生。”她顿了顿,“他还说,如果是你自己写的,你很有天赋。如果你是抄的,你最好在他抓住你之前坦白。”
陈燃忍不住笑了。
路明远。上辈子他说陈燃“技术还行,不会说话”,这辈子换了个评价。
“你笑什么?”苏晚问。
“没什么。”陈燃说,“帮我转告路老师,代码是我自己写的。”
“你自己去说。”苏晚转身要走。
“苏晚。”
她停下来。
“你……在准备ACM?”他问。上辈子苏晚拿银牌的消息传遍了整个学院,但那是大三的事。现在是大二,她应该刚开始组队。
苏晚的眉毛挑起来。“你怎么知道?”
“猜的。”陈燃说,“你上学期算法课考了第一名,院里的人都记得。”
苏晚沉默了一下。“我正在找队友。你有兴趣?”
“有。”
“你的算法水平怎么样?”
陈燃想了想。如果告诉她,自己前世写了十四年代码,架构过日活千万的系统,优化过世界上最大规模的分布式数据库之一,她会不会觉得他疯了。
“还行。”他说,“至少不会拖你后腿。”
苏晚上下打量了他一眼。“行。下周ACM社团有选拔赛,你报名吧。成绩说话。”
她抱着书转身离开,马尾辫在风里晃来晃去。
陈燃看着她的背影,突然意识到一件事。
上辈子的这一天,在同样的时间,同样的位置,他也遇见了苏晚。但他低下头假装没看见,快步走开了。
一模一样的时间,一模一样的地点。
但他做了一个不一样的选择。
一个小小的选择。一个只有他知道不同的选择。
但也许,就是这一个选择,会让一切都不一样。
陈燃回到机房的时候,已经快要下课了。
路明远站在***做最后的总结:“下节课讲快速排序,预习第三章。今天的作业是用四种排序算法对比时间复杂度,下周一之前交。”
有人哀嚎,有人骂人,有人已经开始收拾东西。
陈燃坐回座位,打开笔记本。
电脑是联想昭阳E42,学校机房的标配,奔腾双核处理器,1G内存,装的是Windows XP系统。慢得像乌龟,但他的U盘里已经存好了今天写的所有代码。
他拔下U盘,放进口袋。
里面有一个.cpp文件,三百七十二行代码,是一个三消游戏的核心逻辑。
不是冒泡排序,不是在交作业的那个版本。
而是他在十五分钟前,趁所有人不注意时写的。
他用的是C++,写了一个基于控制台的三消游戏原型。没有图形界面,只有字符界面,但核心逻辑已经完全跑通了。
火焰消除。
这是他前世做过的第一款成功的手游。上线三个月,下载量破千万,收入过百万美元。
他记得每一行代码,每一个算法优化,每一个用户反馈的*ug。
他甚至记得当时的市场窗口——2008年圣诞节前上架,赶上App Store第一波红利,没有任何竞争对手。
陈燃合上笔记本,站起来。
路明远正好从他身边走过,停下脚步,看了他一眼。
“陈燃。”
“路老师。”
“你的代码我仔细看了。”路明远压低声音,“老实说,就算是我自己写,也不会比你写得更好。你以前学过编程?”
陈燃犹豫了零点几秒。
“自己学的。”他说。
“不错。”路明远拍了拍他的肩膀,走了。
陈燃站在原地,看着路明远近五年来第一次露出笑容的背影。
他想起上辈子,路明远在他毕业时说的一句话:“陈燃,你的技术我很放心,但你这个人,太闷了。走出去,多交点朋友,多看看世界。”
那之后,他就再也没有见过路明远。
听说几年后他评上了教授,但身体一直不好,五十岁出头就退了休。
这辈子,陈燃想请他吃顿饭。好好吃一顿,不是客套的那种。
他走出机房,走进九月灿烂的阳光里。
操场上军训的新生正在休息,有人唱起了歌,声音跑调跑到离谱,但所有人都在笑。食堂飘来午饭的味道,***、番茄炒蛋、米饭的蒸气。
一切都是活着的味道。
陈燃深吸一口气。
他是死过一次的人。
但现在,他活着。在2008年9月17日,上午十一点,活着。
他会让这一次,活得不一样。
张伟。
他大学四年的室友,睡在他上铺。毕业后就断了联系,后来听说他回老家考了***,再后来的消息,就是三十岁那年从单位顶楼跳了下去。
陈燃的眼眶突然湿了。
“你没事吧?”张伟被他的表情吓了一跳,“老师就是骂你两句,不至于吧?你又不是没被骂过。”
“各位同学,请把你们写的冒泡排序代码交上来。”路明远拍了拍桌子,“用软盘或者U盘,交到我这里来。没写的现在补,下课之前必须交。”
冒泡排序。
陈燃盯着屏幕上的Tur*o C++界面,脑子里翻涌着一百七十亿个念头。
时间——如果他没猜错的话——回到了他的大学时代。他瞥了一眼墙上的挂钟,上面贴着课程表:计算机科学与技术,2008级,数据结构与算法。
2008年9月17日。
大二上学期。
手机——如果他没记错的话——是一部诺基亚6300,银色外壳,放在书包侧袋里。他要确认日期。他要确认这一切不是梦。
但他现在最需要做的,是把冒泡排序交上去。
陈燃深吸一口气,将双手放在键盘上。
手指自动找到了位置。他闭着眼睛都能打代码。
#include <stdio.h>
void *u**leSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
十五秒。写完。
路明远的要求是写一个能运行的冒泡排序示例,包括主函数调用。没有复杂度要求,没有边界条件检查,甚至不需要动态输入。
按照这个标准,这段代码已经超了十倍。
陈燃又花了一分钟写完主函数,让程序生成一个随机数组,排序后打印出来。他把代码存到U盘里,站起来走向讲台。
路明远正在低头改作业,听见动静抬头。看见是陈燃,眉头微微皱起。“写完了?”
“嗯。”陈燃把U盘放在桌上。
路明远插上U盘,打开文件。他的表情从漫不经心变成了意外,然后变成了一种说不清道不明的东西。
他用鼠标滚轮上下翻了两遍,然后抬头看陈燃。
“这是你写的?”
“是。”
“你能解释一下为什么要用时间作为随机数种子吗?”
“让每次运行的随机数组不一样。”
“为什么要这样做?”
陈燃愣了一下。上辈子没有人问过他这个问题,因为这是常识。但在2008年,大二上学期,他们还没学到随机数生成器的种子机制。
“因为rand()函数生成的是伪随机数。”陈燃说,“如果不设置种子,每次运行生成的序列都一样。用时间做种子,可以让结果看起来更随机。”
路明远盯着他看了几秒钟,然后挥了挥手。“回座位吧。”
陈燃转身走回去。
背后传来路明远的声音:“写得不错。但你下次能不能别用随机数组?我想看的是排序本身,你让我看一屏幕乱数干嘛?”
教室里有人笑起来。陈燃没回头。他走回座位,坐下,然后从书包里翻出那部诺基亚6300。
屏幕亮起来。
***:中国移动。
日期:2008年9月17日,星期三。
时间:上午10:47。
他盯着这个日期看了整整十秒钟。
九月十七。他记得这一天。九月十三号,雷曼兄弟宣布破产,全球金融危机正式爆发。消息传遍了全世界,但在2008年的中国大学校园里,没有人在意这件事。学生们关心的还是魔兽世界更新到哪个版本了,食堂的***今天有没有多给两块。
陈燃在意。非常在意。
金融危机让所有互联网公司都收缩了**,他那一届的毕业生找工作的难度是往年的三倍。但与此同时,也正是这场危机催生了U*er、Air*n*这些共享经济的独角兽。
更重要的是,2008年9月,苹果公司的App Store刚刚上线两个月。
两个月。
全球的开发者还在观望,还在犹豫,还在问“手机上做应用能赚钱吗”。
陈燃知道答案。他知道在接下来的十四年里,移动互联网会造就多少亿万富翁,会消灭多少传统行业,会让多少个像他一样的程序员从出租屋搬到别墅。
“还我,一会还要打电话呢。”张伟伸手来抢手机。
陈燃把手机还给他,然后站起来,走向教室门口。
“你去哪?”张伟在后面喊。
“厕所。”
陈燃没有去厕所。
他穿过走廊,来到教学楼的露天连廊。九月的阳光炙热刺眼,操场上有新生在军训,穿着迷彩服,晒得黝黑。教官在喊**,学生们踢正步,有人在队列里偷偷抹汗。
远处的图书馆还是老样子,灰白色的瓷砖外墙,面向正门的墙上挂着八个大字:“实事求是,与时俱进。”
一切都是2008年的样子。
没有智能手机,没有人低头刷短视频,没有外卖骑手在校园里穿梭。路上的人手里拿着的是诺基亚、摩托罗拉、索爱。女生流行齐刘海,男生流行非主流发型。广播里放的是《北京欢迎你》。
陈燃靠在连廊的栏杆上,伸开双手,看着阳光穿过指缝。
他的手在微微发抖。
不是害怕。是肾上腺素。
他现在拥有的一切,是这个世界**何金钱都买不到的东西——十四年的未来记忆。
他知道哪家公司会成功,知道哪种商业模式会死,知道哪项技术是坑,知道哪条路是捷径。他知道2010年安卓会爆发,知道2012年O2O是风口,知道2014年移动支付会改变一切,知道2016年人工智能会让所有应用重做一遍。
他甚至知道自己在哪个时间点会被背叛,会被踢出局,会猝死。
这辈子,他不会让那些事情发生。
一个女生从对面走来。马尾辫,白色T恤,手里抱着一摞书。风把她的刘海吹起来,露出一张干净白皙的脸。
苏晚。
他的大学同学,隔壁班的,院里公认的才女。大三时拿了ACM**区银牌——那是他们学院有史以来最好的成绩。毕业后去了硅谷,进了Google,后来嫁给了一个A**,再后来就没有消息了。
陈燃上辈子和她唯一的交集,是大三时在图书馆自习,她坐在他对面。他偷偷看了她三个小时,一个字都没看进去。
然后就没有然后了。
他太怂。码农的社交能力,懂的都懂。
但现在——
“陈燃?”苏晚停下脚步,歪头看他,“你站这儿多久了?脸这么红,中暑了?”
他不知道是晒的还是因为别的什么。
“没事。”他说,“在想一个算法问题。”
苏晚笑了一下,是那种礼貌但不太相信的笑。她抱着书往前走了一步,然后突然回头。
“对了,你刚才在课上写的那个冒泡排序——”
“怎么了?”
“路老师让我告诉你,说你的代码风格不像大二学生。”她顿了顿,“他还说,如果是你自己写的,你很有天赋。如果你是抄的,你最好在他抓住你之前坦白。”
陈燃忍不住笑了。
路明远。上辈子他说陈燃“技术还行,不会说话”,这辈子换了个评价。
“你笑什么?”苏晚问。
“没什么。”陈燃说,“帮我转告路老师,代码是我自己写的。”
“你自己去说。”苏晚转身要走。
“苏晚。”
她停下来。
“你……在准备ACM?”他问。上辈子苏晚拿银牌的消息传遍了整个学院,但那是大三的事。现在是大二,她应该刚开始组队。
苏晚的眉毛挑起来。“你怎么知道?”
“猜的。”陈燃说,“你上学期算法课考了第一名,院里的人都记得。”
苏晚沉默了一下。“我正在找队友。你有兴趣?”
“有。”
“你的算法水平怎么样?”
陈燃想了想。如果告诉她,自己前世写了十四年代码,架构过日活千万的系统,优化过世界上最大规模的分布式数据库之一,她会不会觉得他疯了。
“还行。”他说,“至少不会拖你后腿。”
苏晚上下打量了他一眼。“行。下周ACM社团有选拔赛,你报名吧。成绩说话。”
她抱着书转身离开,马尾辫在风里晃来晃去。
陈燃看着她的背影,突然意识到一件事。
上辈子的这一天,在同样的时间,同样的位置,他也遇见了苏晚。但他低下头假装没看见,快步走开了。
一模一样的时间,一模一样的地点。
但他做了一个不一样的选择。
一个小小的选择。一个只有他知道不同的选择。
但也许,就是这一个选择,会让一切都不一样。
陈燃回到机房的时候,已经快要下课了。
路明远站在***做最后的总结:“下节课讲快速排序,预习第三章。今天的作业是用四种排序算法对比时间复杂度,下周一之前交。”
有人哀嚎,有人骂人,有人已经开始收拾东西。
陈燃坐回座位,打开笔记本。
电脑是联想昭阳E42,学校机房的标配,奔腾双核处理器,1G内存,装的是Windows XP系统。慢得像乌龟,但他的U盘里已经存好了今天写的所有代码。
他拔下U盘,放进口袋。
里面有一个.cpp文件,三百七十二行代码,是一个三消游戏的核心逻辑。
不是冒泡排序,不是在交作业的那个版本。
而是他在十五分钟前,趁所有人不注意时写的。
他用的是C++,写了一个基于控制台的三消游戏原型。没有图形界面,只有字符界面,但核心逻辑已经完全跑通了。
火焰消除。
这是他前世做过的第一款成功的手游。上线三个月,下载量破千万,收入过百万美元。
他记得每一行代码,每一个算法优化,每一个用户反馈的*ug。
他甚至记得当时的市场窗口——2008年圣诞节前上架,赶上App Store第一波红利,没有任何竞争对手。
陈燃合上笔记本,站起来。
路明远正好从他身边走过,停下脚步,看了他一眼。
“陈燃。”
“路老师。”
“你的代码我仔细看了。”路明远压低声音,“老实说,就算是我自己写,也不会比你写得更好。你以前学过编程?”
陈燃犹豫了零点几秒。
“自己学的。”他说。
“不错。”路明远拍了拍他的肩膀,走了。
陈燃站在原地,看着路明远近五年来第一次露出笑容的背影。
他想起上辈子,路明远在他毕业时说的一句话:“陈燃,你的技术我很放心,但你这个人,太闷了。走出去,多交点朋友,多看看世界。”
那之后,他就再也没有见过路明远。
听说几年后他评上了教授,但身体一直不好,五十岁出头就退了休。
这辈子,陈燃想请他吃顿饭。好好吃一顿,不是客套的那种。
他走出机房,走进九月灿烂的阳光里。
操场上军训的新生正在休息,有人唱起了歌,声音跑调跑到离谱,但所有人都在笑。食堂飘来午饭的味道,***、番茄炒蛋、米饭的蒸气。
一切都是活着的味道。
陈燃深吸一口气。
他是死过一次的人。
但现在,他活着。在2008年9月17日,上午十一点,活着。
他会让这一次,活得不一样。
推荐阅读
相关书籍
友情链接