如何成为一个优秀的程序员,送给渴望优秀的人
本文公众号来源:编程新说
作者:编程新说李新杰本文已收录至我的GitHub认知问题
马斯克,这个风光无限的男人,他的名字就像特斯拉电动汽车、SpaceX的猎鹰火箭一样,享誉全世界。可是你们知道,2008年是马斯克口中“生命里最灰暗的一年”,这一年特斯拉还持续亏损,SpaceX历经几次磨难成功发射后,难以小觑的财务危机随之而来,董事局的逼宫。还有离婚、员工离职、外界的嘲笑声折磨着他。
有如“汽车真相”网站开设“特斯拉死亡倒计时”栏目,像是看笑话般,等着特斯拉走向死亡,甚至曾出现一日内有50篇谈论特斯拉如何灭亡的文章。有特斯拉内部员工爆料,称特斯拉欺骗群众,订单现金全被挥霍一空…… 那一年,马斯克感到自己沦为众矢之的。
在后来的采访中,节目主持人问马斯克,(Space X)三次连续发射失败时,为何没考虑自己卷铺盖走人。马斯克斩钉截铁地回答:“Never(决不)。我不知道什么叫放弃,除非我被困住或者死去。”
所有人都需要认识到,任何事物都不是一蹴而就的,越是美好的事物,磨难越多。
相信马斯克早就认知到会出现各种情况,所以自己才可以扛得住。
欲望问题
受别人家孩子的影响,前年春节前夕,也给我们家孩子报了钢琴班,一对一的教学,为了方便练琴,还买了一架电钢琴。然后每个周末我都陪她去学琴,从严冬到酷暑,几乎持续了一年。刚开始还行,后来我发现她越来越不想去了。
仔细沟通之后,她说她对钢琴一点都不感兴趣。放弃是可以的,但是不能轻言。由于我也是初次接触钢琴,虽然陪她上了一年课且学到了很多知识,但是关于钢琴我还是有很多很多的问题充斥在大脑中,我也尝试问过钢琴老师,可惜没有得到我想要的答案。
于是我在网上查资料,还买了钢琴教科书,还看了一些关于朗朗的视频和文章,随着时间的推移,我的疑惑逐步的慢慢的被解开了。在经过一些观察、思考、分析和推理,最终决定,放弃!
在陪孩子的过程中,我也算学会了三首曲子,西游记插曲《女儿情》、《世上只有妈妈好》以及大头儿子和小头爸爸的主题曲《快乐父子俩》,可惜我只会用右手弹主旋律,不会用左手弹伴奏,因为左右手不会配合。
因为我对音乐非常感兴趣,所以我下班后也练琴,从基础练起,哈农钢琴练指法,第一篇,好像是C大调,我练了一两周,发现几乎没有什么效果,我终于明白钢琴不是用来学的,而是用来练的。练习的时间是以年为单位来计算的。
如果对钢琴没有兴趣、没有欲望,那么学到的钢琴就是个技术而非艺术,得到的无非是一些技巧而非灵魂。不要举周杰伦的例子,这算特例,不能用在逻辑推理以及科学实验中。
如果对一件事情没有一点欲望,那请及早离开,再继续下去,既浪费时间也不会有好结果。
坚持问题
大概在98、99年的时候,我读初二、初三,当时我们的政治老师姓田,是个男的,是个大喷货,老是课堂上吹牛,他说他写字速度非常快,能把圆珠笔写的断油儿,但是我们从来都不信。
他特别爱说的两个成语就是“绳锯木断,水滴石穿”,就是说再小的力量只要持续的时间足够长,也能产生惊人的效果。当然还有今天常用的“冰冻三尺,非一日之寒”。
这些其实都是在告诉我们要坚持做一件事情,比如我们最熟悉的“每天一个单词,10年就是3000多个,每天一句话,10年就是3000多句,可谁又能真的做到呢?”
关于坚持,真的不用再说任何言语了,我们普通人一定要坚持,因为朗朗每天至少练琴2小时,这是雷打不动的。
经验问题
现在孩子已经上小学了,在孩子小的时候是要定期去打疫苗的,我们打疫苗那个(不太大的)医院提供免费就医服务,终于有一次没忍住,抱着免费的不去白不去的心态,就领了个免费的专家号上去了。
是一个年龄很大的女大夫,期间说的什么现在已忘记,只记得说起小婴儿感冒时鼻子会堵住,呼吸不畅。大夫根据多年经验,支了两招儿。
第一,把开水倒进脸盆,把毛巾泡透后迅速拧成一个玉米棒形状,然后塞进水杯里,放到小婴儿鼻子下方,通过吸进热的水蒸气,可以使鼻子畅通。
第二,把卫生间的淋浴打开,一直放热水,直到水蒸气充满整个卫生间,然后抱着小婴儿进去,这样也可以吸到热的水蒸气。
道谢告别后来到家中,决定采用第一种方法。开水太烫,徒手无法操作,跟烫猪蹄差不多,无法忍受,那就等等吧,稍微凉一点再说,等手可以操作的时候,发现温度太低,已经不怎么冒水蒸气了。
我转念一想,直接把开水倒进杯子里不就行了,干嘛非要再从毛巾上转一圈呢?于是拿一个高的杯子,稍微倒进点开水,效果甚好。
我从不否认跟有经验的人学习,但自己要聪明些,要仔细分析对方表达的真正目的,可能目的是对的,手段却不怎么高明。
如果一味的亦步亦趋,不仅有可能遇到错误的经验,关键是你也永远无法超越他人。
方法问题
关于方法的问题,其实见仁见智。关于好方法的描述好像不太多,关于坏方法的描写倒是不少。如南辕北辙,心想往南而车子却向北行,比喻背道而驰。
还有缘木求鱼,抓鱼呢,却跑到树上去了,也比喻方向性的错误。还有舍本逐末,比喻严重跑偏了。
我谈谈自己的看法吧:
1)作为一个技术工种,基本业务必须熟练,是必须哦。
2)平时多看书、多学习相关知识,做到日积月累。
3)没事多思考、多琢磨、多天马行空,让已有知识互相碰撞。
4)认真对待第1条,努力做到第2、3条,并长期坚持下去,是长期哦。
具体到程序员这个职业:
1)作为码农,编程能力必须强,代码一定要干净整洁,一般情况下绝对不允许出现错误。
2)经常翻看编程语言的类库API,经常翻看常用框架的官方文档,使自己掌握的越来越多、越来越熟。
3)多看编程语言类库的源码,多看常用框架的源码,不仅使我们更加透彻的理解官方文档,还能学习大牛们的思维和编程习惯。
4)认认真真对待第1条,这真的非常非常重要,努力做到第2、3条,并长期坚持下去,也是长期哦。
做到这些足以让你成为一个优秀的程序员了。
如果还不满足,可以深入研究数据结构与算法,研究操作系统,研究计算机的组成与工作原理。这任何一个都足够研究的了。
如果对这些底层不感兴趣,可以专心做业务。练习如何为特定的需求场景给出设计模型及方案,方案一定要易懂、易用、简洁、高效和易扩展。
并去思考这样的设计方案如何落地并通过代码实现,而且代码实现的复杂度要合理,既能满足目前需求,也要留有后路以便后续扩展,代码一定要是模块化、结构化和清晰化。
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号Java3y。
获取Java精美脑图
?获取Java学习路线
获取开发常用工具
?加入技术交流群
?精美知识点PDF
点个在看,分享到朋友圈,对我真的很重要!!
评论