程式設計師的第一步,你走對了嗎?

csdn程式人生發表於2018-12-31

640?wx_fmt=gif

640?wx_fmt=jpeg雙十一當晚作者在阿里西溪園區拍攝

本文經授權轉載自程式設計劍譜

這篇文章我想談一下自己在大學期間的一些思維、打法、戰略的形成,以及網際網路眾多行業,如何選擇,說說自己的一些想法。

在 9 月中旬的時候,我寫了一篇:淺談秋招,給在校的,要找工作的提供了一個打法,確實是幫到了一批人。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

前段時間寫的一篇:我為什麼建議大家一定要考研?也是有很多人給我發了訊息,太多了(都是感謝的一些話),就不截圖了,說真的,能幫助到各位,真的很開心。

我只是在戰略上,意識上給大家灌輸,真的能取得這些成就,完全是你自己的努力與堅持,最應該感謝的是自己。

熟悉我的,在我文章中反覆出現的一句話:幫助別人就是幫助自己,這也是我的人生準則。

一路走來,我也在不斷地思考,在選擇面前該何去何從;關於人生的重大選擇,其實很多人都是看不清的,而我的一些判斷與建議,都是我一路走來的所見、所想,以及跟行業大佬的交流,希望能幫助到你


640?wx_fmt=png

一些戰略思維


人生就是戰場,每一次選擇,需要佈局,謀略,打法。

我在大學期間,不僅僅是技術能力的提升,還有一些思維、打法,戰略的形成。

我個人是特別的喜歡金庸的武俠小說,其中經典的幾部更是反反覆覆地看了好多遍,自己從小學、初中、高中、大學、甚至畢業了,再忙也得再去讀、去品味,其中境界之高需要一生去琢磨。

笑傲的風清揚、天龍的掃地僧、倚天的張三丰、射鵰的王重陽等等,都是絕等的世外高手,其修煉的心法、拳腳各不相同。

但是都達到了出神入化的境地,都在追求武學上的造詣;成功的路千千萬萬,不是唯一的,我們只有找到適合自己的路,堅持走下去,才有可能獲得精彩的人生。

拘泥不化,不知變通,劍術一道,講究的是行雲流水,任意所之,活學活用,可造之材!

招式是死的,發招的人是活的,有招可尋,便給了敵人有跡可乘,只有做到心中無招,方能真正的進入高手境界!

劍上無招,敵人才沒法可破,無招勝有招,此乃劍法之極!

他強任他強,清風佛山崗,他橫由他橫,明月照大江,他自狠來他自惡,我自一口真氣足!

這些看似武學祕訣,實則指的是人性的修為、格局,這種心境實在是妙不可言,是一種無上心法,給了我在學習、生活、工作中很多指導意義。

先推薦大家一首音樂,強烈建議再聽聽。

大學期間,每逢開學,必刷《亮劍》(2005年版),我說我大學四年看過幾十遍,真的是毫不誇張,我的舍友也是極其地喜歡看這部劇。

還記得那會一下課,回到宿舍,放起《亮劍》,很多其他宿舍人就圍觀過來,一起看,我自己在實驗室也是多次觀看,那種日子真的是很熱鬧和懷念。

最近一次看《亮劍》,是在去杭州參加雙十一的飛機上,我現在的時間這麼寶貴,能花時間看這個,證明了對我的影響,對我的人生是有重大意義的,我覺得是對的自己就去追求。

李雲龍,草根出身,一天軍校都沒讀過,打起仗來,鬼點子特別多,洞察事物的本質,敢做別人不敢的事情,往往是反其道行之,其亮劍精神是值得每一個人學習的。

什麼他孃的精銳,我就不信這個邪,老子打的就是精銳。

都是 2 個肩膀扛一個腦袋,誰怕誰啊,我們新一團不是被嚇大的!

就算沒有馬,我們也比步兵快,這徒步的騎兵他到底還是騎兵!

我是特別的喜歡這部劇,推薦給各位,主要是精氣神,敢打敢拼的個性,從中也可以學到很多的戰略、打法,作為當代青年,好像缺失了那麼一腔熱血,每每看起,幹勁十足。

大學期間,收藏了很多馬雲、俞敏洪的演講,是極具渲染與感染力的,看看這些大佬之前的經歷,在對比當下自己經歷的這些挫折、失敗又算得了什麼呢?

人生失意之際,去看看這些演講,大佬們的內心是多麼的強大,以及是如何的應對,調整自己,很快的又有了信心,馬雲曾經說過:最困難的時候,左手溫暖右手!

三步走戰略:金庸武俠 +《亮劍》+ 大佬演講,是我大學四年戰略、打法、佈局的形成,對我的啟發很大,同樣的東西,在不同人眼裡看到的就不一樣,我看到的是這些格局、視野、精氣神、判斷力。


640?wx_fmt=png

如何選擇


越來越多的人開始踏入網際網路行業,對於他們來說,這個行業還很陌生,對於選擇要從事的網際網路方向還很迷茫。

說真的,網際網路/IT 行業,確實是高薪、也是大勢所趨(響應國家號召,看看國家政策就知道了),其網際網路將是未來人工智慧發展的基礎設施,會像水、電,一樣的離不開,其在未來發展的前景將會越來越好。

不管你在校是什麼專業,現在從事的是什麼行業,除了金融圈,我是極其地建議大家踏入網際網路行業,網際網路行業現在是一片生機勃勃,蓄勢待發之兆。

網際網路行業從大的方向上說一般有:技術崗、產品經理、運營崗、互動設計。

技術崗

主流技術崗位:前端、後臺、測試、運維、安卓、嵌入式、演算法、資訊保安

我將大概闡述一下每個崗位,自己的理解,關於具體的細節和學習路線去 Google、知乎、牛客上面搜一下,會有你想要的。

前端:Web 三劍客,HTML + CSS + JS,以及一些常用的框架,寫網頁

後臺:主流三大語言,Java C++ Go,伺服器程式設計

測試:Linux、Python、Shell 的會編寫測試用例,自動化測試

運維:Linux,docker部署,OpenStack雲,解決伺服器的故障問題

安卓:JavaME,以 Java 基礎進行的手機 APP 的開發

嵌入式:以 彙編/C 為主,進行硬體控制

演算法:深度學習,資料探勘,人工智慧等

資訊保安:黑客攻防,漏洞發掘

產品經理

跟業務方可以很好的溝通,制定出合理的產品需求,五大能力:具備使用者思維、瞭解網際網路技術、知識結構全面、善於協調合作、保持不斷學習。

運營崗

熟悉常見的推廣渠道,最大程度的增加使用者粘性,至少具備三大能力:對內容的敏感能力、營銷能力、商業判斷能力。

互動設計

對視覺、UI 設計有一定的掌握,具備能力:人機介面互動、原型設計、使用者研究能力等。

網際網路行業眾多崗位,對於人才的需求還是很大的,網際網路界早年流傳著一句話:百度的技術、騰訊的產品、阿里的運營,這句話不是空穴來風的,公司的基因就在那;選擇適合的行業,自己喜歡從事的方向,儘早的行動起來。


640?wx_fmt=png

我的建議


熟悉我的都知道,我是工程能力和演算法能力都比較強的,工程方面:Linux C/C++,Go 主攻伺服器程式設計,網路程式設計,演算法方面:用 Python + SQL 寫演算法(呼叫相關的包和邏輯處理)。

資料結構 + 演算法,作業系統 + 計算機網路,Linux + 資料庫,不區分語言、不區分方向,是所有程式設計師必備功底,到了一定程度上專案,找工作的時候問題基本就不大了。

戰略選擇,職業方向的決斷,這是人生不得不打的一仗!

我當年為什麼首選學習 C++:

