最近,在小灰的常识星球上,有个小伙伴问了一个蛮有意思的问题:
这个问题看起来有些复杂,其实能够归纳为一句话:
IT技术更新换代很快,假如咱们花费很多年去学习技术,有一天旧技术被淘汰,新技术成为主流,那咱们是不是就白学了?咱们程序员的尽力还有什么意义呢?
不得不说,这个问题困扰着很多程序员,小灰自己也常常在考虑。
那么,程序员该不该尽力研究技术的?今日小灰来说一说自己的想法。
先说定论,程序员的尽力当然是有用的。
不管是程序员,还是其他大多数凭本事吃饭的工作,个人的成就首要取决于四个要素:尽力、挑选、天分、命运。其间天分和命运是不可控的,因此咱们这儿只谈论尽力和挑选。
那么,咱们应该挑选什么样的方向去尽力研究呢?
在职场上,咱们需要把握的技术有三类:一类是使用技术,一类是底层技术,一类是通用技术。
使用技术,便是能够直接用来做事情挣钱的技术,比方Go言语、MySQL技术、Spring框架等等。把握了这些技术,你能够开发项目,在近期为公司创造价值。可是,这些技术不免会有时效性,很可能过一段时间就不再盛行。
举个比如,十几年前昌盛一时的Delphi言语,由于市场的改动,现在现已很少有人使用了。
底层技术,对于程序员工作来说,包括操作系统原理、算法与数据结构,规划形式、架构理论等等。这些技术在短时间内无法让你快速提高生产力,可是却能够让你在工作发展的中长期受益。并且,这些技术的有用期很长,在可见的未来,在程序员的各个细分范畴里,一直都有用。
举个比如,不管你是做Java,做Python,做C++,亦或是做前端,算法和数据结构的理念都是互通的。
通用技术,包括交流才能,情绪控制才能,团队管理才能等等。这些技术不仅对程序员有用,哪怕有一天你不妥程序员了,乃至你退休以后,都能给你的工作和日子带来一定的优点。
比方,当你从程序员转行做了产品司理,交流才能依然能派上用场;当你谈恋爱结婚,未来教育孩子的时分,情绪控制才能同样能够派上用场。
因此,咱们在挑选某一方向去尽力的时分,切记不要一味追逐盛行的新技术,那样只会让咱们疲于奔命。咱们需要在学习使用技术的一同,不断加深底层技术和通用技术的提高,为更远的将来打好根底,全方位进行提高。
当你长期坚持在正确的方向上尽力,或许一年两年看不出作用,但通过五年十年,你和同行的才能距离会变得非常显著,并且不会由于技术的更新换代而改动。
比方说,你用Go言语工作了10年,有一天Go言语没人用了,Come言语成了主流言语。那你损失的仅仅这一项使用技术,而你这些年的底层技术、通用技术并没有白堆集。
当你和职场新人一同学习Come言语的时分,你大概率比他学习得更快,由于编程技术之间多少会有一些相通性。
再加上你的算法和规划功底,杰出的交流和管理才能,你一定比新人更有价值。
不过话又说回来,跟着人的年龄增加,你一定会有家庭的牵绊、体力的下降等问题,让你在职场上的竞争力有所下降。但这些和工作才能没有关系,并不在咱们今日的讨论范围内。
程序员的尽力有意义吗?
挑选正确的方向,兼顾使用技术、底层技术、通用技术的提高,那咱们的尽力就必定是有意义的。
小灰的答复就到这儿,假如这篇文章对你有所协助,欢迎点赞哦~~