從事大數據開發兩年的程序員經驗之談!【深度好文】

很開心,自己選擇了計算機這個行業,從事大數據工作這個方向,本人是畢業於重慶某一本大學的碩士一枚,目前已有兩年的開發經驗,不敢說對大數據有很深刻的見解,但對於一個從學校0開發經驗到快速熟悉編程,熟悉大數據開發,到獨立完成模塊的大數據的開發工作,我有話說。


在校


首先先說一下自己在學校的經歷吧,我在學校的專業是軟件工程,但我們學校這個專業師資並不強大,學的課程都是老掉牙的、甚至很多老師都很久沒有更新過自己知識庫的、只是照本宣科式地給我們上課。


有個別老師對數據庫原理比較懂,據說當初他自己單獨接了項目做某移民數據庫項目以及學校的OA系統,但對於本科又是重慶某一本院校的通信類專業,再加上在大學時基本沒怎麼認真學習(當時心智不成熟吧,總之就是沒有好好紮實學習),課上對老師講的毫無概念,所以碩士期間的學習總結一下:


就是本專業的知識並沒有掌握該掌握的,反倒是被導師逼著各種編論文,幫他寫項目標書,當免費勞動力去了。迫於找工作的壓力,我研三都出來實習了,很慶幸遇到了現在的這家大數據公司,從實習至今我一直在這家公司工作,那下面就說一下我在這家公司的經歷吧。


從事大數據開發兩年的程序員經驗之談!【深度好文】

實習


進入公司實習,當時心裡特別興奮,覺得終於有人要了,所以我對這份工作倍感珍惜,也特別認真。印象很深的是我自己在校根本沒練過Java編程,對一些基本的語法都不是很理得清,比如if…else…等多層嵌套我都不太會這種,但是呢,我當時一門心思在這上面,不懂我就問.不過還有點補充的是,因為自己0經驗,有的時候問的問題會讓人家都聽不懂我在說什麼,因為自己還沒有編程的一些基本概念吧,所以才會有這種尷尬的場面。


這裡呢,不得不承認互聯網程序員行業對稀有的妹子程序媛還是挺友好的,通常我有問題,我團隊的同事都很樂意幫我解釋,本身我自己也是那種打破砂鍋問到底的求知特質,還有就是比較外向吧,所以我每次都會問同事再加上自己測試把不懂的問題搞懂,完了再做筆記,那段時間我每天都感覺大腦很吃力,覺得在學校呆久了過慣了那種不怎麼用腦子的生活,一下子遇到這種需要自己設計邏輯並且編程實現的任務都感覺很燒腦,從這種狀態也可以看出我的確是一個0經驗的人,就這樣,我慢慢地熟練了Java和Python,能獨立完成一些數據接口,數據畫圖,統計的任務。


獨立開發


到後面,我慢慢又可以參與到團隊的開發項目中,跟著團隊的架構師及其他同事一起接觸,讓我對項目開發框架,測試,大數據等又有了進一步的認識,這個過程呢自己基本熟練掌握了Java,但對一些編程規範、設計模式、數據庫的連接池、多進程的設計、單元測試、集成測試、大數據的開發api等有了進一步的熟悉,在團隊的幫助下,我自己也獨立負責了一個模塊的開發.


雖然印象中這個第一次負責正式項目的開發很是艱難,很多都是藉助外力或者參考別人的demo完成的。項目開發過程中,遇到某些功能,該怎麼取名,該再哪一層實現,該測試覆蓋哪些邏輯,以及該怎麼debug問題,這些都是經過向團隊同事請教慢慢學會開發的。


再說說大數據開發這一塊吧,雖然前面自己對Java編程,項目級的開發都有了一定掌握,但在Spark開發這塊也是從0開始的,印象中,每次自己提交一個Spark任務只要一報bug心裡都特別緊張,不知道該怎麼辦,在同事的帶領下我慢慢熟悉了;過程中同事也有不耐煩,這也是件好事,對我來說,我要加快自己學習腳步,自己儘量先把問題搞懂,實在解決不了才會去請教。


獨立負責項目


