双非应届生,CS 相关专业
本人非编程原教主义者
非常希望去做单机(前后均可)、网络游戏(服务器端)相关的职业,苦于找不清具体的技术栈
目前在一个养老型的外企,弹性工作,不加班,但是技术栈老旧
最近看了下 C/C++ 的市场,在魔都金融、期货类的占了多半。游戏偶有看到,再就是传统的工控领域。
想转型了,有点 Go 的底子,写过一段 Python,看了下 Go 和 Python 的市场,也觉得凉凉。
求各位大佬们,给点转型的建议:C#/.net/java 等等,都可以
个人技术栈小结:熟悉 C/C++、C++ STL,熟悉 Epoll、Select 模型,熟悉 TCP/IP,Socket 编程,网络通信等。了解 Nginx、redis、Mysql 等
ps:v2 的 md 排版好像有点问题,造成了 3.x 排序出错
时隔将近三年, OP 来出来贴下后续吧。
101
darknoll 2019-12-24 12:19:43 +08:00
做 C++不如做前端
|
103
darknoll 2019-12-24 12:49:06 +08:00
@mmqc 因为 C++没啥用了,它能做的其他语言都能做了。开发效率低下,工资要求还高,除了腾讯这种大公司还有一些做工控的啥的,没有其他公司用 C++了。
|
104
encro 2019-12-24 13:02:31 +08:00 1
@darknoll
C++ 不是没用,而是要坐很久冷板凳的,高性能领域还都是 C++, Python,PHP,Node 本身以及很多扩展都是 C/C++写的, 比如你用 Python 科学计算,机器学习,很多其实都调用的 C/C++写的库, 就是看你能否达到这个层次和找到这个机会。 你给 BAT 开源 C++项目捐献点代码,估计不用几天有电话或者邮件联系你哦。 |
105
softempire 2019-12-24 13:07:40 +08:00
来加我这个 C++的 QQ 群吧
<a href="https://sm.ms/image/zjSgF7HBIMenlPu" target="_blank"><img src="https://i.loli.net/2019/12/24/zjSgF7HBIMenlPu.jpg" ></a> |
106
tairan2006 2019-12-24 13:24:30 +08:00 1
C++还是很多用的,音视频多媒体领域啊,嵌入式领域啊,底层引擎啥的,问题是这些都需要经验积累。
写普通应用的话,用啥语言都差不多。C#确实工控领域用的多一些,或者其他一些 CS 的玩意儿。互联网倒是更流行 electron 这种… |
107
jmc891205 2019-12-24 13:40:58 +08:00 1
EDA 感兴趣吗?有兴趣的话可以联系我看看有没有合适的机会。
bWNqaUBzeW5vcHN5cy5jb20= |
109
mmqc OP @tairan2006 对,这就是目前尴尬的地方……没经验没人要,没人要没经验
|
110
BlackZhu 2019-12-24 14:42:54 +08:00
java 还行 一两天 boss 上就有给我发消息的 虽然是群发。。。。
|
112
janwarlen 2019-12-24 15:46:50 +08:00 1
能做的住冷板凳就坚持,C/C++的后期壁垒还是比较高的
目前就业市场最大的就是前端和 Java,但是前端的技术栈也比较混杂,有的前端从业者自嘲"池浅王八多" |
113
beingWH 2019-12-24 15:48:44 +08:00 1
我在魔都制造业用 C#做工控,测试方面的。一般是写桌面程序的,也有会写 web。其次还可能会用 Labview,matlab,python 之类的东东,反正挺杂的。
如果老哥是要走互联网这块,我感觉还是别搞.NET 了。制造业薪资的话看单位和行业的,但基本不太高。 |
114
mikuazusa 2019-12-24 15:50:21 +08:00 2
C++只是个门槛石而已,可以转算法、JAVA 啊,养老的话金融(风控、量化之类)比外企好,想做业务的话就选 JAVA 吧,不过也是青春饭,刚毕业还是先埋头专进去 1、2 年找好方向再选择自己喜欢的,风险更低
|
115
mmqc OP @janwarlen 目前在公司就是写前端的。老项目,技术杂乱到一定程度了。最原始的 mv 框架混着新的 mvvm 框架用……
我觉得不是坐不坐得住冷板凳,而是现在我连冷板凳都没得做…… |
117
mmqc OP @mikuazusa 谢谢老哥,我也是这么想的。先进去了再说,问题是现在写的是前端,而且项目太有问题了……
最后,就是我不太喜欢不成体系的技术。 转 JAVA 也不容易啊,现在都是要多少年经验的,公司内部也没 JAVA 岗,反而是做 JAVA 的转到前端了 |
118
rebeccaMyKid 2019-12-24 16:23:13 +08:00
我也搭楼主车求 C++工作,C++水平跟楼主应该差不多,1 年 Python 工作经验(爬虫,跟网站斗法不想斗了),坐标深圳,微信联系 maverlous2016
|
119
Ackvincent 2019-12-24 16:23:54 +08:00 1
搞逆向撒
|
120
rebeccaMyKid 2019-12-24 16:25:08 +08:00 1
面了 4 个,一个做机器人的,太远了一开始以为有得选,结果没去;一个做区块链的,技术面过了 HR 那里 fail 了,可能我说话太直了;一个做局域网视频传输的,笔试挂了;最后一个游戏公司,面完人家说要全部面一遍,再挑一挑。现在不想面了
|
121
mmqc OP @Ackvincent 招聘需求不高啊……而且都要求很深的经验……
|
122
mmqc OP @rebeccaMyKid 抱团取暖吧,我目前准备再投投,再面面,年前能搞定,直接离职。
年前搞不定,年后也要离职 |
123
rebeccaMyKid 2019-12-24 16:28:15 +08:00
@mmqc 加个 V 分享一下经验 :P
|
124
hijoker 2019-12-24 16:30:34 +08:00 2
C++我觉得比起 Python,go 什么的好多了(因为我做过 Python 和 Go 现在在找工作,深有感受),可以考虑下 QT,我曾经做了点 QT,在简历里写了下,现在还时不时有公司在 boss 直聘上主动找我
|
125
mmqc OP @rebeccaMyKid 好,我加你
|
126
dosmlp 2019-12-24 16:37:07 +08:00 1
编程这件事 80%和语言无关,一通百通
|
127
mmqc OP @hijoker 老哥,从职位的总数来说,是这样的。但是细分下去的话,不一定。
QT 我不是很想做……因为可替代性太强了,而且技术深度基本没有 |
129
b0644170fc 2019-12-24 17:52:50 +08:00 1
熟悉 C/C++、C++ STL,熟悉 Epoll、Select 模型,熟悉 TCP/IP,Socket 编程,网络通信
LZ 熟悉的这些,都是我想学习的.不过我是做 java 的,最近开始学习上面这些东西 |
130
tyrantZhao 2019-12-24 17:58:40 +08:00
cpp 领域很窄。。。
|
131
mmqc OP @b0644170fc 那我来帮助你一下,给你推荐几本书:cpp primer、APUE、Linux 核心编程、CSAPP3
|
132
mmqc OP @tyrantZhao 还行吧,就是入门的门坎有点高
|
135
tyrantZhao 2019-12-24 22:40:48 +08:00
@mmqc 我觉得做一般东西还好,入门挺快的。不搞那些花里胡哨的。
|
136
codewarrior 2019-12-25 07:10:13 +08:00 via Android
同意 c++没什么前途,论简洁便利不如 Java、c#,坑还多;论高效不如 c,坑少。不要纠结于语言,而是选择方向,努力成为某个领域的专家。
|
137
dangyuluo 2019-12-25 08:56:57 +08:00
我觉得 C++挺好的啊,很多公司都要求 C++
当然你的定位如果是 script boy 的话那就算了 |
138
ricjm 2019-12-25 09:22:51 +08:00
明年也要去某养老院写 C++
|
139
mmqc OP @tyrantZhao 入门是快啊,想用骚操作,就慢了
|
140
mmqc OP @dangyuluo 什么叫 script boy ?
很多公司要求 C++ 不错,问题是要求的是有一定经验的 C++,有几个公司愿意培养新人呢? 或则说,有多少新人能坚持过培训期,完成过培训后不跳槽呢? 这不是一个博弈,而是一个互相输的 |
141
345161974 2019-12-25 10:21:30 +08:00 1
@codewarrior +1. 不要纠结于语言,而是选择方向,努力成为某个领域的专家。
|
142
mmqc OP @codewarrior 的确没纠结语言,在选方向了……
各个方向除了语言层面的要求之外,硬性就是 xx 年从业经验 |
143
Venow 2019-12-25 11:50:42 +08:00
@mmqc @rebeccaMyKid 我是 Windows C++,想转转 linux C++。基础已经看的差不多了。想问问:是不是需要准备一个 linux C++的项目去面试?该准备什么样的项目?
|
144
tyrantZhao 2019-12-25 12:07:23 +08:00 1
@mmqc 一般不需要啥骚操作
|
146
mmqc OP @tyrantZhao 明白了老哥,我去看看,如何入行吧
|
148
ncwtf 2019-12-25 14:19:39 +08:00 1
把自己的死循环条件放低点
一头扎进某个行业 明年今天,你就有经验(不是技术上的,是行业里的)了。 |
149
tyrantZhao 2019-12-25 14:19:50 +08:00
@mmqc 这个自己玩还是挺好玩的,要是工作可能不太好找。。。
|
150
mmqc OP @ncwtf 现在已经在工作了,不过是前端。而且行业,也是夕阳产业……我现在缺的就是扎进行业。
要是任意一个行业都可以的话,我早就不纠结了…… |
152
xiexiping 2019-12-25 16:19:57 +08:00 via Android 1
个人看法,cpp 被做的太复杂了,现在对应的岗位也少的可怜,待遇也不突出,如果不是历史原因,估计现在出来的话应该没人会选择去学习它吧,不要讲什么图像处理操作系统内核什么的只能用 cpp,有几个人去干这些工作的?语言作为工具一定是越简单易用功能强大越受欢迎,反之一定会越来越势弱
|
153
xiexiping 2019-12-25 16:27:59 +08:00 via Android
好像做游戏用的比较多,不过做游戏的跟做应用软件比人数还是少的多吧
|
155
1219178163 2019-12-25 17:05:49 +08:00 1
rust 好像前景不错
|
157
libook 2019-12-25 17:15:07 +08:00 1
如果实在系统开发方面的话,强烈推荐 Rust。
想做服务的话可以学 Go。 然后 C/C++也不要扔,系统开发就属 C/C++轮子多,有需要随时可以直接用在 Rust 或 Go 上。 |
159
mmqc OP @1219178163 rust 现在入门都是个事儿……
|
160
mmqc OP @xiexiping 这个观点有很多人,都赞同的。包括 CPP 之父,他说 CPP 做的太过复杂了,好多 C++17 的标准,还没支持呢,结果就把 20 的草案推出来了。他说,CPP 应该考虑大多数,普通程序员的需求,而不是作为大佬的玩具
|
161
j4fun 2019-12-25 17:22:17 +08:00
我 C++。。简历在 boss 刚更新半天。。叮叮当当响个不停,都是要我面试的,你跟我说不景气???
|
163
mmqc OP @j4fun 那个城市?什么行业?询问你的多少外包?多少做金融的?多少做工控的?
刨除这些外,如果还很多,只能说明您厉害,别的说不了,说明幸存者偏差的存在 |
164
hatsuyuki 2019-12-25 17:31:10 +08:00
@j4fun 如果是游戏公司的话,游戏行业确实不景气,很多人年底离职,再加上过年要搞活动,事情多,招聘需求就多了,但有些公司是招来赶完进度就踢了
|
165
1219178163 2019-12-25 17:33:18 +08:00
@mmqc 怎么讲?
|
168
mmqc OP @1219178163 就业市场啊,现在公开招聘 rust 的怕是连 C 的零头多都没。
数据来源:半个月前魔都、京城的招聘。 Rust 现在用的,也是大公司内部转岗,或则那些经验丰富的老人。不是初入行的人能沾染的 |
173
xiexiping 2019-12-25 17:56:55 +08:00 via Android
@mmqc 以前记得在哪看过一句话说 C++之父自己现在都不敢说自己精通 C++了,不知道真的假的,可笑的是现在好多招聘需求不管招聘什么职位给多少钱先写上精通 C/C++
|
175
sgissb1 2019-12-25 18:48:44 +08:00
纯 C++不好做了,一方面业务上被 java 和其他语言一点一点蚕食,所以纯 C++在业务上的地位也越来越小。
但至于一些精准需求的或核心模块,比如高并发、高效的代码,还是有不少用 c++写的。问题就在于,刚毕业的小伙很难接触,而且要有很明确的目标,一点一点熬出来。 |
176
mmqc OP |
177
xiaochun41 2019-12-26 10:28:51 +08:00 1
根据你的描述,可以考虑腾讯,你去腾讯的招聘网站看一圈他们的 jd 你就懂了。
|
178
mmqc OP @xiaochun41 嗯,有看过,就校招没进去,社招经验不够。
现在就是想找个匹配度差不多的行业,先干着 |
179
sgissb1 2019-12-26 14:32:45 +08:00 3
@mmqc 兄弟,你理解的略有偏颇。首先你理解的没错,一个新技术出来,慢慢的会走向成熟,也就会出现大量稳定的基础库和特性。但 c++位置发生迁移的原因比较复杂。
比如: 1,现在硬件性能越来越快,网络越来越快,大家在某些场景下对性能方面的考虑不再成为首位,而是退位到第二、第三等。所以也就给了一些原本天生执行性能不是太好的其他语言有了发展的机会。 2,c/c++流派太多,发展的太复杂;导致能写好代码的人少,烂代码制造者占大多数。首先 c/c++中的数组、指针其实就够很多人提一壶,更不用说其他和数据结构有关的特性。人都是趋利的,没有利的事情大家一般不会去做的,自然对于提高自己工作技能的事情,有些人基本不做,有些人低效在做,加之语言本身特性复杂,还涉及一些底层的东西。就容易导致开发出来的东西质量差,难维护,不好用等等。这也是很多 c++程序员内部战争的主要焦点,当然也有很多教条主义者的奉行。 3,开发周期长。c/c++没有比较健全的公共库,其公共库还停留在好几十年前。即便是 stl、boost 也于事无补,因为 stl 实现版本太多,有些实现源代码可阅读性奇差无比。boost 大量套用模板和一些层层包装,也让整体变得极其复杂。平台间差异性对用户不透明,所以就导致了很多平台分化的程序员;这种情况在 java、python 等语言是很难见到的。 4,钱。人为财死,鸟为食亡。c++有很多好处,但对捞快钱,捞热钱,稍微“懒惰”的人来说,是极其不友好的。所以。。。你懂的。 5,扛大旗带的节奏影响,这样说是因为不知道怎么表达比较合适。人类社会有史以来都有一个有趣的现象,聚光灯下的个体或集体比较容易影响更大团体的走向。就像很多年前某 A 公司开始推行 java,然后 java 在国内从差点要死到突然井喷一样( java 以前一直是 IBM 推行);知道现在某 G 公司搞了 go,出现就连 java 也有少许地位和 c/c++一样被 go 蚕食。 所以不好说某个语言的好坏,有时候也要看看是不是有带节奏的。毕竟市场突然出现一堆 c++、java 或者 go 的程序员在找工作时,总会出现一些比较厉害的人,没有就业岗位自己创造就业岗位的情况嘛。 6,施乐智程序员,不想报粗口,只能这么说。不但是程序员,做技术的,总有一些人稍微了解点技术就忘乎所以,这也是所有技术人,不区分国界,不区分语言和技术的一个共同特点。具体表现有很多,比如一行代码拯救世界,比如我的技术我最牛,比如这个技术就是这样实现的等等(其实是某种本位主义)。都说精神病人思路多,问题儿童欢乐多。但这个问题在复杂的 c++上,也加快了 c++地位的迁移。 c++这个岗位是一个围城,需求占总体开发人员中不算很大(因为还有 c、java 等),但需求都是很刁装的。兄弟且行且珍惜。 |
180
mmqc OP @sgissb1 老哥,一针见血。从技术层面,语言的生态层面,技术的生存层面,技术的发展层面,技术的应用层面分别指出了,C++ 的出现现有情况的原因。
非常感谢老哥! 同时,也正是因为以上您说的这些原因,所以我一直不是一个编程原教主义者。 现在,也只能先熟练业务,再去根据自己的业务领域(专业领域)来选择更合适的语言。 过去语言是工具,现在语言也是工具,未来语言更是工具。语言是拿来给人用的,而不是人要去是要依赖语言的。 以前看到过一句话:好多人,多工具的热情大大超出了,拿工具做事情的热情。比如我,刚开始一直折腾 GTD,却忘了,我要拿 GTD 来干嘛。 最后,我觉得现在不只是 C++ 是一个围城,现在好多程序员所在的领域都是围城…… 再次感谢老哥。 最近准备再好好调研下市场,再看看,自己到底能入哪一行吧…… |
181
sgissb1 2019-12-26 19:45:04 +08:00
@mmqc c 和 c++应用领域慎入,真的,现在 c++需求在大规模收缩,入行门槛也越来越高了。虽然学好 c++大部分编程语言不是问题,我也是间接受益者(因为 c++我还没完全熟悉)。不过真的慎入,不如观望下 python,未来我觉得 python 可能会发展的比较好,go 的话我持观望态度,很有可能会短命,也有可能会发扬光大。
|
182
mmqc OP @sgissb1 我觉得 Python 的话特定领域还行,不会成为通用型的。原本 Python 好用的领域,现在依旧好用。原本 Python 触及不到的领域,到现在 Python 同样无法触及。( ps:时间节点:人工智能大火之前)
Go 的话,我觉得生命完全看社区了,就我以前了解的 Go 的版本、特性的变化,估计啧啧…… Go 比 C/C++ 强就强在,对程序员的要求不高。正常人,接触、上手后写的代码性能不会差。但是要写好,不容易 |
183
j4fun 2019-12-27 10:52:53 +08:00 1
@mmqc 深圳,迅雷,腾讯还有绿联深信服,还有其他一些我都不认识的,就不说了。没有什么外包金融大部分是互联网。没有什么幸运,有的只是简历能写多少行有用的东西。说句难听的,只想着赶浪潮的人只会被浪拍死在沙滩上。20 岁可以学学语言学学工具,25 就该学学怎么思考了。遇到过一些人天天说着 C++20,想着用高级的用法。但是自己连实现原理都不知道,问这么用有什么好处也不知道,问就是 C++标准这么牛 X,不会有啥问题的。不求甚解注定只能追着一个个又一个浪。
|
184
mmqc OP @j4fun 我在魔都,没看到过迅雷的招聘,腾讯、阿里、滴滴、美团、百度、华为、喜马拉雅再比如最近很火的米哈游甚至平安都有看到。
简单说一下,BAT 三家校招没进去,走社招的话,经验就是一个刚毕业的人无法企及的条件。当然,如果很牛有很厉害的项目经历、甚至是主导了某些开源项目,绝对能以应届生的身份进去。说实话,我不信这样的人,在校招时会进不去 BAT。 剩下的滴滴,美团等等前两天我刚看过内推的岗位,经验 3-5 年。 你如果只说,就业的职位数量,不考率入职要求,那么 C++ 还行。 但是综合考量起来,对应届生来说,想进个不错的企业的话,就是地狱难度。 而且,你说的深究技术,没问题。我觉得技术不是闭门造车,而是有现成或接触过的场景,才能更好的去理解。 要不就是读死书了。 我最后补充一句难听的,在社招时你说你对某某语言理解多深,但是却结合不了应用场景,怎么也做不了一线的工程师吧?包括一般人认为和业务逻辑脱离的算法工程师,在工作时,首先考量的也是业务能力。 |
185
sgissb1 2019-12-27 15:19:20 +08:00
@mmqc go 我持观望态度,主要是作者太迎合大众口味。容易上手,各种四不像就是最好的迎合。因为容易迎合,导致失了智的程序员大批涌入,都快成为第二个 js (现在叫 es )了,动不动就要在某某领域干掉某某语言。其实一点都不好。
|
186
jiangbingo 2021-07-14 14:05:23 +08:00
再来挖一下,楼主如今从事哪方面的技术栈了?
|
187
anmu 2022-04-12 11:57:19 +08:00 via iPad
大佬现在在从事什么?还是 cpp 吗?
|
189
mmqc OP @jiangbingo C# 后端
|