天天看點

​為什麼我會選擇走 Java 這條路?

​本系列文章将整理到我在GitHub上的《Java面試指南》倉庫,更多精彩内容請到我的倉庫裡檢視

https://github.com/h2pl/Java-Tutorial

喜歡的話麻煩點下Star哈

文章首發于我的微信公衆号【黃小斜】也将同步到我的個人部落格

www.how2playlife.com

閱讀本文大概需要 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技術學習資源: 一些程式員學習技術的資源大禮包,關注公衆号後,背景回複關鍵字 “資料” 即可免費無套路擷取。

考研複習資料:

計算機考研大禮包,都是我自己考研複習時用的一些複習資料,包括公共課和專業的複習視訊,這裡也推薦給大家,關注公衆号後,背景回複關鍵字 “考研” 即可免費擷取。

​為什麼我會選擇走 Java 這條路?

技術公衆号:Java技術江湖

如果大家想要實時關注我更新的文章以及分享的幹貨的話,可以關注我的公衆号【Java技術江湖】一位阿裡 Java 工程師的技術小站,作者黃小斜,專注 Java 相關技術:SSM、SpringBoot、MySQL、分布式、中間件、叢集、Linux、網絡、多線程,偶爾講點Docker、ELK,同時也分享技術幹貨和學習經驗,緻力于Java全棧開發!

Java工程師必備學習資源: 一些Java工程師常用學習資源,關注公衆号後,背景回複關鍵字 “Java” 即可免費無套路擷取。

​為什麼我會選擇走 Java 這條路?
本文由部落格一文多發平台 OpenWrite 釋出!