勇哥聊聊常见编程语言和常见行业

勇哥注:

这篇聊聊常见的语言在就业方向的选择,以及语言之外的行业方面的选择。

注意这类话题有时效性,每年都可能有变化,勇哥写这篇文章的时候是2024.7月



(一)常见的编程语言


Java

面宽,竞争激烈,业务开发首选

薪水天花板高,百万年薪的都是有可能的。

Java相对于C#这种后发的语言,碾压优势在于它的强到变态的生态体系。

自1995年推出以来,经历了约30年的生态沉淀,广泛用于各个行业,也为码农带来无数的就业岗位,

这一点你只要去gitee上去看下就有感悟。


Golang

可以代替许多语言,如:PHP,C,Java

缺点:体系不完善

优点:云原生

主要是一二线城市、大规模公司用

薪水天花板比java低一些

这门语言由于只是大公司在用,所以对学历有要求(否则你没机会进大公司),

并且即使进入大公司,主要是做业务的某些方面,所以属于就业较窄的语言。


Python

非专业开发者的首选语言

主要几个方向:爬虫、数据分析、自动化测试

python的网页开发是鸡肋。

注意AI不并Python的方向,Python只是大量应用于AI测试,但是AI的难点主要在AI本身的专业知识,

而跟编程语言无关。在AI的项目开发中,Python起到作用可能只占5%,而AI本身则占到95%。

因此不要被人忽悠把Python跟AI就业方向绑定在一起。

薪水天花板较低。


C/ASM

C和汇编最接近,C是内卷较弱的语言。

主攻方向:嵌入式开发、写底层、写类库、写驱动程序、汽车应用等

嵌入式几年前是下坡路,最近两年又有点火了,这跟中美半导体战争有关系,国内现在进行去美国化,

中国推出自己的新标准,因此催生了新的岗位机会,带火了嵌入式市场。

嵌入式开发难度还是有的:硬件芯片的资料是全英文,互联网上一般是找不到现成轮子用的。

勇哥曾经有幸从事过电梯行业,那些写电梯控制系统工程师,加班通宵都是常态,遇到实在搞不定的问题,

都是花钱找其它公司买开发板项目做参考。

另外从事这一行,你本身最好是精通微电子,示波器、万用表、加各种焊接、模拟电路维修技能你都要会,

因为这是硬件+软件二合一的行业,不这样你很难登顶。


c++

主攻方向:写各种引擎(例如opengl、游戏引擎等)、音视频类库、应用软件、

QT这样的基本类库、数据库软件等。

这门语言无论是什么都可以做,只是某些方面用C++做效率可能不高,也许一个C#写的界面程序,

只用3天,而到C++搞不好要一个月。

这就涉及到项目负责人对选择语言上的要能把握清楚。

这门语言编译后直接翻译成机器码,没有经过虚拟机,所以效率是仅次于C的,一切需要极速运行效率的项目,

都可能要考虑C++或者C,

通常像系统级应用、视觉算法等就需要。

但是c++有个很大的问题,就是在应用方向之间基本上都是隔行隔山,例如写引擎的,

如果想改为写音视频,那就是极难切换的。

这个是因为c++在行业应用上的专业跨越太大(因为它无所不能),并不是语言本身的问题。

这一点不像是java,当前是写银行系统的,突然有一天想换成写企业的某种应用系统,

则很多知识点是相通的,因此容易切换。

c++的薪水天花板没有java的高。


C#

这门语言本身是非常优秀的。但在国内应用不多。

原因是早期的时候,C#是和windows捆绑在一起的。但是全球服务器的系统,windows竞争不过linux,

linux约占全球服务器的95%。

现在C#开发跨平台的应用,是微软公司拥抱开源的决策之后的事,太晚了,已经撼不动java沉积了几十年的生态了。

主攻方向:Azure云、上位机开发、游戏前端脚本(Unity)

其中上位机开发是勇哥所在的行业,我们称为自动化设备制造业。在这方面,C#是无敌的存在。



JS/Ts

前端语言,配合node.js也可以做后端,如果一个人能前端后端都可以做,则称为全栈开发。

招全栈开发人员的往往是小公司,大公司都是注重前后端分离的。

前端开发主攻方向应该往架构+算法上面是努力。


OC

一些流行平台的开发语言。

Swift, Kotlin, Scala等

由于苹果,安卓等设备流行度都有期限,从长远看,这些专用语言一般属于应用面较窄的选择。


Rust



ArkTs

鸿蒙,是TS的一个超集



总结: 

语言总是结合行业的,在项目开发过程中,最重要往往不是语言本身而是业务逻辑。

超越语言本身的就业务,精通你所在项目的业务反而是最重要的。

如果你精通C#或者java,那么你学其它除C++之外的语言会非常快也容易。

如果你精通C++,那么你学习其它一切语言都会感觉非常容易。

你应该结合你的专业、学历和自己想要的薪水天花板去选择行业,而语言的选择只是出于项目的需求。

不要按照自己的爱好去选择,人生的选择应该理性的思考并且是逐利的,

特别是对于刚刚毕业的应界生来说,缺少思考的深度,也缺少对社会毒打后的感悟,

容易人云亦云,不能做出自主的、正确的职业选择。



(二)常见的行业话题


后端:

前端:

前端的技术栈相对后端要简单些,但是前端内卷是相当的严重。

如果从职业发展角度来看,后端比前端能走得更高更远些。

比如一个企业,要选一位项目主负责人,极大可能是从后端开发人员中去选择,

原因是因为只有后端才是和业务逻辑相关的。

而前端根本不怎么了解业务逻辑。

因此后端开发可以走出项目经理、项目负责人、系统架构师等方向。

前端如果想走向顶薪,则需要向源码架构+算法方向提升,属于只能技术一条路可以走,因此比较窄。


AI方向:

AI的就业方向: AI算法工程师,AI api调用工程师

算法工程师对学历要求巨高,而且集中在大厂及银行、电力等国家巨头,因此就业面很小,

算法工程师团队通常都是985的博士,带领985的研究生和少量的211研究生。要求太高。

因此总得来说虽然AI很热门,但不见得就好就业。

但是算法工程师薪资天花板极高,在欧美,甚至年薪可以达到50W以上,还是美元。

AI现在有两大主流: CV图形图像处理, NLP自然元处理,大模型可以认为是NLP方向的分支


大数据:

主要就业方向两个:大数据挖掘、大数据处理与开发

如果想薪水高些,需要结合AI,它有个方向就是大数据挖掘,例如“商业智能/数据挖掘”,

这个有个经典例子就是“啤酒和纸尿裤”,还有就是XX滴大数据杀熟等在我们国内常见的例子。

以上提供的岗位仍然是有限的。

大数据岗位提供的薪水通常是比较高的,年薪50W向上,这并不是说大数据要求的技术栈有多么高深,

实际上是因为用得上大数据挖掘与处理的往往都是很大的单位,比如在中国的华东、上海一块,

大数据做金融量化的相对来说是很多,这些大公司的需求也推高了工资。

小公司根本没多少数据,也就不需要有这个岗位了。



测试:

测试是it软件开发必不可少的一个方向,是有一定岗位需求的。

它的特点的是学习的东西少,简单很多。

像黑盒测试、点点点测试这些技术栈,对学历和专业都没什么特殊要求。

但是薪水较低,提供的岗位也比开发要少,一般可能8个开发配一个测试这样的比率。

另外中小厂基本上不重视测试,所以相关岗位提供即少薪水也低。

这个方向如果想提升薪水,要增强几个方向:

1. 自动化(测开)  2. 测试管理  3. 测试平台开发  4. 质量控制(核心目标)

测试如果做到顶级,薪水会上升几个数量级,在阿里,有年薪400W的软件测试工程师,

但这种顶薪在测试岗位方向能达到的是凤毛鳞角。



运维:

在云原生出来之前,运维是一个非常宽的方向,很多企业都需要。

数据库、硬件、网络都需要有人来管。

至从云原生出来之后,很多公司的运维岗位都被砍了或者减少,因为现在全是云上的自动化运维。

现在的运维方向可以从几个方向努力提升自己:

1. 自动化运维  2. 运维开发一体化 DevOps(辅助开发),自动化部署自动化上线、自动化回滚等。  

3. 大数据运维  4. 云原生运维  5.安全运维(这是一个大方向,可以做为单独的方向)



游戏:

这个方向有个特点,就是对学历要求不是那么高,大专生也可以入场。

如果想高薪,需要进游戏大厂,赶上一款热卖游戏。比如腾讯的王者农药,员工年底有48个月的年终奖。

但是如果游戏卖不好,奖金就无望,99%的都没有。

这个方向的岗位: 

1. 游戏主程,一般大厂有60W(顶薪)

游戏开发的语言,在游戏服务器端,之前用c++最多,最近几年用java最多(游戏服务器端占七八成),

还有部分用golang的。

至于游戏的前端,一般都是使用一些引擎,3d, Cocos 2d加上脚本、或者是GS做出来。

游戏这一行讲究的是谁开发效率快我就用谁,并不在意运行效率。

2. 游戏脚本

这个相对主程来说,薪水要低很多。



区块链 web3 元宇宙:

这三样都是以去中心化为目标。

目前的情况是,有公司做这方面还是非常赚钱的。比如做加密货币的交易中心。

但是这一行属于灰产,有法律风险。

这个方向是属于整个互联网最新的方向。最终会发展成什么样子,不好判断。

