如何成为很厉害的程序员?这几点很重要
Posted 退休的龙叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何成为很厉害的程序员?这几点很重要相关的知识,希望对你有一定的参考价值。
前几天我儿子问我说:“怎么成为一个很厉害的程序员?”
从我开始学编程起,我也很羡慕那些比我厉害的人,虽然偶像一直在变,但也恰恰说明了我在进步,因为慢慢地我离我羡慕的那种人越来越近,我只好换一个更厉害的人去当榜样。
是的,想要提升自己的水平是对的,正是一直想要更厉害的心态促使我不断地去追逐,也才有了现在的退休底气。
如何成为一个很厉害的程序员?我思考了很久,最终写下这篇文章,分享给大家。
一、摆脱“模拟室”,进入职场实习
不管你的编程能力是自学的、培训班学的还是在校时老师教的,这个阶段或许你也能做出来一些东西,看起来小有成就,但可以说都处于“模拟室”阶段,跟企业实际开发的项目还是有很大距离。
哪怕你学得再多,学习阶段接触的项目看上去再高大上,只要没有项目实践机会,这些程序员基本没有价值,因为学习项目和实际做的项目差距很大,而且如果学成以后有三个月的时间不去软件公司,那么学到的技能很快就会忘记。
就像枪手一直在靶场练枪把把10环,在身边人看来你是个神枪手,但到了突发事件来临时,要你开枪你可能连五环都打不到,甚至命中不了目标。
所以如果你是处于这个阶段,建议尽可能地找一份工作,去企业实地参与项目开发,薪资和公司大小是次要的,参与和提升才是重要的。
当然了,有能力进入大厂实习就更好了,毋庸置疑的,但这也得看个人能力,可以去尝试。
很多人工作后都会有一种感慨,以前花了很长时间去学习的语法啊框架等等,在公司的项目里却不是这样做的,有的人甚至会怀疑自己当初都学了些啥。这其实很正常,刚开始工作是从学习到实践的过度阶段,不用有很大的抵触情绪。
送你一句话自己去体会:接受不能改变的,改变可以改变的。
二、别忽视应用层的开发技术
很多人在工作了之后,觉得应用层面的开发技术门槛低,随便来个年轻人干个半年也能跟你做一样的事情,所以就不把它当回事。比如开发一个应用,经常会用到高级语言和框架,比如 C# 和 .NET ,比如 Python 和 Django 等等,给年轻人一点时间,他们也能做出来,所以有人工作得越久,越会忽视这些东西,因为他们觉得这方面拉不出差距。
其实不是的,即便从纯技术的角度来讲,你对一个语言和框架的理解与把握程度,也会严重的影响开发效率和产品质量。
假如你对一门语言的各种特性都体察入微了悟于心,假如你对一个框架的机理和各种应用场景都有独特的理解和丰富的实践经验,那你几乎是不可替代的,你已经成了这个语言和框架方面的专家,价值不可估量。
你的一句话就可能为一个项目节省几个月的时间,别人一筹莫展的问题到了你这里分分钟就搞定。
什么样的人会被轻易替代?懂一点,但又没有深入了解的人,知其然但不知其所以然,干了很多年还看不透所用技术的本质,真遇到一些深入点的东西极有可能束手无策,这样的人才会被取代。
所以,不要理会“能 Run就行”、“完成任务就可以了”、“用不到学那么深干什么”之类的话,在你用完一项技术解决了一个实际问题满足了某个需求之后,继续钻进去吧,多学一点,深入一点,日积月累,你必然会与众不同。
三、高难技术+算法+行业背景
除了对应用层的技术要很熟悉之外,你还应该在某一些时间里去提升这三方面的东西:高难技术+算法+业务。
1.高难技术
高难技术指的是门槛比较高的技术,比如汇编、操作系统内核和驱动等等,互联网程序员的价值一直都是遵循“物以稀为贵”的法则,如果你熟悉Windows内核或android内核,能够熟练撰写各种驱动,那找个月薪五六十K的工作不成问题。
.
2.算法
算法,很多程序员说不上懂算法,更多的是用框架里的模块去解决问题,像堆积木一样,要说精通某个算法,领悟其中奥义,还真不见得。
比如你精通图像处理算法,比如你精通视频编解码算法,比如你精通搜索推荐相关的算法,比如你在模式识别领域有建树……试看谁能挡得住你前进的脚步?
.
3.行业背景
不知道你们有没有注意到一点,在企业的招聘需求上,很多都要求有行业背景。
即使在没有字面上的要求,但如果你以前所待的公司背景与这家公司相近,做过的业务项目与这家公司要做的东西有一些异曲同工的地方,那么面试官一定很愿意和你交涉,拿到的薪资也极有可能高很多,因为有相近行业背景的技术人才确实可遇不可求。
我认识的一个小伙子就是个鲜明的例子,他从毕业后一直在电商公司当程序员,3年间跳槽了4次,每次的薪资待遇都比上一家好,他跟我聊的时候就有说到这个问题,就是他一直找的都是电商公司的技术岗,懂技术又有相同行业背景,再加上一些面试技巧,拿高薪确实不难。
所以,选定行业也很重要,如果你能在某一行一直干下去,你是个业务门儿清的程序员,即便技术不是特别优秀,那也是价值无限的。
四、进大厂提升
一开始毕业后没能进大厂不代表以后不能进大厂,工作了几年之后,技术能力是可以得到提升的,但要想成为厉害的程序员,还是得去大厂。
如果你一直在小公司,可能会非常熟悉本公司的业务,凭此能在本公司混得风生水起,但技术上可能仅仅停留在增删改查。由于在大多数小公司里,未必能接触到高并发分布式,或大数据,或机器学习或深度学习之类的高级技能,所以如果在小公司待久了,可能接触到的也就是增删改查的技术。
如果你进入大厂,或者接触到诸如分布式,集群或者深度学习等技术的项目后,你才会学到一些高级的技能,但如果一直待在小厂,可能一直都不会有这种项目给你做。
我见过很多小公司的老程序员到了30多岁只能干焦虑,喜欢用“以后只能送外卖了”这种玩笑话来放置自己的不安,年轻的时候不去争取进入更大的公司,上了年纪以后,脚下的余地自然捉襟见肘。
今天的分享就到这里,希望能对你有所帮助。
以上是关于如何成为很厉害的程序员?这几点很重要的主要内容,如果未能解决你的问题,请参考以下文章