# 目录

  * [谈谈我的技术方向选择](#谈谈我的技术方向选择)
  * [谈谈各个技术方向的前景](#谈谈各个技术方向的前景)
  * [研究生就应该做算法么？](#研究生就应该做算法么？)
* [微信公众号](#微信公众号)
  * [个人公众号：黄小斜](#个人公众号：黄小斜)
  * [技术公众号：Java技术江湖](#技术公众号：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，于是他们会觉得没必要读研，但是对于我这种跨专业的人来说，研究生才是我开始的第一步，跟他们没有什么可比性，所以对于从零开始的我来说，做研发比算法要靠谱的多，对于很多要转行做程序员的人来说，也是一样的道理，应该选择更加符合自己实力的岗位方向，不要好高骛远。

以上内容纯属个人观点！


# 微信公众号

## 个人公众号：黄小斜

黄小斜是跨考软件工程的 985 硕士，自学 Java 两年，拿到了 BAT 等近十家大厂 offer，从技术小白成长为阿里工程师。

作者专注于 JAVA 后端技术栈，热衷于分享程序员干货、学习经验、求职心得和程序人生，目前黄小斜的CSDN博客有百万+访问量，知乎粉丝2W+，全网已有10W+读者。

黄小斜是一个斜杠青年，坚持学习和写作，相信终身学习的力量，希望和更多的程序员交朋友，一起进步和成长！

**原创电子书:**
关注公众号【黄小斜】后回复【原创电子书】即可领取我原创的电子书《菜鸟程序员修炼手册：从技术小白到阿里巴巴Java工程师》

**程序员3T技术学习资源：** 一些程序员学习技术的资源大礼包，关注公众号后，后台回复关键字 **“资料”** 即可免费无套路获取。	

**考研复习资料：** 
计算机考研大礼包，都是我自己考研复习时用的一些复习资料,包括公共课和专业的复习视频，这里也推荐给大家，关注公众号后，后台回复关键字 **“考研”** 即可免费获取。	

![](https://img-blog.csdnimg.cn/20190829222750556.jpg)


## 技术公众号：Java技术江湖

如果大家想要实时关注我更新的文章以及分享的干货的话，可以关注我的公众号【Java技术江湖】一位阿里 Java 工程师的技术小站，作者黄小斜，专注 Java 相关技术：SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程，偶尔讲点Docker、ELK，同时也分享技术干货和学习经验，致力于Java全栈开发！

**Java工程师必备学习资源:** 一些Java工程师常用学习资源，关注公众号后，后台回复关键字 **“Java”** 即可免费无套路获取。

![我的公众号](https://img-blog.csdnimg.cn/20190805090108984.jpg)
