刚入行的程序员该如何提升自己

程序员成长有很多外因,好的时机、好的公司、好的同事,会让你的成长更顺利。

这次我们聊聊刚入行的初学者该怎么提升自己,用个流行的说法,咱们来谈点观念,理清概念,才能更好地成长。

一、搜索引擎是你最好的老师

这一条,适用于99.9%以上的场景,至少对目前的我们来说。到目前为止,搜索引擎教会了我许多东西,解决了我许多问题!不可想象的多!

许多人遇到问题,就喜欢问人,就开始慌张。我告诉你,其实没必要。搜索引擎能帮我们很好的解决这个问题。许多前辈,高手的经验和贡献都可以使得我们可以绕过许多弯。

二、多做有意义的事情

有的人每天时间浪费在跟问题本身无关的事情上,比如我要设计架构的时候还要考虑架构图怎么画,写完代码还要反复部署测试好几轮才pass,查bug的时候把时间浪费在扫日志上。人的精力总是有限的,把时间浪费在这些事情上面,让自己提高的时间就变得少了。

三、熟练的代码编写能力是核心竞争力

想成为一个合格的程序员,10万行的代码编写是基础,程序员必须写足够代码量的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。

计算机是一门实践性的科学,没有动手能力做支撑,很难做出好的科研成果。我的一个学长是美国卡内基梅隆大学的博士,卡内基梅隆大学计算机系在全世界非常出名,他说每个博士生必须写十万行代码才能毕业,卡内基梅隆大学博士进任何一个大企业基本不用面试。而国内培养的大部分研究生、博士生,动手能力都偏弱。

没有写过足够代码量的,想成为高手是不可能的,只能纸上谈兵!

四、韧性和毅力 ,不要遇到困难就放弃。有困难才有进步

这也许是“高手”和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。

永远要记住一件事,假如你不愿为你做的事情努力一生,那你就一刻也不要去碰他。因为或许现在做的任何努力,在某一天都是白费功夫。

五、编程不是体力劳动

针对10倍效率程序员的最大问题是有些人认为编程不过是体力劳动,程序员也不过是流水线上的工人。一些程序员可能会比其他人好一些,但是,一个程序员必定不可能持续地比其他人解决10倍多的问题。10个人的团队总是会胜过一个程序员!9个女人一起也不可能在一个月内就生出一个孩子啊!

上面的逻辑听起来就像编程效率就是打字速度;好像10x程序员只是简单地比普通程序员多产了10倍的代码。这种推理无视了编程其实是一个创造性的专业,并不是体力劳动。解决同一个问题有许多许多种方式。更多地考虑刑侦级推理而不是简单的婴儿式推理:10个普通的侦探对一个夏洛克。谁可以更快地破案?

六、只有真正喜欢才能写好程序

  • 喜欢写程序,做程序员就是上天堂;

  • 不喜欢写程序,做程序员就是下地狱;

程序员需要整天趴在电脑前,经常没日没夜的,非常辛苦,而且工作来不得半点虚假,少写一个标点符号都不行。喜欢的人,日子过得非常开心,每写一行代码,都会有新的成就,尤其当自己的作品被广泛应用的时候,那种自豪感油然而起。不喜欢的人,坐在电脑前极端无聊,被进度压得喘不过气来,天天为找bug改bug生气。

七、把程序当艺术品,像写诗一样来写代码

现在很少有公司做code review(对写好的程序做代码级检查),于是很多人在进度的压力下潦草应付,只要测试通过就算搞定。表面上看,开发速度很快,进度有保障;但实际上,这样的程序连开发者自己都很难读懂,一旦有bug,很难调试,将来维护升级都非常困难。这样的代码多半只能重写,浪费自然严重。

如果每个人写程序的时候当艺术品来写,写每行都认认真真、干干净净的,虽然速度略微慢了一点,但综合的开发成本会低很多。

posted @ 2019-09-03 17:04  萌萌丶小魔王  阅读(514)  评论(0编辑  收藏  举报