关于应届生跨行工作的问题,想问问各位前辈

2023-01-18 21:02:24 +08:00
 acctv2

先介绍一下个人背景:

学历: 中流 985 硕,冷门工科方向。

基础: 大一学过 C 语言后一直都有零碎地写一写代码,但是系统性地计算机学习不是很多,计算机四大金刚课基本都不会。接触时间长一点点的应该是 C++,去年年中看完了 Rust Book ,感觉很有意思。但整体上都是不系统,不工程,不上层。 从大一 C 语言课入手,后续写过 C++/Python/C#,Python/C#拿来给实验室写过小工具(非常简单的那种自动化+按钮 GUI 的工具,带一点上位机功能的那种)。


转行的想法也很简单,因为自己是一个偏冷门一点的工科方向,跟 EE 沾点边,但是根本喝不上芯片大热门的一口汤。去年师兄找工作 offer 基本上动态清零了,大一点的企业投完了就是石沉大海,小一点的公司才会给面试机会,否则只能去各种小研究所。师姐们更惨,一个拿了国奖的师姐投了一圈一个 offer 没有。

我个人之前本科的时候也比较喜欢写代码,但是因为路径依赖读研还是选了本方向,没有狠下心跨考。现在自己的想法是既然是转行,要求就不能太高,所以暂时给自己定了个前端的方向(因为感觉上手会更快),然后锚定的目标是二线中小厂。我的问题主要有以下几个:

  1. 作为一个转行码农,选择前端还是后端更合适?
  2. 如果选择前端 /后端,在今年下半年参加校招,比较短平快的学习路线是什么?
  3. 互联网大环境也在下行的情况下,是不是选择二三线小厂 /其他非互联网行业软件岗位更合适?
2275 次点击
所在节点    程序员
16 条回复
BraveXaiver
2023-01-18 21:08:15 +08:00
后端,java 。
B 站上随便搜一个 java 的课程的合集,一个 spring boot + mvc 的合集,不需要货比三家,搜到一个就学,学完就行。然后自己做个网站,做的时候再学 reactjs 或者 vue ,要有基本的了解。
不知道。
cgcs
2023-01-18 22:03:22 +08:00
数学,统计之类的基础如何?
djoiwhud
2023-01-18 23:41:43 +08:00
问题 1 ,985 学历,前后端选后端。后端首选 java ,其次选 cpp ,再选 go 。当然,大概率不同语言你最终都会在工作中用到。
问题 2 ,先找你在软件行业工作多年,有管理经验的亲友,咨询他们的意见,寻求协助。b 站看视频对入门来说,速度会比较快,但是没法深入,要想深入还是要系统的看书看源码。多练习。包括刷题,和实际工程代码。
第三,我做 cpp 在医疗影像-gis 领域的公司的两个同学都还挺爽的。薪资达不到互联网的水平,但是稳定,整体福利规范。我只能说,是个可选的选择。

最后,多看书,多写代码。985 的工科专业的进个中等规模的公司问题不大。
acctv2
2023-01-18 23:52:57 +08:00
@cgcs 本科三门数学课倒都是 95+ 90+,但是没有成体系学过,都是上完课考完试了事。应该算合格水平吧,干大部分活不太拖后腿。
acctv2
2023-01-18 23:56:38 +08:00
@djoiwhud 推荐后端 Java 是因为工作岗位更稳定吗?我之前怕后端体量太大来不及才考虑前端。
学习路线我没有合适的咨询人选,不过培训班视频入手确实是个通用的法子。

感谢你的建议
acctv2
2023-01-18 23:57:46 +08:00
@BraveXaiver 感谢建议,都是推荐后端偏多呀
djoiwhud
2023-01-19 02:13:41 +08:00
@acctv2

后端体量大,意味着护城河深一点。你容易上手的,别人也容易上手。初中生能做得好的事,你也可以做好,那你的优势是什么?企业完全可以用初中生。要在优势现场正面作战。不要总想着打游击投机取巧。

前端一般不会深度涉及系统方案。后端的职业生涯上限高。

