为了账号安全,请及时绑定邮箱和手机立即绑定

初惑:想做程序员,但我该选择什么技术方向?

对于想成为程序员的同学,想必都会有些共同的疑惑,比如:“到底我该选哪个技术方向?”“现在该学哪门语言?”“未来 Java 语言的发展趋势如何?” “现在我该把时间精力花在哪个方向上,未来的收益才可能最大?” 。对于这些问题,本质上和 “我现在应该买哪只股票” 一样,没有人能回答好这个问题。
赫伯特·西蒙说:“当你无法获得决策所需的所有信息时,不要追求最优决策,而要追求满意决策。”,因此,你可以先定下自己的满意标准,找到一个符合满意标准的折中方案,就开始行动。比如:你可以先从出发点选择一条路径,然后在这条路径上持续努力、学习与进步,基本可以保证能和 “大盘” 持平而不至于有亏损。
选择语言
选择技术方向,从某种意义上讲就是选择编程语言。计算机程序语言虽然很多,但种类其实有限。近日 TIOBE 公布了2023年8月的编程指数信息,Python 依然排行第一,占比13.33%,C++ 在去年 12 月便首次超越 Java 跃居榜单第三,占比为 10.63%,相比排行第二的 C 语言(11.41%),两者差距本月增至 0.78%。除此之外,Java 排行第四位,占比 10.33%;C# 排行第五位,占比 7.04%;Java 在本月保持榜单第六位,为 3.29%;这意味着竞争空间被进一步压缩,其它语言的竞争空间不大。(TIOBE排行榜见下图)

当然,由于这些语言背后都有庞大的生态圈,无论哪种语言,都足够你耗费数年时光去熟悉其整个生态圈,而且目前很多语言的生态圈还处在不断扩张的状态,展现出一种蓬勃的生命力。因此,对于大部分人只能先选择去熟悉并通透其中一种,之后再学习其他语言才更可能触类旁通,拓展技术路线,千万别在初期贪多。
如果选择语言真有什么诀窍的话,我建议选择那些展现出蓬勃生命力的语言,纵观历史,Java,C,C++ 都是老牌语言,一直都在蓬勃发展,长期霸榜前列,虽然这两年Java排名有所下降,但占比份额依然是两位数,就业市场依然是最大的。值得关注的是Python语言,借助近几年人工智能,数据科学行业的发展,从18年到23年,一路从TIOBE排行榜第五跃居第一的位置,可见其蓬勃发展的劲力。另一门值得关注的语言是Go语言,它在TIOBE排行榜上的位置蹿升得也很快,从18年到23年,排位从第19位,跃迁至第12位,而且在云计算时代的基础设施上大放异彩,号称是:易用性要超越 PHP,而性能要超越 Java。
当然还有一些这些在TIOBE排行榜靠前的老牌语言,比如:VB等,还值得学吗?当然不值得了。因为它们早已进入暮年,没了蓬勃的生命力。但为什么排名还这么高?也许是因为它们也曾有过蓬勃生命力的热血青春,留下了大量的软件系统和程序遗产,至今还没能退出历史的舞台吧。
美国作家纳西姆·塔勒布(《黑天鹅》《反脆弱》等书作者)曾说:

信息或者想法的预期寿命,和它的现有寿命成正比。

而编程语言以及由它编写的所有软件系统和程序,本质就是信息了。如果你想预测一门语言还会存在多久,就看看它已经存在了多久。存活时间足够长的语言,可以预期,它未来也还可能存活这么长时间。尽管这并不绝对,但它更多想说明越是新的语言或技术,升级换代越快,也越容易被取代。
选择回报
为什么我们对于选择什么技术,什么语言感到迷茫和焦虑呢?可能是因为技术变化那么快,一个今年刚出现的新方向、新语言,你怎么知道它能在明年幸存下来? 如果自己选了一个方向,投入几年时间、精力,最后难保不被技术迭代的浪潮拍在了沙滩上。所以,如果你更多的考虑确定性的回报和更低的风险,那你应该选择有一定历史的方向或语言,也许它看着不一定性感,不一定能带给你超额的回报,但最起码能带来稳定的回报,等你在这个行业里立稳脚跟了,再去关注和学习一些新潮流、新方向或新技术,并时刻关注它们的可持续性。
总之,如果你是初入这一行,或者还是在校大学生,在考虑选择职业方向的路上,建议你先选择确定性回报,要比抱着赌一把的心态更可取,因为高风险未必带来高回报。
你不妨看看当前的市场需求是什么,最需要什么,以及长期需要什么。
比如,今天技术的热潮在人工智能、机器学习、区块链,元宇宙等上面,这是市场最需要的,而市场给的价格很高。你应该投入么?先别头脑发热,先看看自己的基础,能否翻越门槛,及时上得了车吗?
比如,2010 年左右,移动互联网兴起,一年移动开发经验者的平均待遇达到了五到十年 Java 开发的水平。如今,你有五年移动开发经验和有五年 Java 开发经验的同学,薪资待遇也变得相差不多了。
关于技术,有一句流行的话:“技术总是短期被高估,但长期被低估。”今天,在人工智能领域获得超额回报的顶级专家,实际上人家早在数十年前,在其被低估的时候就进入了这个领域,数十年的持续投入,才在如今迎来了人工智能的 “牛市” ,有了所谓的超额回报。所以,你也不妨投入到一些可能在长期被低估的基础技术上,而不是被技术潮流的短期波动所左右。

技术的选择,都是赚取长期回报,短期的波动放在长期来看终将被抵消掉,成为时代的一朵小浪花。

选择行业
无论你最后选择了什么技术方向,什么语言,最后都是选职业。
你想从事哪个行业的软件开发?这个行业的现状如何?行业的平均增速如何?和其他行业相比如何?这个行业里最好的公司相比行业平均增速又如何?最后,再看看这些最好的公司都用些什么样的技术栈和语言。如果你想进入这样的公司,那就很简单了,就选择学这样的技术和语言就好了。
最后,无论你是否已经选择了技术道路,都可以再想想你为什么要选择学习这门编程语言,你是否已经学会像一名工程师一样思考并解决问题?
欢迎在评论区一起分享和讨论。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消