众所周知,雷军本就是一位超级厉害的程序员。他曾经这样评价自己的编码水平:“我没写过诗,但是有稿陆缺人评价我写的代码像诗一样优雅。”
好吧,有被凡到。
尽管很多人曾因为雷总过于浓密的发量而怀疑他作为程序员时的水平。但是从雷总的语气中我们可以感觉到他对于自己编码能力的自信。
不得不承认,同样是程序员,普通程序员和大神的差别是巨大的。
当普通程序员尝试重构一个简单的模块
当大神级程序员重构代码
普通程序员做的多线程
大神级程序员做的多线程
是否过于真实?刚入门的小白程序员流下了羡慕的泪水。。。
另外,据不权威调查显示,大神程序员的生活作息远不同于普通人类,基本上是昼伏夜出。果然,大神早已非正常人类,不食人间烟火。有图为证(第一列是时间,第二列是代码行数。)
这是FFmpeg的作者FabriceBellard的编码时间表,能看出来,越到晚上灵感越强啊。额键辩,不过,这位大佬是会睡着睡着觉灵感突发蹦起来提交代码的吗……
而这是LiveJournal的作者BradFitzpatrick在memcached项目上的时间表。
典型的夜猫子,昼伏夜出,每天只睡四个小时。
仁慈的独裁者,Python之父Guidovan Rossum同样是一位暗夜使者。
美好的一天从下午开始,夜晚才是灵感的源泉。不过大佬好像真的不用睡觉的。。。。
而在夜行者之上,更有一种恐怖存在,他们宣告了永动机是可以实现的,因为他们自己,就是永动机。。。
“世界上最好的语言”PHP的创始人RasmusLerdorf,便是其中翘楚,这是他在php-src项目上的提交时间:
果然是大佬,白天正常工作,晚上更加兴奋。果然,真正的大神都是突破人类身体极限,完全不用睡觉的。
当然了,以上这些呢不过是一些极端案例,他们虽然是真正的大神,小渡也绝不建议小伙伴们学习这种作息习惯。不然很有可能,技术没学到,发量却比大神还少。。。
而在日常的工作中,大神对于小白的碾压更是全方位无死角。
注:reinventing the wheel 重新发明轮子
果然,大神的工作都是独出心裁的。
额,不过这么一看嘛,菜鸟和大神好像差不多。。。。
大神的反应总是波澜不惊的,好像没什么成就感。。。
离谱。。。。
笑出自信,笑出强大!
看到大神们种种不同凡响的表现,小伙伴们有没有心生向往?不要灰心,只要努力,假以时日你一定也能像雷总那样,写出诗一样优雅的代码。
要想真正的成为大神,要脚踏实地,有的放矢,为自己设立目标,不断向目标逼近。
至少要做到以下几点:
程序员之所以被称为“大神”,顾名思义便是在专业领域他们无所不能。所以,大神之路第一步就是补全自己技术上的短板,项目出现任何技术难题时,只要自己出马便能发现问题所在,从而找到解决方法。
多隆就是这样一位全能的大神,“只要有技术上的困难,找多隆,没有解决不了的”这是在阿里技术人员内部流传的一句话。
对于编码技术,多隆便是武侠小说中已臻化境的绝顶高手,从2003年到2007年,搜索引擎工作一直都是多隆一个人负责,但这不是他所有的工作,因为他解决问题的能力是惊人的。
多隆一个人能顶一个团队,别人做事可能要成立一个项目组,而他从头到尾都是自己一个人,即使他负责的事情以前从没有接触过。
阿里研究员毕玄曾举例说:“五彩石项目多悉茄隆完成了商城搜索的dump逻辑,当时如果没有多隆,整个项目需要延后2周;还有一次,淘宝session框架调用session_tair故障,一堆人(应该有10人+)一起排查问题,从6:00排查到第二天的6:00,最后多隆查到了问题。”
而达到如此境界,与多隆自身的特质分不开。当他沉浸在他的程序世界时,外界的人和事很难干扰到他。他不擅交际,也不玩什么社交网络,一般很难在公众场合见到他,只要能不参加的会议、采访,他都不会参加。
就算去,他也常常会带上笔记本。据说他也曾经带着笔记本去outting,在车上写代码……
而且尽管被同事们顶礼膜拜,多隆依然谦逊,他说:“我就是个写代码的,很普通”。
从多隆身上我们也能看到,想要成为大神,首先就是要静下心来沉住气,认真研究代码,不断学习进步,完善技术,让自己不再有短板。
理想是最好的指引者,对于技术行业尤其如此。
很多人在成为程序员之初,都抱有改变世界的想法,想象着运用自己的编程技术来为未来的世界增添色彩。而真正能将这种想法坚持到底的人可谓是凤毛麟角,但这恰恰是成为大神程序员的重要特质。
支付宝OB数据库团队的队长阳振坤就是这样一位典型的理想主义者,在他的职业生涯中遭遇了太多的挫折和失落,但他始终保持着一个技术人员的初心,坚持理想,不曾退让。
阳振坤曾是北大的学术明星,北大本硕博一路念完留校任教,不但破格晋升教授,还成为北大首批「长江学者奖励计划」特聘教授之一。他的理想就是攻克分布式系统难题,建成中国技术人自己的分布式数据库。
在加入百度之后,他集中一切精力来进行数据库的开发,然而尽管他主导的分布式系统在性能上已经超过了开源系统,百度仍然以成本太高为理由解散了他的团队。
随后他加入阿里,阳振坤继续做分布式数据库研发,他的团队从零发展到十几人,捣鼓出中国第一个分布式数据库,他们给它起了个名字叫OB。
然而,同样因性价比的问题,阳振坤和他的OB团队在阿里坐了冷板凳。这一彼时仅有十几个人的团队曾在长达三年多的时间里,孤独而边缘。
很多同事都说,“如果阳老师愿意妥协,放弃OB,转去做开源系统的技术优化,早就拨云见日了。”
但是,那显然不是他想做的事情。
不过相比于百度,阿里对于“无用”的创新有更大的包容,OB最终被并入了支付宝。彼时的支付宝,面临着一个世界级的难题:双11的交易量呈几何级增长,未来势必还将继续呈几何级增长,可是支付宝当时用的甲骨文数据库早已经承受不了这么庞大的数据量。
为了应对双11这天的数据,只能再花数亿千万人民币的价格去购买主机,可在交易恢复常态时,昂贵的主机旋又陷于长期闲置状态,这样未免得不偿失。
因此OB这一还未正式上过「战场」的数据库,被支付宝高层认定是解决双11支付峰值这一世界级难题的「钥匙」。OB最终也不负众望,帮助支付宝攻克了这一难关。
2016年5月,时任蚂蚁金服董事长彭蕾亲自将支付宝内部最高荣誉——CEO大奖「勋章」戴在了以阳振坤为首的OB团队成员的脖子上。
从阳振坤的身上我们可以感受到,理想或许会让我们一时间陷入困境,但如果我们坚持下去,会带给我们更大的回报。
这是老生常谈,却也是最重要的一点。这是每一个想要突破自我的人所必备的特质,也是每一个大神程序员依旧在坚持的习惯。
即使多隆在阿里早已封神,但是他仍然每天醉心于编程的世界,研究各种代码,不断强化完善自己的技术。
即使阳振坤和他的OB团队已经为取得了阿里的最高荣誉,他们仍然在每一次维护和升级中不断地为OB数据库做出新的改进和尝试,向着更高远的目标进发,他们期待着有朝一日OB可以超越IOE,成为世界上最棒的分布式数据库。
每一个大神,都是由小白蜕变而成的。大神若不再努力,早晚会跌落神坛,泯然众人。而小白们只要坚持学习,不断提升自己,终有一日也会成为自己曾经仰望的大神。
每个大神的“封神之路”都有各自的精彩,但是也有着共同点,那就是:专注、热爱、持之以恒。当然,每个领域的大神都是极少数,我们大多数人可能用尽全力也赶不上天赋异禀的人的轻松一步。
但是我们努力不是为了赶上任何人,而是为了成为心目中那个更好的自己。
就像现在正拼搏在残奥会赛场上的残疾健儿们,他们早就丧失了和正常人一样生活的能力,但不妨碍他们依旧热爱生活,依旧为了梦想去拼搏,去创造正常人都难以企及的记录。
所谓奥运精神不光会激励赛场上的运动员,也会时刻提醒我们每一个平凡的人,向着心里的顶峰奋力冲刺。
保持心中那份对于梦想的执着和渴望,我们终将会突破自我。加油,未来的大神。
低级程序员和高级程序员的区别如下:1、高级程序员之所以薯饥高级, 在于他们认识到代码 bug 是不可避免的。
有千万种理由可以导致 bug, 但他们可以在设计和逻辑上保证(追求)滴水不漏, 并用逻辑的百分之百准确性还减少代码 bug。严谨的逻辑能力是高级程序员区别于低级程序员的最主要原因。
2、不仅在于他们写出了逻辑上不完备的系统, 而且还恶劣地引经据典来做错误的辩护. 但他们引用的经典是不合时宜的(不能支撑他们的结论)。让笑
正确的做法应该是假设上面的每一行代码都可能中断执行, 然后进行相应的对策. 正如狭义上的网络协议其实是广义上的交互协议, 我们可能把 TCP/IP 协议上的许多坦手含思想和机制应用到系统间的交互上来。
3、低级程序员和高级程序员的区别在于逻辑和抽象。
低级程序员认为自己与高级程序员的区别:高级程序员任何功能都能编码实现,编码速度快,代码无bug。
正如一惯的那样,IT培训http://www.kmbdqn.cn/认为低级程序员之所以低级,正是因为他们勉强能看到(或者根本看不到)茄蔽事物的表象而看不到本质。
我们来听听高级程序认为自己与低级程序员的区别是什么。
高级程序员之所以高级,颤告州在于他们认识到代码bug是不可避免的,有千万种理由可以导致bug,但他们可以在设计和逻辑上保证(追求)滴水不漏,并用逻辑的百分之百准确性来减少代码bug。
没错,严谨的逻辑能力是高级程序员区别于低级程序员的最主要原因。
类似于武侠小说中的武术一样,程序员也分内功和招式。
招式就是各种编程技巧和编程概念(框架,架构等),通过经验可以不断习得。
而内功就是数据结构+算法了,招式可以决定你干活的速度,而且绝大多数情况下,不需要深厚的内力(知道加减乘除就行)。
而内功可以决定你解决问题的高度,就是说一件事情难到一定程度,内力不够的话是解决不了的。
优秀程序员的行为:拿到任务,就开始仰望星空或天花板上那盏高悬的电灯棒,状如老友辩僧入定忽而皱眉,忽而展颜一笑,忽而手舞足蹈,忽而在纸上指指戳戳,忽而口中念念有词,忽而长吁??感觉有点神经病啊桌子上摆的是代码大全、设计模式、敏捷实践之类的书籍,并且没有灰尘chrome或firefox的书签栏里分门别类,类别多于10个,8个以上是技术相关的容不得破窗户,看见别人的烂代码就想改过来随手就能在白板上画出软件的流程图或者时序图??
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)