本来就是比谁更勤奋努力,谁更愿意花时间。你能混进 985 ,我相信智商和努力的习惯上没什么问题。能不能混得好,就看是不是事业心强。
acctv2
2023-01-19 11:48:01 +08:00
@djoiwhud 好的,谢谢建议!我试试规划一下后端的路线
airchaoz
2023-01-19 16:03:10 +08:00
我跟你情况差不多,只拿到了一些小厂的 offer ,最后签了一家风电公司,做软件开发。
HappyFox
2023-01-19 23:29:45 +08:00
作为一个转行码农,选择前端还是后端更合适?
前端和后端都是大分类,我说一下我对这方面的理解吧,有不对的辛苦各位老哥补充:
前端
- 如果粗浅的分为技术和业务,那大部分业务是以利用现有工具展示特定页面 or 效果,主要是负责各类型的界面展示、交互,保证用户能顺利使用公司提供的服务。这方面需要你能正确理解对应平台开发的方式,比如安卓要跟着谷歌、iOS 看苹果、网页要跟着 ECMA 和各大浏览器内核看齐、非 IT 行业的工控机则是 Windows 的天下。我也没法告诉你哪个平台在你工作的时候会火、会赚钱,但目前看来前端领域的趋势是跨端融合,客户端和网页端合并成大前端部门,H5 开始考虑跨端,安卓和 iOS 则开始往底层性能深挖、提高工作深度。如果没有下一个创业潮,后面市场的趋势有可能变成缺大量网页工程师和少量中高端的客户端工程师。毕竟小程序、网页对创业者是真的友好。
- 技术方面主要分 [如何压榨硬件] 和 [如何提升效果] (再细分参考图形学),压榨硬件的比如游戏引擎( unity 、虚幻)、网页版软件(比如 photopea 、稿定设计),这些因为有的效果不好看、或者效率不够高,所以除了基础的编程外,最好有一定的图形学基础。部分比较优秀的业务软件也会在这方面有一定投入,比如飞书的客户端据说是用到了 Rust 。
- 个人私货:如果你将来想做一款属于自己的产品,或者对如何用技术满足用户有很大的追求,那前端绝对是一个很好的选择。但如果对用户体验没啥追求、又对图形学没啥兴趣,那就不推荐了。

后端
- 后端其实分类更多,不同分类天差地别,但由于不面向用户,所以统称后端。
- 以我粗浅的理解,可以分为业务、稳定性、技术三个部分。
- 业务大家都很懂,可以理解为设计一个数据处理模型,并用对应的编程语言实现,并保证模型稳定运行,上下限都看公司业务发展情况。如果公司比你努力,那什么异地多活、两地三中心、分片、灾备、100K 问题,你都很幸运的有机会可以玩一遍,最终成为解决特定领域特定问题的管理大拿+业务大拿+技术大拿,以后这个业务领域的问题其他公司都只能来挖你的小弟;但如果公司没有你努力,那你的上限就取决于你自己的技术追求,而且管理能力很难锻炼出来。毕竟,管理 100 个人去搬砖、管理 100 个硕士去搞个商城系统和管理 100 个数学博士去搞量化交易,对人的要求是不一样的。
- 稳定性单独列出来,这个主要是 SRE 、网络、服务器运维、语言框架、数据库、各种中间件、开源组件云服务化(或者私有云开发者更恰当?)的领域,这些都是要求你对一个领域异常熟悉,最后走的都是技术专家的路子。如果你喜欢计算机底层,还有自己喜欢的领域,那机器推荐这个。但咋说呢,这个其实更细分了,研究路由器的和研究 MySQL 的肯定不是一个组,甚至成长背景都不一样。比如很多网络领域的大佬是从传统硬件厂商跳槽来拯救我们的,就像比特反转,你业务代码再 NB ,架不住底层路由器给你来这么一下子,要是没有这方面的资深人士很难排查。这里面的水很深,如果想做,建议一开始就直接瞄准对应的部门去考虑他们的校园训练营 or 实习,他们校招一般收人很少。
- 纯技术的就比较少了,有些方面是研究稳定性的同事兼任,有的会有专门的团队,但人一般很少且技术氛围很好,能去就去。

