<section data-tools="135编辑器" data-id="23">php
<section>前端
阅读本文大概须要 2.8 分钟。程序员
</section>web
</section>面试
做者:黄小斜算法
文章来源:微信公众号【程序员江湖】编程
最近有一些小伙伴问我,为何当初选择走Java这条路,为何不作C++、前端之类的方向呢,另外还有一些声音:研究生不是应该去作算法方向么,本科生不就能够作开发了吗,为何还要读研呢。其实吧,这个问题搁在不一样人身上,回答可能也是彻底不同的。我可能仍是主要以个人角度出发,结合一些读者的问题,来讲一说为何要选择Java这条路。后端
我最先接触的语言应该是c,再后来又接触了前端、php、C#等语言,对这些语言的了解也仅限于懂得基本语法,写过一些小demo而已,那时候以为掌握一门语言就是掌握它的语法就好了,因而会在简历上写,了解各类语言,如今想一想实在是太好笑了。微信
不过真的不少初学者都会这么认为,以为本身无论选哪一个方向均可以,这是由于他们不知道本身的技术方向究竟是什么,由于他们无论哪一个方向都不精。网络
后来慢慢接触了Android开发,能本身写一些app,以为这个方向还挺有趣的,因而想着之后干脆作这个吧。不过我那时候也明白本身离进大厂还有很远的距离,因而打算考研。巧的是,读研前的那个假期,去了一家公司实习,作的是Java Web,那时候才以为Android比Java Web简单多了呀,彻底不须要学那么多框架、技术啊,因而更坚决了作Android的决心,只不过那时候也一样发现了,Java web是更加热门的方向,岗位需求量也更大。
读研的时候,一开始也是打算作Android方向的,买了各种Android书籍开始啃,那时候恰好遇到了个实践课程,让咱们选方向,有Java、Android、C++等等。当时妹子作前端,为了带上妹子一块儿作项目,干脆就选了Java Web这个方向,想着应该不影响我作Android啊,因而接下来的时间里就开始学Java Web了。
时间一长,发现这个方向也没有想象的那么难,相反还挺有意思的,毕竟能用到各类各样的框架,技术栈的内容也很丰富,看起来好像比Android的技术含量高不少,加上本身以前学过Java,也有Java Web的学习经历,简历上也能写的好看一点,因而一不作二不休,就开始作Java方向了。就这样,我找到了第一份Java实习,看了一遍Java后端书单,慢慢地在这条路上越走越远,后来我才发现,Java Web远没有想象中那么简单,Java后端技术栈也远不止Java Web这点内容,特别是对于大厂来讲,要掌握的东西实在太多了,好比分布式、网络编程、中间件等等。
因此,选择方向这件事,有时候就是看兴趣,看机遇,看你能坚持多久,若是你对一个方向感兴趣,而且愿意持续学习,不断深挖,这个方向可能就适合你,当你在这个方向投入了必定时间以后,有了必定积累和经验,就不太容易再改变方向了。
以前也有不少读者问过这个问题,作哪一个方向更有前景,更有钱景。虽然我只作过一个方向,可是对其余方向也有一些了解和涉猎,不敢说了解得很是多,可是结合本身身边的同窗、朋友的状况,仍是能够给出一些比较中肯的建议。
其实我最先打算作的是游戏开发的,因此咱们先聊聊游戏开发这个方向。
网易游戏在前几年对游戏开发的招聘要求是985硕士以上学历,当时我就是冲着这个要求考了研,后来却没有去作游戏开发,主要缘由是游戏开发主要用的是C++,而且主要的岗位要求是客户端方向的技术,好比图形学、引擎技术,以及对C++的掌握程度。
当时自认为有一些Java基础,不肯意转C++,同时也感受游戏行业大厂太少了,除了腾讯网易就没有什么大公司了,职业发展的空间可能也不大。本身虽然爱玩游戏,可是作开发和玩游戏毕竟是两码事。固然,近两年游戏开发的岗位需求其实仍是很大的,由于如今作游戏开发的人太少了,致使网易游戏放宽了研发工程师的标准,只要求211以上便可,因此,想要从事游戏开发的朋友,其实如今进大厂的机会可能比以前更多了。
说完游戏开发,说一说C++,C++方向和Java同样主要是作后端的,虽然游戏开发大部分也用的是C++,可是C++服务端的需求量确实没有Java大,加上C++的学习难度稍微搞一点,因此我没有选择这个方向。
固然,如今作CV等算法方向的同窗都会用到C++,因此相对Java来讲,C++方向选择岗位的范围可能也更多一些。不过,正如Java也能作大数据开发同样,选择方向并非选择语言,好比你作游戏开发或者算法方向,要学的远不止C++,作大数据方向,Java也只是很小的一部分而已。
除此以外,前端、测试、移动端等方向也有不少机会,这些方向的学习难度可能要稍微简单那么一点,因此有不少女生会选择这些方向,若是你想进大厂却对本身不是颇有信心,那么这些方向也是很不错的选择。
再聊聊如今很火的人工智能、机器学习方向,这个方向说实话最难的地方在于理论知识,也就是机器学习理论、算法模型、统计学知识等内容。不少人对这个方向趋之若鹜的缘由,很大程度上是由于这个方向的薪资高,而且相对工程方向来讲,工做强度要低一些。
可是,这么热门的方向,竞争有多激烈就不用多说了,大厂的算法岗简历多到数不胜数,你没有论文、实习经历或者比赛为你背书,基本上连简历筛选都过不去,就算你的简历很漂亮,可是不少时候因为岗位需求量很少,只要你不是特别优秀,就可能被安排到研发岗位,这也是我身边不少同窗亲身经历的。再有一点,就是有不少算法方向的博士毕业生也会和你竞争,这就有点吓人了,总之,算法方向仍是比研发方向更加有难度的,不论是学习难度、面试难度,还竞争激烈程度,都更加明显。
不少人以为读研就应该作算法,本科生才作研发,我对此不敢苟同,由于主要仍是还看我的实际状况,若是你想进大厂,那么至少本科的时候就要有很扎实的基础实力,这对大部分同窗来讲都是比较困难的,若是你不是名校出身,我以为进大厂的难度仍是比较大的。
不少名校背景的本科生确实能够拿到大厂的研发offer,因而他们会以为不必读研,可是对于我这种跨专业的人来讲,研究生才是我开始的第一步,跟他们没有什么可比性,因此对于从零开始的我来讲,作研发比算法要靠谱的多,对于不少要转行作程序员的人来讲,也是同样的道理,应该选择更加符合本身实力的岗位方向,不要好高骛远。
以上内容纯属我的观点!
文能码字,武能coding,是我黄小斜,不是黄老邪噢。