本人非CS科班, 本科专业生物医学工程,硕士为电子通信工程(搞的是微电子相关),毕业后进入百度(干了11个月多跑路了,受不了坑爹经理),目前在快手。
工作变动,目前在字节,附上字节内推
字节跳动校招内推码: JKTYGB7
投递链接: https://jobs.toutiao.com/s/ifMpnW8
想写下自己转行以及工作中的一些总结,希望给后来者一些参考吧(如果需要,如果能帮到,我感觉就挺好,因为CS本就有着开源的精神)
1. 关于转行
如果说EE算科班的话,那我也在一定程度上同意,毕竟相比较与生化环材,确实离CS更近。 但我平时也并没有受过正经的培养,课程都是一些信号处理,高数,矩阵论,随机过程等(说实在 应该去搞算法更好)
当然也学过一些基本的C++,C语言等课程,但跟CS相比不值一提。 一开始我是喜欢硬件的,学CMOS模拟集成电路的时候,那是很有精神的(对了,还学过量子力学什么的),最后在找工作前半年,向生活低了头,转CS了。因此不多废话,下面我就厚脸皮分享一下自己转行的经历,希望能帮到别人吧。
转行之前,第一件事是决定语言(C++,java或者其他),一般会有人说语言不重要,但在我看来,语言挺重要的(至少前期挺重要),我选择了我认为最难的语言--C++.
选择完语言后,就会有相应的生态吧(我一开始的理解是 C++接近底层,所以我需要学习OS,数据结构,当然附带学习计算机网络八股文)。
-----------------------------------------------------------------------
新的一天,继续更新
上述已经称述了,语言在我看来很关键,因此选择语言在我看来是转行的第一步,当我决定投入C++事业的时候,便踏上了这条有点难的道路了(不了解java,但如果想变牛逼,C++确实挺难搞的;工作中想写好C++也挺难的)。 下面我只能就自己如何转行,总结一下了,当然不适合所有人,只希望能帮助到某些人也算好吧。
在此声明:本人是C++小白,是个菜鸡(并不是什么大佬,真正的大佬应该也没时间来牛客分享了),目前还在探索C++的路上,希望能有朝一日攀上高峰吧。
如果决定了语言,那就开始干吧。针对C++,可能别人会给你推荐
C primer plus
这本书吧,如果是生化环材,倒是可以看看。但如果你是EE相关,我个人感觉还是直接上
C++ primer
吧。
再次称述:学C++,你需要耐心,CS(至少工作中的CS)不需要你有多少天赋,只要你坚持,努力不懈的学习,你至少能转行成功,能去不错的公司的。不要心理畏惧。 找到自己的兴趣所在,就去干吧!
C++primer 一个大砖头,但你入门第一件事,需要把这个大砖头砸碎,然后再组起来,再砸碎,这样两三遍后,你应该就可以去看 深度探索C++对象模型了。
因为你在学习C++ primer的时候,可能会有各种问题:虚函数怎么实现的,多态是怎么工作的等等,相信 深度探索C++对象模型能给你一定程度的解答。
如果你速度快,你大概可以两个月过完C++ primer 然后半个月过完
深度探索C++对象模型(我这里补充一下自己的博客吧,帮助学这本书的人更好的理解C++的对象模型,博客地址 https://www.zhihu.com/column/c_1468603246231572480),此时,你已经具备了C++面试需要的一些八股文了,但为了更进一步应付八股文,你需要去看看 effective C++ 和 modern effective C++。
关于C++面试八股文,我就不说了,网上很多例子。
effective C++
和
modern effective C++ 这两本书其实在我看来很关键,因为你工作中想要写还凑合的C++
代码的话,这两本书是关键,是需要你一直看的。
如果你还想了解C++ STL的话,那么你应该也知道 有一本书叫 STL源码剖析(虽然这本书讲的SGI,但应付面试足够了),你需要看看这本书,搞明白一些常见容器的底层结构,主要用来面试用。
如果你想更进一步研究 泛型编程,那么你可以看看 泛型编程与STL, 这里是一些泛型编程与STL的读书笔记,希望对你有点帮助 https://github.com/qls152/GpAndSTL
当你看完上面这些书,我相信C++大部分八股文应该难不倒你了。
转行很孤独,但你需要坚持,转行C++你更需要坚持,只要你坚持看完这些书,我相信 你会感觉C++越来越有意思。
关于怎么看书,其实每个人都有每个人的方法吧,我是上面几本书同时交叉看的。
2. 关于项目
说实在的,我是EE,而且做的还是微电子相关,所以软件项目基本为0,但对于转行的人来说,有个项目总归是好的吧,所以我推荐的一个项目是 30天自制操作系统。
为什么推荐这本书呢? 因为这本书真的适合转行的人来的,你可以学习C语言,也可以熟悉操作系统的一些概念,最关键你坚持做完后,就有项目了。
当然再写30天自制操作系统的时候,你需要学习操作系统相关的概念,这对于转行的我们来说是挺难的。但还是同一句话,要坚持。
你可以不用先看 现代操作系统原理这本书,你可以从视频看起来,北大陈向群老师的操作系统视频讲的就挺好,看视频也希望你坚持,因为操作系统真的很枯燥(一开始学习的时候,慢慢的也许你会喜欢上)。
当你看完视频后,其实就可以看现代操作系统原理这本书了,当然中间可以一直穿***行 30天自制操作系统 这个项目。
一个月后,我相信你会对操作系统有一定的概念和感觉了。
至于关于如何学习操作系统,网上很多教程,我就不废话了。
关于计算机网络和算法,我也不再赘述了。 下面我就直接总结自己这一年半来的职场经历了。
3. 关于工作
如果你想赚钱,对技术没那么大追求,那么你可以选择工资高的一方加入吧!
但如果你不仅仅想赚钱,还对技术有一定的热情,那我会建议你去百度(也许由于我在百度呆过吧,对比快手,对应届生的成长,百度还是能吊打快手的,你在百度呆半年和你在快手呆半年,我相信各方面你会比快手的强)。
互联网的这一年很不好,快手一直在裁员,我身边的同事也走了好几个了,在这篇文章中继续聊聊感想吧!
回首两年前,自己刚入百度时,懵懂却要朝气蓬勃,像很多刚入职场的年轻人一样,准备实现自己的抱负和期望,但,现实总是会给你开玩笑不是。
玩笑之一:自己太菜,由于转行,没有科班相应的经验,刚入职除了能看懂文档外,其他真的什么都不懂了,譬如 不懂C++,不懂如何写好C++,不懂如何启动一个大服务,不懂服务是怎么通信的,不懂设计的原则等等,但还好,我碰到了一个
不错的mentor,一直再督促我,引导我;外加上自己疯狂补充基础知识,最终慢慢适应了。虽然现在有点躺平,但刚工作时的自己 还是挺拼的。
玩笑二:并不是一味工作就会有好绩效的。刚踏入职场,我以为只要自己努力,将活干好就会有好绩效,最后在年终时,被现实教育。但你不能被这种事所干扰,低绩效不代表能力不行,只能说明你跟这个团队不合
那么就可以考虑转场了(换地方). 这也是我入职将满一年跑路的原因。(在快手,有个工作十年的员工跟我说,如果你在的团队给你低绩效,那么就说明上面不认可你,既然不认可你,那么你可以考虑换地方了)
现在已经在快手待了快两年了,见过它繁荣上市,也见过了股票跌入谷底,见过了身边人来来走走等等。(嗯,我在划水)。
年轻人么,工作后,干着喜欢或者不喜欢的活,也时不时会迷茫,不知道究竟搞技术为了啥? 不知道未来到底追求什么? 在快手期间,我这些思考尤其多,也许是因为社会环境,也许是因为快手的环境吧。
我的职位不怎么高,但我也能感受到快手这边错综复杂的环境,哎,就那样吧。
-----未完待续--------
全部评论
(8) 回帖