在開發大數據過程中,對大數據spark的rdd,spark sql等這塊比較熟練之後,也開始獨立負責一個項目,跟客戶交付數據的項目,這種項目雖然開發不難,但後期維護要不斷跟進客戶的反饋做一些增加的開發或者問題的定位解決,期間學會了解決集群重啟,集群日誌查看,集群任務運行進度等的一些技能。


後面公司又接到了一個大數據項目,數據量比咱們之前在公司處理的多得多,資源有限,駐場幾個月開發真是苦啊,大數據任務經常跑不出來,於是cdh集群使用,cdh集群問題定位,數據傾斜,資源參數調優等等也逐漸又熟悉了。


感悟


到現在,回首一下自己的大數據之路,感覺有點趕鴨子上架式地艱難加幸好我挺過來了,回想我自己實習期間,重慶很熱的夏天,每天起早擠地鐵很晚下班,但我每天卻依然感覺很充實,因為每天都能遇到新問題,能掌握新技能。在我工作的兩年多時間裡完成了近兩百篇的博客(csdn:sinat_26566137),部分是自己公司遇到的一些大數據問題,另外的是自己轉載的對自己解決問題有幫助的一些文章。現在為止,我感覺自己對大數據有了一定的瞭解,對於自己的問題有了一定的認識,知道問題大概是什麼原因導致的,知道怎麼篩選問題的解決思路,知道自己該去補足哪一塊,具備了一定的獨立性。


從事大數據開發兩年的程序員經驗之談!【深度好文】


總結


總結一下,自己兩年的大數據開發經歷吧:


(1)明白自己的學習體質,對症下藥。我感覺自己是一個問題驅動型的人,就是在學校那種主動去書本上學那種方式對我而言是很難真正掌握的。一遇到問題,我就感覺自己有壓力去驅使我學習搞懂了,比如向同事請教,自己查資料。再此呢,也特別感謝我公司的夥伴對我的幫助,我曾一度給自己定目標:我以後也要做一個像他們這樣的人,就是對新人很友好,很願意幫助新人的人;


(2)有一顆愛學習好求知的心。我個人是理工科出身,對於邏輯思維這方面很有興趣,覺得能自己編程實現一個功能是一個很值得崇拜的事,並且覺得編程世界的思維很具有吸引力,有很多值得探索學習的地方,對一個事物有興趣,就會潛移默化地去找一些學習資料來學習。


現在的時代都是網絡時代,網上很多大數據資源都可以獲取到,只要自己想學,有鑑別力地找一些優質的學習資源,結合自身的學習方式,就能很快掌握一些基礎知識的,打下一些理論基礎也很有必要的;像那些所謂的牛人,遇到新問題自己能拿出解決方案,不也是因為自己見多識廣麼,而且能把當前的問題抽象出來找到自己之前的類似的解決思路以此來推演。


(3)懂得藉助外力,另外自己也要勤奮踏實。感覺我自己底子一般吧,從0到1進入大數據開發一方面藉助外力,公司整體的開發氛圍,同事請教藉助外力等這些都能很快讓我進入狀態,氛圍的確很重要,像學英語口語一樣,一個不會口語的人,天天呆在一群說英語的人中間,耳濡目染,自己對這個東西的認識熟悉程度也會很快提高。

從事大數據開發兩年的程序員經驗之談!【深度好文】

當然我的藉助外力也是階梯性成長變化的,從最開始:這是什麼問題都不懂,從頭到尾需要別人解決;到後面:簡單問題,基本自己能解決看懂,比較難的自己能描述清楚問題,請教別人,別人給個思路後我自己能實現;再到現在:基本能靠自己解決問題。除了藉助外力之外,還主要靠自己勤奮吧,遇到問題不可能一直需要別人解決,自己也要有自尊心,別人也有事情忙,所以,自己也會加強原理性東西的學習,幫助自己理解這些問題,對問題解決有自己的思路。


最後說一下,想要學習大數據的限時領取免費資料及課程

領取方法:

還是那個萬年不變的老規矩

1.評論文章,沒字數限制,一個字都行!

3.私信小編:“大數據開發教程”即可!

謝謝大家,祝大家學習愉快!(拿到教程後一定要好好學習,多練習哦!)


分享到:


相關文章: