兄弟们。
出来说骚话啊。
考虑到,读者里面,有不少是还未踏入社会的学生党。
今天在这里想简单介绍下行业的区别。
虽然都是写代码,虽然大家都叫程序员,但其实,分为很多种类。程序员大体上分为前端和后端。
因为我不懂前端,所以这里主要讲下后端吧。
而后端,可以从很多角度进行分类。
我们从大家最熟悉的大学专业开始展开吧。
非计算机专业
一般提到程序员,都会以为都是计算机专业的,但其实除了计算机专业外,还有一些专业,比如电气工程、自动化、通信工程等,都会有不少相关的对口程序员工种。
比如大学时候学的51单片,STM32之类的相关,那个其实属于嵌入式软件开发的范畴,用的一般是C语言。
如果是画画PCB电路板之类的,那应该属于嵌入式硬件工程师的范畴。
跟这两块比较相近的,还有个工作自动控制系统相关的相关工作,叫PLC工程师。用的编程语言也比较特别,叫梯形图。
以上这几种类型工种,一般出现在较为传统的行业里,比如工业控制、车企、电机电梯等企业,没那么传统的,有共享单车、无人机等。
计算机专业
这个就很好理解了,也是毕业后进入互联网行业的主力军。而这里面方向也很多,但一般从我了解到的就业情况来说,分为下面这几类。
游戏方向
游戏方向也算是互联网行业里比较特殊的一个分支。我们常说的前端和后端,在这里一般是叫客户端和服务端。服务端用的一般是C ,少数使用golang,java等,一般是根据游戏类型去区分,比如像的《率土之滨》之类的策略类游戏叫SLG,《王者荣耀》这种叫moba,《xx传奇》叫MMORPG,《地下城与勇士》这类叫ARPG,这里面服务端的架构设计根据游戏类型会有一些不同,但开发之间用的技术栈大体差距不算太大。
客户端之间差距就有些大了,做2d游戏的一般用cocos,3d游戏前两年一般用unity3D,现在都开始慢慢开始用unreal。而微信小游戏,一般用的laya或者白鹭引擎。当然还有flash小游戏,这个就有些古老了。有一说一,游戏客户端用的技术差异比较大,隔两年换一个新东西学学,太难了。相比之下,游戏服务端用的技术倒是稳定多了。
互联网应用方向
业务开发
是最常见的curd boy,对于并不复杂的业务,很多时候就是写写数据库的插入(create),更新(update),读取(read)、删除(delete)等语句。
这里业务其实还细分为to b方向和to c方向,to b的业务一般用户不多,正因为用户不多,所以他们提的每一个问题都有可能被重视并且转化为定制化的需求,因为需求只针对某部分特定人群,所以产品逻辑做的巨复杂,巨奇怪也很正常。to b一般也比to c的产品逻辑更复杂,而产品的主要工作也是直接跟用户沟通,收集用户的痛点并且转化成各种奇怪的需求。用户也可以直接找到这个开发,并且反馈自己的疑问,所以很多时候开发也会沦为oncall工具人。
to c业务一般会相对to b业务来说并发稍微高点,因为产品是面向普通用户,所以设计上也会尽量傻瓜式,这就可以反推背后的逻辑也会相对to b 业务要简单一些。
基础架构开发
又名,高级oncall工程师。跟上面的业务开发不同,业务开发oncall的对象一般是没有编程背景的普通用户。基础架构oncall的主要对象还是开发,所以总的来说,沟通理解成本可能会稍微低一些。做基架,也会给人一种更专业的感觉,很多知识都偏向于计算机底层,且通用,比如做网关的或者mesh的,换个公司,做的事情一般还能差不多且能延续。但业务开发,比如做电商的,如果离职跑去做教育,那需要从零开始重新理解业务。
行业上很多大佬都是做基架出身的。业务开发上班时间搞本操作系统来看,还看什么内核源码,那多少有些"不务正业","天天摸鱼"的感觉,但如果是基架开发,整这个就非常合情合理了。
安全方向
这里面最特别的就是做信息安全的,就是是最接近电影里黑客的方向,就业方向对口的是安全行业,学的东西也跟其他方向的不太一样,这里面有着比较大的gap。我至今不知道他们平时的工作内容是什么,但是经常能看到一个认识的老哥在网上找各种网站的漏洞然后提交官方后获得多少w刀的一个奖励。反正羡慕死我了。
这么多种类怎么选
行业怎么选
我曾经也当过大学生,也理解大家毕业前面对着这些岗位一脸懵逼的痛点。
如果大家对研究通用化的技术特别感兴趣,并且自身硬实力也较强,可以考虑做基础架构相关的工作,这块学到的东西更通用化。但是这块有个缺点,一般情况下,做基架会离业务远一点。
既然当程序员,选了这么苦的路,除了少部分对技术有这极大热情的兄弟们,那我盲猜大部分兄弟可能跟我一样,是因为钱包比较瘦。
那既然这样,我们聊聊怎么样的岗位有机会赚更多。
大家得明白一个道理,代码不值钱,业务和数据才值钱。如果业务盈利很猛,那你离业务越近,你越有机会跟着吃肉喝汤。
在商业化社会,公司都是为了盈利的,而盈利的,一般是业务部门。当然,不是每个部门都有机会盈利,所以一旦不盈利,被裁得最快的也是业务开发。
那么问题来了,什么样的业务,离曼妮比较近呢。以我浅薄的认知水平,目前看下来,游戏、电商,金融这三个行业离曼妮是比较近的,越符合人性的业务功能越容易盈利,比如短视频,游戏这些,就很符合人性。而教育,运动这种,属于比较反人性的,可能就难一些。但凡事无绝对,神级产品经理可以无视一切常理。
所以,打工人,不要把路走窄了。
离钱更近的行业
语言怎么选
虽然不管什么语言,都能实现相似的功能,但是从目前的行业情况来看,不同的语言在不同行业里会有一定的分化。
比如如果你做嵌入式软件开发,那你一般是用C语言。做电商一般也是java,做游戏一般是C 。而golang,目前用的公司也越来越多了,有用它做游戏的,也有用于电商,网页后台。
为了不引起语言争论,如果大家不知道选什么语言,那可以考虑下java或golang。java这一块人多,竞争激烈些。选C ,学习路线比较陡峭,过于博大精深。选golang的话,比较简单,同时没有太多历史包袱,唯一的缺点就是岗位相对少一些,但目前看下来比前两年更多,相信以后用的人越来越多。
如果你做游戏,又想转互联网应用方向,那么做golang挺好的,它可以在这两个方向里来回横跳。
最后
当然,以上都是一些人生建议。而且不一定对,都是我认知范围内的一些信息。大家听不听都不重要,毕竟很多人知道很多道理,依然过不好这一生。
比如我,以前做游戏的时候,游戏版号就被封了好长时间,行业确实也没之前那么景气了。后来认为教育是风口,想成为那头在风口上起飞的猪,结果这今年双减,长期来看可能也不太乐观。
干啥都凉,我小白,还真的是行业瞑灯啊,害。。。