真的很迷茫!
这是阿秀的第「258」篇原创
小伙伴们大家好,我是阿秀。
欢迎今年参加秋招的小伙伴加入阿秀的学习圈,目前已经超过 2300+ 小伙伴加入!去年认真准备和走下来的基本都拿到了不错的offer,我想多看看他们的经验一定能让你们少走很多弯路!
过去几年间转码之风盛行,有些是通过报考培训班的形式转行,还有一些则是通过考研读研转码这种形式来转行,所以这几年有很多本科是非科班的,但研究生是计算机相关专业的学生出现。
这类人都有一个共性那就是都很纠结,往往都会纠结于语言的选择,Java?C++?Golang?Python?JaavScript?算法岗?又或者纠结于互联网寒冬,形势不行了,还值不值得继续学?整天各种迷茫...
哪怕是本硕都是CS相关专业的,也会有类似的困惑和迷茫,今年就来分享一下学弟的疑问。
1、师弟的提问
秀哥,你好,看了你的文章和经历:
阿秀自己的秋招总结 | 双非渣硕的秋招之路总结(已拿抖音研发岗SP)
我觉得和我还是有点像的,也比较受启发,但现在仍然处于一种纠结&迷茫的状态,因此请秀哥指点一下,我的问题有很多,可能需要花秀哥很长时间,麻烦了。
我本硕都是双非计算机专业,目前经过调剂,在一所普通双非一本读研,目前研一下刚开学,方向是生物信息。
虽然是生物信息,但主要还是学习深度学习等方面的知识,用一些深度模型跑生物数据之类的,但我觉得生物信息方面的工作,相对不是那么好,我的目标是进大厂或者去一些稳定的企业比如银行工作。
我有以下疑问或者问题:
1、我不想去卷算法岗,也卷不过,我还是比较想走开发。但是开发岗具体走哪个方向我不是很清楚,比如大数据开发,后端开发,能做些什么?
2、我本科学的java开发,前后端都学过,做过简单的管理系统,微信小程序,C++我也学过一点。计算机五大门课都学的还不错,但现在也忘得差不多了,现在研究生用python跑深度学习那些东西和论文源码。
其实各种语言都主动或被动学过一点,但都是皮毛,我其实内心是偏向主学java的,但又没那么坚定,因为java太卷,Python目前又很火,在Java和Python中纠结。
其实纠结的原因和第一个问题一样,我对未来岗位目标没那么清楚,不知道走开发哪个方向?
假如我选择主学java,但因为研究方向,现在必须得去学python,学那些深度学习框架,这样你觉得合适吗?
3、觉得双非研究生没什么用,走开发比本科亏很多。不是看不起本科生,是觉得本科毕业就能做,我这岂不是浪费了三年。
我看过好多人说,公司更愿意招本科生,因为研究生工资开的高一点,但是价值和本科生一样,尤其是双非。
所以秀哥,研究生期间做些什么,可以比本科生走开发更有竞争力一些呢?
4、因为导师是专门搞科研的,平时催的也比较紧,而且说了以后不会放实习。
现在毕业要求也比较高,导师还很看重我,导致我压力大,所以我平时还是要花很多时间精力去看论文,去学各种深度模型。
这样我学开发,只能偷着学,能挤出来的时间比秀哥你还少,甚至会学的断断续续的,这种情况,尤其是导师不让实习,秀哥有什么建议吗 ?
5、我目前的计划是,选定一门主学的语言,然后去刷力扣,学操作系统,数据库等的原理,慢慢的积累。
但时间上肯定断断续续的,会反复忘,因为这些原理一小段时间不看就忘了,我现在这个时间段就看这些原理,合适吗,不会太早了吧?
我现在最难受的就是,想努力,但使不上劲的那种感觉,希望秀哥指点一下。
2、阿秀的回答
师弟好, 才研一,莫慌....
你这时间还多的是,还有你应该是属于交叉学科了,属于生物和CS的交叉研究方向,交叉学科比较容易出论文和成果,这是好事,图像这种纯CS的研究方向卷到爆,想出成果真得多上心。
下面每个回答对应你的每个问题:
1、开发岗
开发岗的常见分类可以看下这里:https://interviewguide.cn/notes/05-xiustar/02-campus_prepare/02-02-互联网常见技术岗分类.html
大数据开发一般用Java居多,后端开发就是Java、C++、Golang这些,前端则是JavaScript了。
但很少有开发岗用Python的,我不是说没有用Python做开发的,Python做开发就一个django框架能拿出来说说,其余的Python拿来做开发真的很少。
Python的效率真的很低,为什么大多数人觉得Python好用,就是因为它封装的够好, 封装完成度足够高。
而封装的好完成度高又代表着这门语言用来开发效率很低,这是一个很致命的点。
2、深度学习框架和Python
AI相关框架,不管是tensorflow还是pytorch,你的目的是学会使用它们,不是学会它们;会用和会是两码事,你不需要深入底层去学这两个东西,你需要的仅仅是会用即可。
至于你说的跑深度学习和源码这些用一些最基本的Python语法就能够解决,根本不需要你花很多时间在Python的学习上的。
这句话你现在可能不太相信,等你研三的时候就知道这句话对不对了,就是一些掉包和调参,这个真的很简单。
我现在偶尔也会写写Python,很正常,多种语言都会一些,但我的主攻语言依旧是Go和JavaScipt以及C++,Python一般用来写写脚本处理一下数据,确实挺好使的。
3、对,但也不对
你说得确实对,但你忘记一个最基本的门槛问题了。
比方说,都是一个学校的,本科和研究生都去投一个公司,本科可能会被直接筛掉,研究生会有一个面试机会,这是最基本的问题。
你也许听过什么“计算机这行不看学校,看本事”,但你可能不知道这句话的前提就是别人有让你展示你本事的机会,别人压根不给你这个展示的机会,你天大的本事又有什么用呢?
做一个看起来“很蠢”的事能让自己有竞争力,比如做一个开源项目,我有个研究生同学就是的,两年做了个码云4000star的项目,阿里蚂蚁直接进面试,他跟我一样,都是普通双非研究生。
4、苟住,千万苟住
这是大多数研究生的常态,放实习的老师真的很少,千万苟住!
我的建议就是这是一条时间跨度长达年以上的坚持性战役,保持精力很重要,多运动能把你保持精力。
5、学习就是一个重复的过程
学完忘了正常,你又不是神童,忘了就再去看就是了。
别人咋学的我不知道,我也不瞎说,我就说下我自己以前看书的经历,我看视频的经历就不说了,就单单说我看书的一些历程:
针对C++,《C++ Primer》这本书800多页,我看过两遍半,现在有时候还会翻一翻;《stl源码剖析》我看过两遍;《effective C++》两遍;《深度探索C++对象模型》重点看了第三章虚函数,看了三遍,因为很绕,需要反复翻。
针对操作系统,我看了《现在操作系统》以及《计算机是怎样跑起来的》这些科普书。
针对计算机网络,《图解tcpip》和《图解http》买书不划算,我直接看的pdf,各看了两遍;《计算机网络自顶向下》我重点看了第三章传输层;《tcpip详解》我只看了拥塞控制,其余就没看了。
针对数据结构与算法,《剑指offer》我刷了2遍多,力扣我刷过600+题,其中二刷三刷过四百道+,水平如何不敢说,至少没在笔试和手撕算法拉过胯。
针对数据库,《MySQL必知必会》这种篇幅比较小的书我看过三四遍,因为知识太碎,也做了笔记分享在知识星球置顶帖的知识图谱里了,可以去看看,踩着我的肩膀去走;《数据库系统实现》是我去华师大参加暑期活动,读博的师兄推荐给我的,我看了非常不错;《Redis设计与实现》这本书我看过了两遍半,因为其中的五种数据结构设计的很精妙,特别是其中的跳表;《高性能MySQL》我只看了索引优化那一部分,其余没看,性价比不高。
针对Linux&网络编程,《Linux高性能服务器开发》前面四五章是计算机网络的知识我自己直接跳过不看,只看后面的内容;斯蒂文斯的两本unix我作为字典来用的;《鸟哥的Linux私房菜》和《Linux就该这么学》我也注明了两者买其一即可,我也是作为操作手册来用的,哪里不会再去翻哪里;《 tcpip网络编程》我不仅看完了两遍,我还做了markdown笔记,同样在知识星球置顶帖知识图谱里有我的笔记。
是的,上面这些都是我在秋招前一年多的时间里完成的,我以前都是自己学过来的,笔记也是自己一行行敲出来的,而不是现在很多人上来就是背八股文。
我不知道这么做有没有用,但我觉得一天都是24小时,怎么过都是过,试着做点事总比什么都不做的强;
学点技术会不会用到我也不知道,但机会到了我想尽力抓住,不会因为压根没有机会和能力只能眼睁睁看着机会溜走而懊悔。
你的问题在于有点看不上自己现在的学校,但又不知道从哪使劲,想得太多,做的太少。
同时看了太多网上贩卖焦虑的文章,比如各种“互联网年入50W+有手就行”、“各种XX裁员,互联网寒冬了”、”互联网早就是夕阳了“。。。
要说互联网不如前几年了是真的,确实是不如前几年了,但那些说互联网不值得干了赶紧润的去工地干一天就知道互联网还值不值得干了。
作为一只从工地润到互联网的风口浪尖上的猪,我反正是再也不想回去了。
建议你少看一点脉脉,把刷脉脉的时间用来看看花花草草,听听鸟语花香,你会发现时间还是挺美好的。
不妨换个角度去想一下自己接下来的打算。
如果你决定不了学什么技术栈学什么语言,那我建议你趁着研一多学学一些计算机基础,而不是把时间浪费在试各种语言上,这个试完了去试那个。
语言确实只是工具,是帮你实现心中idea的工具,如果你想要在IT这行走得远走得稳,基础才是最重要的,你可以根据星球置顶帖知识图谱里的校招基础学科学习路线去巩固你的基础知识。
还有,如果你现在无法决定选什么语言,并且感觉这种纠结会持续很长时间的话,自己也一直下不了决心,但同时自己也真的想学一门语言,那就去学一学C语言就好,不要看不起C语言,C语言是编程语言之母,很多语言都是基于C语言演变出来的,好好学学C语言对你以后都会有帮助的。
到今年八九月份月份你可以去牛客网上看看,你多去看看那些拿到offer的哪个技术栈居多,你就有自己的打算了,那个时候你也就是刚读完研一,研二还没开学,不管哪个编程语言,你都还有一年左右的时间去学习,绝对够了的。
如果到时候你还是决定不了,可以接着在星球发起提问,说下你的背景,我再给你一些建议,这样也比你现在一直迷茫浪费时间来的好。
文章转载自公众号: 拓跋阿秀