如果选择前端 /后端,在今年下半年参加校招,比较短平快的学习路线是什么?
- 看视频入门,B 站的就不错。如果想看新的,淘宝上可以买一些培训班最新的视频,但是带加密不能截图
- 然后快速过一下你做的方向比较靠谱的书,看看有啥落下的,主要是确认自己学的没啥问题,不要卡死在细枝末节,以能写出一个可以写简历上的项目为主
- 重中之重!!!能去实习就去实习,找那种能写代码的、和你想找的工作沾边的。实习远大于自己瞎捉摸,远大于简历上看似炫酷的项目。有时间一定要去实习,甚至有可能直接解决就业问题。


互联网大环境也在下行的情况下,是不是选择二三线小厂 /其他非互联网行业软件岗位更合适?
具体问题具体分析,前面是分析,总结直接看 3:
1 、选择公司要看公司有没有钱、你做的是不是给公司挣钱的主营业务、公司的业务是不是能长久的业务。
公司有钱才能给你发工资,主营业务才会不断面临各种增量业务场景而不是给人擦屁股、只有能长久的业务才会考虑稳定的技术建设而不是一把梭哈+人和代码有一个能跑就行。
2 、在公司正常的情况下,业务带给你的是对应领域的扩充,领导带给你的是个人成长的引导。
送你一首打油诗:同等领导选业务,同等业务选领导,领导垃圾换公司,业务垃圾学完跑。
大厂也有边缘业务,小厂也有核心业务,非互联网行业软件岗位更有高精尖的业务。但你去干啥的,和厂子的关系不大,还是要看业务。甚至业务都太粗了,得看你的领导。一个好的领导能让你五年后直接起飞,甚至直接带你创业带你飞。好业务遇上垃圾领导,那你在他手下也只能靠公司的集体荣誉感安慰自己。最坏的是垃圾业务垃圾领导,这不会负负得正,只会变成负的 n 次方。领导这玩意吧,记得提前打听下,不求各家企业创始人那种逆天的好领导了,至少找个没负面评价的。
3 、在 1 和 2 都没问题的情况下,没有明确目标就选大厂。
- 相比小厂,大厂会带来各种各样的案例和样本,一毕业选择大厂你会学到很多在小厂接触不到的方面。比如一个业务的收益评估可以从哪些方面,技术上的法务评估找哪几个律所专业。而且大厂会养大量不同的业务,你可以轻轻松松的找到对应的同事来约饭沟通,找到自己喜欢的领域。甚至大厂即使是裁员、破产,也大概率会比小厂体面得多。
- 如果有感兴趣的领域,在 2 没有问题的情况下,找一家你能去的、最大的公司吧。很多小领域只能看老板和团队氛围,比如量化交易、时序数据库,他们很难根据公司规模来判断是否靠谱,只能通过同业评价口口相传。
xuanbg
2023-01-20 05:45:28 +08:00
前端后端的岗位一起投,投中哪个转哪个就行。
acctv2
2023-01-20 10:20:55 +08:00
@HappyFox 感谢这么详细的建议。我会仔细考量的,现在也是准备先从 B 站视频入手,然后过年后开学碰一碰实习
runtousa
2023-01-20 20:03:41 +08:00
c++也不错
vrqq
2023-01-20 23:44:54 +08:00
推荐一些快速进阶的路子:找高人带,上手写个项目,站在他们的角度设计代码,从无到有,从模仿到融会贯通。另外算法竞赛、硬件知识等基础需要同步提高,人和人的思维方式往往在这些训练中趋同。
在之后闲暇时间,可以多看一些 github 上比较 common 的小项目,然后在进阶大项目,同样是学他们的设计思路和思考方式。

思考方式可以训练,推荐 codeforces ,祝楼主成功。
vrqq
2023-01-20 23:49:53 +08:00
可能在这其中会换很多的兴趣方向,这很正常,在不断地试错中尽快找到自己深入的方向。
每个细分行业往里面走都很专,很难搭积木造产品。。
acctv2
2023-01-21 14:09:32 +08:00
@vrqq 我打算找个教程入门一下后就开始学一些项目。

找高人带是做不到了,有高人带也不用问这种月经问题了😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/909775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX