你好,我是阿秀。
以前已经写过一篇文章聊了聊对于校招这块的语言选择,到底是选Java还是C++或者是Python?当时也说过不建议开发岗学习Python的原因,而Java还是C++的选择建议二选一就好,你要是基础弱的话就直接学Java,没看过的可以去看下这篇文章:Java or C++ ?到底学哪个?
今天之所以再次说起这个话题,是因为短短两年时间里发生了很多事情,校招形势这块发生了翻天覆地的变化,最明显的变化莫过于这几年 Java 后端竞争太大没坑位,很多人说Java后端一片红海、灰飞烟灭、哀嚎遍野。。。
更有甚者,也出现一种言论说"不少25届C++技术栈的颗粒无收,属实输麻了。。。",那问题来了,C++找不到工作,Java竞争大也没坑位,Python不适合作为研发岗语言选择,那么多上岸的 25 届技术岗同学都是学的哪门语言?
1、变化
算上今年,我已经参加了四年的互联网秋招了。
第一年我是局中人,是学生,是以求职者的身份去参加秋招的;
后三年我是局外人,是帮很多人内推实习&校招岗位的内推官,是以岸上人的身份参加秋招的。
可以是说我以两种不同的角度经历了四年计算机秋招。
以前校招找工作的时候是没有线上面试这一说法的,也就是说你想找什么工作必须本人亲自去线下面,当时找工作是需要坐车去北上广深、武汉、南京这些城市线下面试的;
后来因为疫情等因素,慢慢流行起来线上面试了,比如用腾讯会议、飞书、Zoom这些软件或者直接使用牛客的在线面试平台进行面试;
计算机校招薪资也正是在这几年突飞猛进的,17、18 年的时候互联网校招信息远没有现在这么高,那个时候 10K 就算是很高的了。
后来就是人工智能、AI的春风刮到了互联网,算法岗最先起飞,然后夸张起来,一些公司甚至给算法岗应届生开出 38K/月,总包70w+的超高薪资,但以前聊过不建议普通人从事算法岗,这里就不再赘述了:为什么我苦口婆心劝你不要找算法岗
再后来,风口慢慢蔓延到研发岗了,开始从 10K 涨到 15K ,再到现在的 20K、25K,研发岗总包也渐渐的由 15W 涨到 20W、30W,以至于现在很多 40W 的总包很多人都看不上眼了。。。
说出来你可能不信,如此翻天覆地般的变化就发生在这七八年间。
2、学Java为什么这么多?
去年我还在字节跳动抖音的时候,参加了校招内推活动,春招 + 秋招都参加了内推活动那种,加起来内推了超过 2000 名同学进去。
但很多同学都倒在简历关了,其中不少都是有着 211 高校背景的同学,挺可惜的,其中挂的最多的莫过于那些Java后端的简历了。
如果你以为只是大厂投Java的人多,那你就错了,不只是大中厂,就连一些小公司也波及到了。
我一个朋友在长沙一家小公司当HR,是个刚刚度过创业期的小公司,去年打算在校招中招5个Java校招生好好培养,结果直接收到了一万七千多份简历、、、是的,你没有听错,5 VS 17000
学Java的人真的是太太太多了,学习Java的人会这么多,投递Java岗位的简历会这么多,大致可以归因为以下 3 个原因:
1、非科班转行
对于非科班来说,他们转行首选就是Java,看看市面上的各种培训机构,搞Java培训的太多了。。。
B站上编程类视频播放量最多的基本都是Java相关,不是Java基础就是Spring,要不就是Java项目。
2、学习难度
Java相比于C++,好入门一些,学的快,成熟的项目和Demo好做多了。
我只听说过Java三个月速成,找到工作的;还从来没听说过,C++三个月速成,找到工作的。
对于小白来说,一本C++ Primer你就要看至少2个月,加之很多人听说C++难学,直接放弃,转而学Java。
3、资料太多
以前网上是没有这么多学习资料的,现在各种满天飞的Java资料,八股文、学习视频多不胜数,你接收这些讯息变得容易太多了。
以前你想找《深入理解计算机系统》的读后感真的很不容易;这些满天飞的Java资料无形中就会促使你选择Java,因为随便就到手了,照着学就行了。
最终各种因素加起来导致学习Java的人真的超级多,明年Java后端只会更加严重。
但今天我不是来劝退Java的,Java天花板很高,是写业务的最好语言,也很值得学。
3、前端真的已死吗?
"xx已死"这种言论,最开始是从客户端岗位开始的,最近两年好像慢慢开始唱衰前端了,认为前端天花板低、事多、要求高、没有好学校加成上岸不了。
前几天看到一位牛客网网友晒出来了自己的秋招offer:腾讯WXG + 字节跳动,其中腾讯WXG还是做的微信支付业务,这已经是互联网技术岗的天花板级别的业务了。
不少人认为其大概率本硕985背景,要不然不可能以前端为技术栈找到这两家的offer,但这位同学晒出个人背景让人大吃一惊,他原来是一位 25届的双非本科在读生。
点开他的主页,我发现早在23年12月份这位同学就已经拿到了货拉拉的前端日常实习offer,已经OC了。
按照他今年秋招,那么23年12月份的时候这位同学还是大二上学期,那个时候大多数人甚至还没在课堂上接触操作系统这门课,更多的人还是在纠结学什么语言的时候,这位同学已经拿到了一个中小公司的前端实习offer了。
很多同学非大厂实习不去,认为没有含金量,跟大多数人初始目标定的就很高不同,这位同学则是"猥琐发育",从中小公司入手,珍惜实习机会,步步为营,稳扎稳打。
再看这位同学今年五六月份的动态,你就会发现他已经有机会面试腾讯WXG、美团核心本地到店等部门了。
这位同学只是我在牛客网上偶然看到的,以前从不认识,也没关注过他,算得上是沧海一粟,但这类以双非背景最终拿到含金量很高offer的同学,他们身上基本都有一些共同点,那就是背景一般
、早早选定一个方向深耕下去
、早早出去实习
而不是认为xx已死
,xx无前景
,xx不值得去
4、一些建议
每个人适合学哪门语言都是要根据个人的具体情况具体分析的,在不论个人背景和基础的情况下统一推荐xx语言都是不负责任的表现。
这里简单给个结论,你适合学哪个?
给最终建议之前,我先把求生欲打出来,以下给的建议只是个人看法,仅从上岸难易程度给出,下面这些建议也不代表绝对的权威性,只能说是参考。有不同意见的欢迎留言,喷子直接出门右转不送。
1、如果你是在校生&打算学Java,比如已经学完了Java基础、JavaWeb,甚至Spring全家桶都已经学完了的这种,就不要转C++了,不值当了,继续走Java吧。
可以预见的是之后的几届随着非科班转码的日渐增多,Java这块只会更多人学,不会少人,特别是对于一些非科班的同学而言,更是如此,要好好学Java。
今年看到的几个牛客网上几个学校不太好,学历一般的同学,都是跟阿秀一样都是普通二、三本出身的同学来说,你会发现他们有的准备时间甚至比我当初更久,阿秀自己是提前了一年左右的时间去系统学习&准备。
2、如果你是在校生,Java刚开始学或者说刚开始学Web这块的东西,可以考虑换一下技术栈,学C++可能会比较好点。
C++这块除了一些常见的互联网岗位,比如后端、服务端、游戏开发之外,必要的时候甚至可以考虑往硬件和嵌入式方向靠一靠。
当然这是从上岸目的来说,如果你是认准了非互联网行业不去,那Java可以投递的岗位肯定比C++多多了。
多说一句,今年硬件和嵌入式开的都不低,有个师弟昨天跟我报喜说秋招是嵌入式技术栈,有个公司给他开了26K/月、、、
3、对于一些女同学而言,后端比较辛苦,如果不是真爱后端,有着明确的方向要求,其实可以多考虑一下前端。
更有甚者,如果只是想从事互联网行业,也可以选择测开或者测试行业试试,会轻松一些。
我对象就是做测试的,目前在携程;我以前在字节做研发,累的一批。。。结果她每月到手就比我少1K,基本每天都比我提前下班2个小时左右。。。我经常是想着想着心态就有点崩,投入和产出完全不在一个level。。。
4、对于一些男同学而言,如果你只是想要从事互联网,不要把眼光局限在Java或者C++这两种后端语言上,新晋后端语言Golang也是一个好选择,做业务的一把好手。
但不要选择Rust,因为太难,学习曲线太难,远比C++的学习曲线还要陡峭。
不要埋头只顾着傻傻的学,有时候也要抬头看看外面的世界。
5、如果你打算学C++,也不要一个webserver 项目投天下,不然会输的很惨,甚至也没什么必要一定要走后端开发岗位。朋友小林的分析挺对的,这里摘抄一下:
C++ 结合后端项目(应用 mysql、redis、mq 的项目),投后端开发岗位 C++结合嵌入式项目(应用 stm32 单片机、机器人的项目),投嵌入式开发岗位 C++ 结合音视频项目(应用 ffmpeg、视频编解码的项目),投音视频开发岗位 C++ 结合游戏项目(应用Unity、Unreal游戏引擎的项目),投游戏开发岗位 C++ 结合QT客户端项目(应用QT的项目),投工业软件开发岗位
不管哪门语言,都是它适用的场景,不管是C++ 还是Java,或者是Golang,亦或者是Python、JavaScrip之类的,哪个方向都有人找到合适的工作,都能收获果实,最重要的是要一条道走到黑,而不是今天看这个,明天学那个。
你好,我是阿秀,普通学校毕业,校招时拿到字节跳动SP、百度、华为、农业银行等6个互联网中大厂offer,这是我在校期间的编程学习之路,详细记录了我是如何自学技术以应对第二年的校招秋招的。
毕业后我先于抖音部门担任全栈开发工程师,目前在上海某外企带领团队继续从事全栈开发,负责的项目顺利盈利 300w+。在研三那年就组建了一个阿秀的学习圈,一直持续分享校招/社招跳槽找工作的经验,都是自己一路走过来的经验,目前已经累计服务超过 4000 +人,欢迎点此了解一二。