i、自己 C 語言學的比較好,所以就走了 C++ 道路;

ii、當時聽過說 C++ 比較難,學的人少,而我喜歡挑戰大的(這是道聽途說);

iii、當時想進騰訊,騰訊後臺都是C++。

當你不知道學什麼方向的時候,不妨想想自己最想去哪家公司,看看那家公司的技術棧,和相應的招聘要求,按照這個學習就好。

一般來說,從事技術崗位的男生遠遠大於女生,女生在技術崗位多以前端、後臺、測試為主(小公司我可能不太清楚,但是大公司尤為明顯),在產品、運營、互動設計,男生、女生都可以選擇。

首選自己感興趣的方向為主,選擇自己喜歡乾的事情是極其的重要!

先拋開興趣和非技術崗位而言,我想談一下目前網際網路眾多崗位的一些特點以及是否選擇它來進行學習。

從事最少的 2 個職業方向:資訊保安和嵌入式

女生最多的 2 個技術方向:前端和測試

最好找工作的 2 個方向:後臺和演算法

對於前端和測試崗位需求也還可以,如果選擇這個方向也是不錯的,嵌入式真的是跟硬體有關,走的人較少,不過是越老越吃香的。

資訊保安,這塊學的特別多,也難,不好學,著實的有著黑客精神和真的是喜歡這個方向才能學好,不管哪塊,最好是興趣驅動。

運維工程師我覺得也挺好就業的,是一個被大多數人所忽略的職位,安卓這幾年崗位較少,已經不太建議新人再去入門學習了。


640?wx_fmt=png

後臺 VS 演算法


我個人是從 Linux C/C++ 後臺轉到演算法工程師的,對於後臺和演算法是比較熟悉的,其他的領域看個人興趣,方向選擇了。

我個人是喜歡底層的一些東西,大學期間寫的都是 C++ 方向的,這個方向很難寫出什麼花哨的東西,都是寫過一些檢測記憶體是否洩漏的工具、壓縮工具之類的,覺得是挺鍛鍊人的。

後臺三大方向:C++、Java、Go

學好 C++ 可以寫底層,寫系統,寫外掛,寫對效能要求比較高的應用,學好Java 的應用面是非常的廣,許多應用都是要 Java 來實現的,學好 Go 在後臺領域的前景不錯,目前百度、頭條、滴滴都已經用 Go 在開發了。

演算法領域:

主要還是 Python,從 Python 基礎,到爬蟲、資料分析,再到深度學習,人工智慧,是一條線,並且演算法工程師的前景,未來的趨勢也是非常的不錯,是一門很有潛力,競爭很大的方向。

一個優秀的演算法工程師:是建立在工程能力極強的基礎上,邏輯清晰,程式碼功底紮實的。

很多演算法工程師缺少工程能力,儘管你原理再熟,數學公式推導在熟,說得頭頭是道,但對基本的業務邏輯都寫的不清楚,對底層的細節,都想不清楚,編碼能力沒有歷經工程的歷練,演算法領域別指望做什麼高手,想在演算法層面上做好,也是不可能的。

工程能力跟基礎是不一樣的,工程能力是通過專案迭代積累起來的,對編碼習慣、程式設計素養,邏輯的培養是至關重要的。

對於很多人 ,其實在選擇方向上還很糾結,對於在校的,如果是研究生,選擇學習 Python 方向,走演算法工程師之路,最終也是找這個崗位的話,是很不錯的,這個崗位現在競爭激烈,一切拿實力說話。

對於本科,選擇演算法工程師這個崗位,說真的,這個方向對數學要求挺高的,並且深入下去也是相當難的,如果本科就業的時候,拿這個找工作,基本上就是九死一生了(除非能力特別強的)。

對於 Python 爬蟲、資料分析崗位,秋招大廠基本上沒有爬蟲崗(內部工具都整合好了,分散式、IP 代理池都做了,直接用就好),資料分析崗位也是少的可憐,要是想去大廠,就直接投演算法工程師,或者就選其他方向。

按照目前這個形勢,對於本科的你,選擇了學習 Python 的話,也想去大廠,秋招直奔演算法工程師(破釜沉舟一戰即可),如果你不投演算法工程師崗位,其他爬蟲崗(根本就沒有)、資料分析崗(少的可憐)基本上沒戲。

要是我建議的話:我覺得在大學期間,學個 Java ,阿里、百度、美團、京東基本上都是 Java 系,也好找工作,也好進大廠就業,以後在轉個大資料方向挺不錯的;要是對底層感興趣,想更快的成為高手,可以學習 C++,C++ 的學習週期相對長一些;Python 的話,可以作為興趣,學學爬蟲、資料分析,慢慢地積蓄力量,等以後社招了,自己水平到了,時機成熟了,直接投演算法崗,走人工智慧方向。

對於已經在社會上工作的你,不管你現在是從事 Java 開發還是前端、Go 開發之類,建議可以花時間瞭解 Python,走一條資料探勘,深度學習,人工智慧之路,這塊未來的崗位需求應該會越來越多,一切等時機成熟,自身能力具備,就可以跳槽入演算法崗了。

Python 這個方向完全可以作為興趣去學習,秋招的時候不會 Ppython, 一點也不影響你進大廠,主要還是:基礎 + 演算法 + 專案,(我面試了那麼多網際網路大廠,沒提 Python 半個字(除了面試演算法崗,京東和阿里)),還是選好方向,好好修煉,提升自己能力為主。

工作了的,真的是可以考慮考慮這個方向,下來多往這塊靠攏,多瞭解這塊,即使你一開始沒有選擇演算法崗,也不影響,我也是先後臺,再轉演算法,走的社招來的這邊。

我以前就不會寫 Python,到了用 Python 的時候,直接上手就幹了(當天下午就可以做出專案的效果預期了),說句實話,我到現在都沒有系統的學習過 Python,但是相應的問題都能解決,能力的培養至關重要,程式設計思維都是一樣的,具體哪裡不會直接 Google 就行了,具備了某一方向的能力以及深度(我是系統的學習過 Linux C/C++ 的),其他語言方向,我真的覺得就不用入門學習,直接幹就完了!

要有與時俱進的精神,不斷地在變化中看發展,選擇自己適合的打法,以及多多地激勵自己,迅速地成長起來!

成長最快的就是壓力,痛苦,折磨,壓力越大,成長越快!

讓暴風雨來的更猛烈一些吧!

狹路相逢勇者勝!

640?wx_fmt=png

640?wx_fmt=jpeg

640?wx_fmt=gif

 熱 文 推 薦 

狼性文化遭質疑,那我們當個佛系程式設計師可好?

狼性的華為,是否有人性?

開除“野狗”式程式設計師,團隊的效率提高了

為什麼都瞧不起培訓班出來的程式設計師?

騰訊優圖吳永堅:邁向深度學習,我們面臨模型訓練與推薦的雙重考驗

等了20年的物聯網,這次真的會成功嗎?

20k~65k, 寒冬技術人才仍是剛需, 最後一波熱門崗位來襲,快到碗裡來

老程式設計師肺腑忠告:千萬別一輩子靠技術生存!

print_r('點個好看吧!');
var_dump('點個好看吧!');
NSLog(@"點個好看吧!");
System.out.println("點個好看吧!");
console.log("點個好看吧!");
print("點個好看吧!");
printf("點個好看吧! ");
cout << "點個好看吧!" << endl;
Console.WriteLine("點個好看吧!");
fmt.Println("點個好看吧!");
Response.Write("點個好看吧!");
alert("點個好看吧!")
echo "點個好看吧!";

640?wx_fmt=gif點選“閱讀原文”,開啟 CSDN App 閱讀更貼心!

640?wx_fmt=png喜歡就點選“好看”吧!

相關文章