但是去中心化这个,在中国可能难以行通,这个从民族基因上来讲都是无法接受的。

可能有部分应用适合去中心化,例如版权、阅读类的、娱乐的,但是金融、互联网去中心,

NFT去中心,这些都不太可能。

这一行非常新,也可能有高薪,但是国情所限,有风险,要慎重。



安全:

入行容易,入门时的工作性质跟运维类似,扫描漏洞、做渗透测试之类的,薪资和前端差不多。

区别是,安全做到顶级,可以秒杀前端。

这一行的顶级,会懂非常低层的系统漏洞,效果就是比玩C语言和汇编的人懂得底层更多。

另外就是有可以给大厂企业设计安全解决方案的能力。

因此,顶级安全比开发人员更懂开发,一般的开发就是开发功能,顶级安全则从你的代码逆向,

能分析出你的原码,还能找到你的代码的潜在漏洞问题。

这种级别也是凤毛鳞角的存在。在华为,这种人顶薪都是在140W往上。



工业自动化:

工业自动化是制造业的一部分,这部分比较宽泛,但限于勇哥的了解,这里我们只是谈上位机开发部分。

在广东、深圳、江苏、上海等这些地方,有一批自动化设备的公司做系统集成,他们开发的设备的终端客户往往是

比亚迪、宁德时代、富士康等。

这些公司的设备服务于中国、世界产的消费电子产品、汽车、新能源及周边产品的制造。

这一行有两个就业方向:


1. 视觉软件开发

基于某个视觉平台(例如halcon或者vitualPro等)下的C#、C++软件的开发。

基础能力是视觉bom选型、打光与调参数、基础的软件调试。

顶端能力是视觉算法+深度学习、目标检测等AI的应用+精通C#+精通halcon或者opencv。


2. 运动控制开发

基于运动板卡、运动控制器进行设备动作的开发。

基础能力是bom选型,精通C#+板卡API的开发。

顶端能力是:精通脉冲、总线型、多轴的大型设备的开发+ 精通C#+精通轨迹控制+精通各种伺服调参+对设备机械动作有深刻的理解。

另外,plc也算是另一种类型的运动控制。只是本篇谈的是软件相关,所以不在讨论范围内。


目前,这一行的两个工种,有个5、6年以上经验者,年薪20-30W是没有什么问题的。


这一行躲不了出差的命运,在客户那里呆的时间可能还长于你在公司上班的时间。

这是工作的性质决定的,所以很多公司在应聘的时候,重要的就是你能不能接受长时间出差,

包括国外出差现在也很常见。

再就是看中你的潜力:你是不是好控制(叫得动你,不会有各种不服)?

你是不是有强烈的学习愿望?

而对你的能力,其实并不是太看中。招进来后大把的项目和老人可以教你和段练你,

最怕的反而是那种即没什么能力,也不肯学习的人。。。

这就是这一行的一个重要特点: 入行没什么门槛,只要你有个大专文凭

(如果是电气自动化、计算机专业的童鞋就属于专业对口,可以额外加分)

就可以敲门。特别适合应界毕业生

对于企业,它的算盘就是,多招些应界生让老人去带、能出差救火,因为应界生便宜,

而你呢,可以赚经验值,大家双赢。


但是这一行行业圈子确实比较小,客户端头部巨头就那么几个,出差时经常遇到脸熟的人,

甚至猎头跟你聊天还可能说出你的熟人。

自动化方向依托国家的智能智造2025战略,加上制造业是我国的根本,所以相比其它的行业,

其它几个重要的好处是:

一是行业是个常青树,不容易走下坡路, 

二是这一行如果做进去了,企业对年龄就不那么看中了,你可能四十出头还能成为中坚力量。

三是跳巣容易加薪,并且换下家容易得不要不要的,网上更新下简历,

剩下的事猎头全给你包干了(圈子小,猎头最喜欢推荐你这样有经验的圈内人)。


物联网:

物联网专业是教育部允许高校增设新专业后,高校申请最多的学校,

这也说明了国家对物联网经济的重视和人才培养的迫切性。

物联网的产业规模比互联网产业大20倍以上,而物联网技术领域需要的人才每年也将在百万人的量级。

因此物联网个新兴的并且是海量容量的职业市场。

物联网从技术上看具有行业交叉的性质,因此它涉及的具体的行业,都包含在本文前面所述的行业中,

物联网并没有什么专有的新奇特的行业。


下面是物联网可能涉及的职业的清单:

软件开发

智能硬件行业

系统集成

嵌入式开发

智能医疗

制造业

物联网数据分析师

数据科学家

物联网工程师

物联网软件工程师

硬件开发

应用开发人员

智能家居

智能农业

后端开发人员

嵌入式固件开发人员

前端开发人员

产品经理

无线通讯专家

物联网开发工程师




本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2024-08-01 16:49:53 编辑

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864