为什么我会选择走 Java 这条路?
阅读本文大概需要 2.8 分钟。
作者:黄小斜
文章来源:【程序员江湖】
最近有一些小伙伴问我,为什么当初选择走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,是我黄小斜,不是黄老邪噢。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【斩获7枚offer,入职阿里平台事业部】横扫阿里、美团、京东、之后,我写下了这篇面经!
自身情况 跳槽之前,楼主在一个小型互联网公司,主要是做互联网彩票。 其中做过面向用户的 APP,也有o2o模式的,也有b2b模式的的项目,用的技术比较杂,没有指定的规范,只要能完成任务就可以,技术挑战也不是很大。 然后我只能把我所做的东西做好,推动一些新技术更是难上加难,主要都是业务为主,对于高并发、高可用等技术 方案犹如天上月亮一样,只可远观,而不可亵玩焉。 然而去年10月,国家发布 新的法律条文,互联网彩票属于非法彩票,这个公司业务全部下架,所以开始着手打算找寻新的工作,冲刺大厂的机会终于来啦。 面试准备 我面试准备时间大 概有2个月左右,主要还是两块,一是基础技术、二是项目。我大概花了一个月的时间,快速复习了一遍之前学习过的知识以及写在简历上的技能。 对于项目,重点是项目和技术的融合,因为我本身对整个项目的业务非常熟悉,这个时间花费的不
- 下一篇
小企业如何选择阿里云服务器的配置
之前已经在个人如何选择阿里云服务器文章中介绍了个人购买阿里云服务器的方法,今天来说下小企业如何选择阿里云服务器的配置。 企业和个人最大的区别就是企业面向的用户众多,对访问速度和数据安全性要求非常高。试想下你的网站三天两头被黑客攻击,网站被黑了,数据没了,这样的网站怎么能吸引到用户呢。 对于个人站长,用户基数不是非常大,我认识的很多站长基本都是购买一台高配的ecs后,所有的东西都往ecs上安装,比如数据库,缓存服务等。这样做的缺陷是web服务和数据库存储没有进行分离。企业站点一般来说可以分为api和数据存储,api是面向外网用户的,为用户提供数据服务和展现ui。数据库则存储用户的重要数据,将存储和服务分开部署可以有效减小单台服务器的压力,第二则是数据安全更有保障。 所以对于企业站点来说,首先需要将api和数据库存储进行分开部署,以便分摊压
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19