非計算機專業(yè)如何轉(zhuǎn)行到java程序開發(fā)?大家對于跨專業(yè)學(xué)習(xí)IT領(lǐng)域的技能存在很多疑慮和疑問。對于想跨專業(yè)轉(zhuǎn)行的同學(xué),可以先問問自己是不是真的對這個行業(yè)感興趣,如果答案是肯定的,我覺得這種嘗試是沒有問題的。
我是彭陽,2012年7月畢業(yè)后加入網(wǎng)易,目前是云計算通用Agent服務(wù)負責(zé)人。此前先后負責(zé)或者參加過開源項目pomelo,NOS移動端加速服務(wù),消息推送平臺等項目的設(shè)計及開發(fā)工作。
從去年開始,我不定期地會在網(wǎng)易云課堂做一些直播的分享課。作為一個不善言談的程序猿,從第一次跟大家直播交流的緊張、焦慮,到如今幾乎每次直播都跟大家聊得不可開交,從心底里想把自己知道的東西跟大家一起交流分享。
在這一年多的時間里,每次直播結(jié)束,都有一些同學(xué)私信我,咨詢一些學(xué)習(xí)方面的問題。漸漸地我發(fā)現(xiàn)我們的學(xué)員中有很大一部分都是非計算機專業(yè)的,這其中包括在校大學(xué)生,也還有一些剛剛初入職場的社會人士。這些學(xué)員每次在交流的過程中總是非常積極,問題也都相對集中。最常出現(xiàn)的,是以下的幾個問題:
非計算機專業(yè)能學(xué)好這門課程嗎?
非計算機專業(yè)如何轉(zhuǎn)行到j(luò)ava程序開發(fā)?
非計算機專業(yè)怎樣學(xué)習(xí)編程開發(fā)?
沒有項目經(jīng)驗如何準備面試?
總體來看,大家對于跨專業(yè)學(xué)習(xí)IT領(lǐng)域的技能存在很多疑慮和疑問。這里我就我個人的理解,跟大家表達一下我個人的觀點。
有興趣最好,培養(yǎng)自己的好奇心
興趣是最好的老師。大家都知道,堅持不懈地學(xué)習(xí)任何東西都需要興趣去支撐;如果沒有興趣,則很難長久。
對于想跨專業(yè)轉(zhuǎn)行的同學(xué),可以先問問自己是不是真的對這個行業(yè)感興趣,如果答案是肯定的,我覺得這種嘗試是沒有問題的(畢竟這個行業(yè)正在以前所未有的速度飛速發(fā)展,并且至少在未來二十年是值得期許的)。對于那些興趣不是那么大,但是由于各種原因需要跨專業(yè)的朋友,我的建議是未嘗不可以試試。
其實對于大多數(shù)人來說,找到真正自己感興趣的東西去做確實很難,這種事情可遇不可求;在沒有太好的目標選擇的情況下,如果有決心進入這個行業(yè),我認為也是可以的。但是我還是需要強調(diào),在進入這個行業(yè)之后,大家需要保持一顆好奇心。因為只有這種好奇心才會驅(qū)使你堅持不斷的去學(xué)習(xí),去進步。
快速學(xué)習(xí),多閱讀,多實踐
IT行業(yè)與其它行業(yè)相比,它的技術(shù)變更更加快速,可能每天都會有新的技術(shù)出現(xiàn),你每天也都會接受到新的名詞、新的技術(shù)、新的架構(gòu)體系。身處在這個變化如此之快的行業(yè),快速學(xué)習(xí)的能力變得非常重要。比如一個新技術(shù)出來,你的老板可能需要你用一個月的時間用這個新技術(shù)完成一個項目,一般這種情況下,你最多只有一周時間完成對這個技術(shù)基本入門,后面就是一邊用一邊學(xué)。
說到學(xué)習(xí)能力,我需要特別強調(diào)一點的是英文的閱讀能力。其實作為程序猿,英語能力是不可或缺的。畢竟計算機這整套體系都是老外創(chuàng)造出來的,所以我們在學(xué)習(xí)新技術(shù)的時候面對的大部分都是英文文檔。這個時候,就特別需要我們有一個良好的英語閱讀的能力,這樣我們才能更好的快速掌握相關(guān)的技術(shù)信息。
學(xué)習(xí)新技能的時候,除了閱讀文檔,另外我們需要做的就是多動手實踐,多寫代碼。很多學(xué)員在交流的時候都會跟我反應(yīng)一個問題,就是說跟著老師的視頻會寫代碼,但是自己寫就寫不出來。
其實寫代碼也是一個熟能生巧的事情,代碼敲的多了自然而然的就會寫了,如果寫不出來說明代碼還寫得不夠多。反復(fù)練習(xí),積累達到一定的量就會有一些寫代碼的靈感,進而就會產(chǎn)生一種質(zhì)變??偠灾褪牵埳系脕斫K覺淺,絕知此事要躬行。
注重基礎(chǔ),抓住核心
前面提到IT領(lǐng)域技術(shù)更新很快,我們需要有一個快速學(xué)習(xí)的能力。對于一個初學(xué)者來說,面對紛繁復(fù)雜的各種技術(shù),很多人都會一時手足無措,不知道從哪里下手,很多跨專業(yè)的同學(xué)都會遇到這個問題。
我這邊需要說的是,雖然這個領(lǐng)域技術(shù)繁多,新的技術(shù)也都層出不窮,但是有一句古話,萬變不離其宗,這句話就是強調(diào)我們需要去抓住所謂的那個宗,也就是我們所指的技術(shù)的基礎(chǔ)與核心。
很多非計算機專業(yè)的同學(xué)可能會通過自學(xué)或者社會上的一些所謂的快速培訓(xùn)機構(gòu)學(xué)習(xí)編程,在短暫的學(xué)習(xí)后就能夠自己做出一兩個簡單的項目,甚至能夠勝任普通工作中的一般任務(wù)。
建議先對計算機專業(yè)知識進行系統(tǒng)性的學(xué)習(xí),對計算機基礎(chǔ)知識進行了解。比如計算機網(wǎng)絡(luò)通信、數(shù)據(jù)庫的設(shè)計規(guī)范、數(shù)據(jù)結(jié)構(gòu)的優(yōu)化、多進程多線程編程等等,這些都是非計算機專業(yè)的同學(xué)欠缺的知識。就好像蓋房子,在沒有打牢固地基的情況下就開始添磚加瓦,最后轟然倒塌是必然的。
作為跨專業(yè)的同學(xué),建議大家先學(xué)習(xí)一些計算機相關(guān)的知識,這里推薦一些書單。如果大家能把這幾本書都能夠完整的自學(xué)一遍,我想也就可以算是計算機入門了。
勤寫技術(shù)博客,與牛人多交流
寫技術(shù)博客是一種可以快速提高的方法,我們可以分享自己總結(jié)的一些經(jīng)驗,也可以分享自己的體會。一樣?xùn)|西在你大腦里,并不代表你已經(jīng)掌握了,如果你能說給別人聽,或者用文字表達出來,那才算真正掌握了。
大家在剛剛寫技術(shù)博客的時候不要擔(dān)心自己分享的東西太low,只要你認為是有價值,都可以寫出來,這不僅可以給別人提供知識,同時也能夠整理自己的思路,有時候還可以得到網(wǎng)上朋友的意見和反饋,跟大家一起交流。
在IT這個領(lǐng)域,你會發(fā)現(xiàn)周圍有很多技術(shù)牛人,他們都身懷絕殺武功,通常他們都很低調(diào),低調(diào)到你都很難發(fā)現(xiàn)。如果你發(fā)現(xiàn)周圍或者網(wǎng)上有這樣的同事或者朋友,就可以多跟他做一些技術(shù)交流和討論,在這個交流和討論的過程中你會學(xué)習(xí)到他思考問題的思路和方法,同時也會加深對知識的理解,這樣也是一種快速提高很好的方法。
主動尋找項目經(jīng)驗
最后當我們內(nèi)功都已經(jīng)練好準備要出去面試的時候,經(jīng)常會被問到項目經(jīng)驗的問題。因為作為一個成熟的企業(yè),它肯定希望招到的人能夠快速為公司產(chǎn)生價值,這里不管是對于校招或者社招都是一樣。但是對于大多數(shù)跨專業(yè)的同學(xué),這就是非常大的難題。這里給大家支兩招:
開源項目
最簡單直接獲取項目經(jīng)驗的方法就是參與到開源項目的開發(fā)中,我們可以先到開源中國或者github上找一些不是那么復(fù)雜的開源項目開始練手,當然如果你自己有創(chuàng)意,可以自己建立一個開源項目,動手實踐。
無償工作
有時候可能開源項目的需求不是那么明確,跟實際的項目還是有一定差距;那我想說的是大家可以去找一些無償工作的機會,普通的企業(yè)通??赡懿⒉幌牍蛡蚪?jīng)驗少或沒有經(jīng)驗的人,但是非盈利的機構(gòu)通常會愿意雇傭這樣的人;只要有合適的項目,最后能夠獲得項目經(jīng)驗,鍛煉自己成長,有沒有報酬都是無所謂的。
世上無難事只怕有心人。我想對于非計算機專業(yè)的同學(xué),只要能夠按照一定的方法堅持學(xué)習(xí),動手實踐,時刻保持對知識的追求和渴望,有朝一日一定可以成為這個行業(yè)的佼佼者。
就像上文所說的那樣,Java學(xué)習(xí)的道路上除了自學(xué)外,另一個好方法就是找牛人交流,借助他人的經(jīng)歷獲取高效的學(xué)習(xí)方法和快速進階的方式。
入坑Java后你心底有沒有泛起過絲絲不安,不知道自己有沒有選對方向?
感謝大家閱讀由java問答分享的“非計算機專業(yè)如何轉(zhuǎn)行到j(luò)ava程序開發(fā)?”希望對大家有所幫助,想了解更多培訓(xùn)信息請關(guān)注java培訓(xùn)機構(gòu)官網(wǎng)
免責(zé)聲明:以上內(nèi)容僅作為信息傳播,文中部分信息來源于互聯(lián)網(wǎng),僅供閱讀參考。