在傳智播客有很多零基礎(chǔ)轉(zhuǎn)行編程的學(xué)員,總結(jié)下來(lái),大概有三類人群,一類是即將畢業(yè)的大學(xué)生,一類是在職人員,一類是待業(yè)人員。轉(zhuǎn)行,對(duì)于很多人來(lái)說(shuō)是痛苦的,從一個(gè)行業(yè)轉(zhuǎn)行到另一個(gè)行業(yè)是一個(gè)從零開(kāi)始的過(guò)程,摒棄多年的工作經(jīng)驗(yàn)或大學(xué)里學(xué)了多年的專業(yè),去從事一個(gè)陌生的職業(yè),困惑和疑問(wèn)是難免的,小編收集拾掇關(guān)于非計(jì)算機(jī)專業(yè)人士轉(zhuǎn)行做程序員須知,希望能幫助到那些即將成為IT大牛的準(zhǔn)程序員們。
準(zhǔn)備轉(zhuǎn)行做程序員的非專業(yè)人士,應(yīng)該做好哪些準(zhǔn)備?轉(zhuǎn)行后又如何能快速的成為一名優(yōu)秀的程序員呢?
NO.1選擇一門(mén)語(yǔ)言
非計(jì)算機(jī)專業(yè)人士轉(zhuǎn)行做程序員,首選第一步就是選擇一門(mén)要學(xué)的語(yǔ)言,如果你現(xiàn)在很幸運(yùn)的只知道一門(mén)編程語(yǔ)言,恭喜你,直接上手學(xué)吧。程序語(yǔ)言的邏輯都很像,只要學(xué)會(huì)一個(gè)其他的都很容易。
如果你知道很多編程語(yǔ)言,并且不知道如何選擇,專業(yè)人士給出如下建議:
●C語(yǔ)言永遠(yuǎn)是值得學(xué)習(xí)的一門(mén)語(yǔ)言,在猶豫不決的時(shí)候不妨先學(xué)C語(yǔ)言。如果你能很輕松地寫(xiě)出冒泡排序,寫(xiě)出函數(shù)的遞歸調(diào)用。恭喜你,程序邏輯方面你已經(jīng)很優(yōu)秀了;
●如果你對(duì)做網(wǎng)站感興趣,PHP是一個(gè)不錯(cuò)的開(kāi)始;
●如果你希望按照傳統(tǒng)套路來(lái),Java是個(gè)不錯(cuò)的選擇,之后可以選擇企業(yè)開(kāi)發(fā),Android開(kāi)發(fā)等;
●當(dāng)然,如果你是“愛(ài)瘋”的粉絲,你可以選擇iOS開(kāi)發(fā),不過(guò)設(shè)備的購(gòu)買(mǎi)上是有點(diǎn)小貴的;
●最后不要忘了身邊有當(dāng)程序員的人,他們的意見(jiàn)很值得參考,如果按照他們的路子入門(mén),你的學(xué)習(xí)將會(huì)有一個(gè)好的開(kāi)端。這將會(huì)是一件非常棒的事情。
NO.2關(guān)于是否上培訓(xùn)班
除非你能找到一個(gè)很好的學(xué)習(xí)環(huán)境,比如開(kāi)源社區(qū),編程論壇。一個(gè)好的環(huán)境能讓你進(jìn)步很快,在學(xué)習(xí)過(guò)程中結(jié)識(shí)朋友也會(huì)讓你很有成就感。如果你還沒(méi)有尋找到好的學(xué)習(xí)環(huán)境,或者對(duì)自己適應(yīng)這些社區(qū)的能力沒(méi)有自信,建議選擇培訓(xùn)學(xué)校。具體能學(xué)到什么那就看你的個(gè)人主動(dòng)性了。
目前國(guó)內(nèi)的IT培訓(xùn)機(jī)構(gòu)已然成熟,通過(guò)培訓(xùn)你能很快的進(jìn)入并學(xué)到當(dāng)前市場(chǎng)最需要的技術(shù)。首先,因?yàn)榕嘤?xùn)機(jī)構(gòu)會(huì)根據(jù)當(dāng)前潮流設(shè)置培訓(xùn)課程,集中有效的培訓(xùn)模式保障了輔導(dǎo)效果,比自我摸索學(xué)習(xí)要節(jié)省幾倍的時(shí)間。其次,在培訓(xùn)過(guò)程中,有講師的指導(dǎo),在學(xué)習(xí)中碰到障礙,很快能得到解決,這樣會(huì)使學(xué)習(xí)過(guò)程變得輕松,還能通過(guò)培訓(xùn)結(jié)識(shí)朋友,相互交流,這種學(xué)習(xí)環(huán)境會(huì)讓人感到快樂(lè)。
當(dāng)前成熟的培訓(xùn)機(jī)構(gòu)都配備有專業(yè)的就業(yè)指導(dǎo),通過(guò)幫助學(xué)員填寫(xiě)簡(jiǎn)歷,傳授面試技巧、組織模擬面試等辦法,幫助學(xué)員快速找到工作,這從很大程度上保障了培訓(xùn)者的就業(yè)問(wèn)題。
NO.3上培訓(xùn)班需要注意的事情
課程時(shí)間,如果求職壓力較大建議選擇短期培訓(xùn),先工作,之后再充電。如果時(shí)間充裕建議選擇時(shí)間較長(zhǎng)的,你可以有充足的時(shí)間學(xué)習(xí)。
課程設(shè)置,注重項(xiàng)目實(shí)戰(zhàn)。一般每一階段的學(xué)習(xí)都會(huì)有一個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)戰(zhàn)項(xiàng)目越多越好。
學(xué)習(xí)期間做項(xiàng)目,盡量不要選擇培訓(xùn)教材中的項(xiàng)目,否則會(huì)因?yàn)樗季S惰性去Copy書(shū)本上或者老師提供的代碼。
如果分學(xué)習(xí)小組,請(qǐng)力爭(zhēng)做小組組長(zhǎng)。組長(zhǎng)做實(shí)踐項(xiàng)目時(shí)會(huì)充當(dāng)TeamLeader的角色,這方面的鍛煉對(duì)成長(zhǎng)很有幫助。
NO.4培訓(xùn)后如何快速找到高薪工作
用心做一份簡(jiǎn)歷,樸實(shí),不要弄虛作假。弄虛作假是應(yīng)聘大忌,一旦發(fā)現(xiàn)絕對(duì)不予錄用。
請(qǐng)忽略招聘中“計(jì)算機(jī)或者相關(guān)專業(yè)”條件,那些都是模板式的招聘要求,大膽的把簡(jiǎn)歷發(fā)過(guò)去,是否邀請(qǐng)你面試是他們的事情。
保持耐心,由于是非計(jì)算機(jī)專業(yè)的緣故,你需要比計(jì)算機(jī)專業(yè)的學(xué)生付出更多的努力。
用項(xiàng)目說(shuō)話,面試時(shí)請(qǐng)帶上你的項(xiàng)目。你做過(guò)的項(xiàng)目是你和面試官討論的主要話題,也是你要求薪水的主要籌碼。
如果實(shí)在找不到工作,可以先找實(shí)習(xí)職位。找實(shí)習(xí)職位需要多泡論壇,招聘網(wǎng)站上的個(gè)人感覺(jué)不靠譜。
高考落榜后,生活像被蒙上了一層灰色的霧霾,看不清未來(lái)。在接下來(lái)的一兩年中,磕磕絆絆地走了一些彎路。慶幸的是,我一直勇敢前行,欣慰的是,如今撥云見(jiàn)日,天朗氣清。
放棄復(fù)讀 一路波折
或許是因?yàn)槟贻p,心性不夠成熟,我對(duì)高考的失敗一直耿耿于懷,只顧?quán)祰@,連復(fù)讀的勇氣都沒(méi)有。每每看到考上大學(xué)的同學(xué)在QQ空間發(fā)表狀態(tài)、曬照片,總會(huì)有一種羨慕的感覺(jué)郁結(jié)心頭。
在家閑的無(wú)聊,總覺(jué)得該找點(diǎn)事做,我在廣告宣傳的引導(dǎo)下來(lái)到傳說(shuō)中的新*電腦學(xué)校,學(xué)習(xí)網(wǎng)絡(luò)技術(shù),當(dāng)時(shí),不諳世事的我以為學(xué)完之后就能成功跨進(jìn)IT行業(yè),成為一名技術(shù)精英。然而整整一年的學(xué)習(xí)竟然贏不來(lái)入職IT企業(yè)的橄欖枝,這令我失望至極。
在一個(gè)無(wú)良老師的忽悠下我跑到東莞,在一家公司當(dāng)技術(shù)員。說(shuō)是技術(shù)員,其實(shí)就是給人家布布網(wǎng)線,發(fā)發(fā)傳單,然后再處理一些簡(jiǎn)單白癡的問(wèn)題。記得當(dāng)時(shí),我每天都要走二、三十里路,腳上全是血泡,鉆心的疼,半個(gè)月之后,我毅然辭去了工作,離開(kāi)東莞回到老家。
或許大家都碰到過(guò)這樣的麻煩:路過(guò)一些門(mén)店時(shí),突然有人上前攔住你,向你推銷各類產(chǎn)品、或是邀你進(jìn)店一逛。這些攔路推銷的人通常會(huì)遭人嫌棄,路人更是“避其行之”,而我曾是攔路推銷團(tuán)隊(duì)中的一員。看到有人上來(lái),就跟“瘋子”一樣沖上去,把人家攔住,人家不理你,就像狗皮膏藥一樣拼命的追在后面……這種讓人郁悶的生活進(jìn)行了3天,我果斷辭職走人!
學(xué)Java 成為屌絲中的戰(zhàn)斗機(jī)
學(xué)習(xí)Java是巧合。當(dāng)時(shí)工資不高,只能住在一個(gè)求職公寓里面,它還有一個(gè)外號(hào)叫“屌絲公寓”。當(dāng)時(shí)和我合租的有三個(gè)人,都是從事與程序開(kāi)發(fā)有關(guān)的工作,他們的一些朋友也是做這方面的工作,在聽(tīng)到他們聊各自的薪資時(shí),我震驚了,原來(lái)同是“屌絲”,他們的薪資是5000元、7000元。
聽(tīng)到這個(gè)數(shù)字后,我的心里很不是滋味:為什么人家工資那么高,而我卻這么低。當(dāng)時(shí)我心里就萌生了一個(gè)想法:我要學(xué)Java,我要做程序員,成為“屌絲”中的戰(zhàn)斗機(jī)。
下定決心后,我便開(kāi)始在網(wǎng)上找培訓(xùn)機(jī)構(gòu),合租的室友建議我來(lái)傳智播客成都校區(qū),因?yàn)檫@里的口碑很好,老師們都很負(fù)責(zé)。重新回到課堂做學(xué)生,這種感覺(jué)很難表達(dá):既有興奮、又有失落,既有對(duì)未來(lái)的期盼,又有對(duì)新課程的擔(dān)憂。但我還是讓自己淡定下來(lái),全身心地投入到學(xué)習(xí)中。
在這里我能深刻地體會(huì)到不一樣的學(xué)習(xí)氛圍,以前讀書(shū)時(shí)是被迫去學(xué),但現(xiàn)在,看到周?chē)恳粋€(gè)人都是為了改變生活狀態(tài)努力去學(xué),自己也頗受感染,不甘落后。學(xué)習(xí)期間真的很苦,每天面對(duì)老師講解的知識(shí)點(diǎn),我不敢懈怠,生怕自己沒(méi)學(xué)好,沒(méi)學(xué)全,基礎(chǔ)沒(méi)打扎實(shí),影響以后的學(xué)習(xí)。
水到渠成 滿意就業(yè)
經(jīng)過(guò)近6個(gè)月的學(xué)習(xí),我終于畢業(yè)了,懷著激動(dòng)而又忐忑的心情,我開(kāi)始在網(wǎng)上投簡(jiǎn)歷,還記得找工作的那一個(gè)月,我的心都是懸著的,簡(jiǎn)歷一份份地投出去,然后就是漫長(zhǎng)的等待。功夫不負(fù)有心人,我最終找到了滿意的工作,月薪5000多元,雖然在業(yè)內(nèi)不是拔尖的,但對(duì)于轉(zhuǎn)行做編程的我來(lái)說(shuō)已經(jīng)很不錯(cuò)了,我終于從一名布網(wǎng)線的“IT民工”變成一名Java工程師。
如今,再刷QQ空間時(shí)我也可以釋?xiě)?,因?yàn)楝F(xiàn)在的我不再是一個(gè)一事無(wú)成的屌絲,以后,我也可以在空間里曬曬自己的工作、生活,與大家分享我的快樂(lè),當(dāng)然偶爾“拉個(gè)仇恨”也是可以理解的。
每個(gè)IT企業(yè),尤其是初創(chuàng)的IT企業(yè),都非??鄲溃赫也坏胶玫某绦騿T。現(xiàn)在大學(xué)軟件學(xué)院及各種培訓(xùn)機(jī)構(gòu),每年培養(yǎng)幾十萬(wàn)的程序員,畢業(yè)后的每個(gè)人都有同樣苦惱:找不到好的工作。問(wèn)題出在哪里呢?其實(shí),企業(yè)需要的不是剛會(huì)寫(xiě)程序的人,而是需要來(lái)了就能干活的人,尤其是能把活干好的人。
企業(yè)到底需要什么樣的程序員?一個(gè)剛?cè)腴T(mén)的程序員如何成為企業(yè)需要的高手呢?還有很多程序員問(wèn)我,“我需要具備什么樣的能力就可以去創(chuàng)業(yè)?”我一直在琢磨類似的問(wèn)題。我自己寫(xiě)過(guò)十年程序,也在金山管理帶過(guò)一千多人的研發(fā)隊(duì)伍,最近也在做天使投資,仔細(xì)總結(jié)了如下五點(diǎn)建議與所有程序員分享。
只有真正喜歡才能寫(xiě)好程序
喜歡寫(xiě)程序,做程序員就是上天堂;不喜歡寫(xiě)程序,做程序員就是下地獄。
程序員需要整天趴在電腦前,經(jīng)常沒(méi)日沒(méi)夜的,非常辛苦,而且工作來(lái)不得半點(diǎn)虛假,少寫(xiě)一個(gè)標(biāo)點(diǎn)符號(hào)都不行。喜歡的人,日子過(guò)得非常開(kāi)心,每寫(xiě)一行代碼,都會(huì)有新的成就,尤其當(dāng)自己的作品被廣泛應(yīng)用的時(shí)候,那種自豪感油然而生。不喜歡的人,坐在電腦前極其無(wú)聊,被進(jìn)度壓得喘不過(guò)氣來(lái),天天為找Bug,改Bug生氣。
只有喜歡,只有熱愛(ài),才能把程序?qū)懞茫?/p>
我建議不喜歡寫(xiě)程序的人早點(diǎn)轉(zhuǎn)行,不要勉強(qiáng)自己,免得誤人誤己。
把程序當(dāng)藝術(shù)品像寫(xiě)詩(shī)一樣來(lái)寫(xiě)代碼
現(xiàn)在很少有公司做 Codeview (對(duì)寫(xiě)好的程序做代碼級(jí)檢查),于是很多人在進(jìn)度的壓力下潦草應(yīng)付,只要測(cè)試通過(guò)就算搞定。表面上看,開(kāi)發(fā)速度很快,進(jìn)度有保障;但實(shí)際上,這樣的程序連開(kāi)發(fā)者自己都很難讀懂,一旦有Bug,很難調(diào)試,將來(lái)維護(hù)升級(jí)都非常困難。這樣的代碼多半只能重寫(xiě),浪費(fèi)自然嚴(yán)重。
如果每個(gè)人寫(xiě)程序的時(shí)候當(dāng)藝術(shù)品來(lái)寫(xiě),寫(xiě)每行都認(rèn)認(rèn)真真、干干凈凈的,雖然速度略微慢了一點(diǎn),但綜合的開(kāi)發(fā)成本會(huì)低很多。
如何寫(xiě)像詩(shī)一樣美的代碼呢?方法也很簡(jiǎn)單。
1.買(mǎi)幾本經(jīng)典的編程書(shū),把書(shū)上所有例程全部重新寫(xiě)一遍,逐個(gè)比較和書(shū)上范例的差距,一步一步改善自己編程的風(fēng)格和技巧。時(shí)間長(zhǎng)了,自然就能寫(xiě)出像書(shū)上例程一樣的代碼,甚至可以比書(shū)上寫(xiě)得好。
2.基礎(chǔ)扎實(shí)后,多看看Linux 等系統(tǒng)級(jí)的源代碼,看看高手是如何寫(xiě)的,就有感覺(jué)了。
3.通讀一下MSDN中所有的資料,這樣就“讀書(shū)破萬(wàn)卷,下筆如有神”。
還有,一定要牢記軟件工程的鐵律:可能出錯(cuò)的地方一定會(huì)出錯(cuò)。每個(gè)變量都做初始化,引用每個(gè)參數(shù)都要做有效性檢查,在可能出錯(cuò)的每個(gè)地方都要做邊界條件檢查,這樣開(kāi)發(fā)出來(lái)的程序一定會(huì)穩(wěn)固很多,就是出錯(cuò)也很容易修改。野路子出來(lái)的高手,一般開(kāi)發(fā)速度很快,但做完后Bug會(huì)很多,經(jīng)常需要很長(zhǎng)時(shí)間修改。而真正的高手,追求的境界是 Bugfree code(零缺陷代碼)。
必須寫(xiě)夠十萬(wàn)行代碼,不要心存僥幸
程序員像木工一樣,熟能生巧。程序員必須寫(xiě)足夠代碼量的程序,才會(huì)有感覺(jué),這是一個(gè)苦力活,沒(méi)有任何捷徑可走。
計(jì)算機(jī)是一門(mén)實(shí)踐性的科學(xué),沒(méi)有動(dòng)手能力做支撐,很難做出好的科研成果。我的一個(gè)學(xué)長(zhǎng)是美國(guó)卡內(nèi)基梅隆大學(xué)的博士,卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)系在全世界都非常出名,他說(shuō)每個(gè)博士生必須寫(xiě)十萬(wàn)行代碼才能畢業(yè),卡內(nèi)基梅隆大學(xué)博士生進(jìn)任何一個(gè)大企業(yè)基本不用面試。而國(guó)內(nèi)培養(yǎng)的大部分研究生、博士生,動(dòng)手能力都偏弱。
沒(méi)有寫(xiě)過(guò)足夠代碼量的程序員,想成為高手是不可能的,只能紙上談兵!
時(shí)刻保持好奇心
計(jì)算機(jī)技術(shù)更新?lián)Q代非???,每年都有各種各樣的新技術(shù)出現(xiàn)。在我過(guò)去的職業(yè)生涯中,僅編程語(yǔ)言,我就用過(guò) Basic、Masm、Pascal、C++、Vba、Delphi、Java 等。需要時(shí)刻保持好奇心,不斷學(xué)習(xí)各種新的東西,才能在未來(lái)的幾十年職業(yè)生涯中不落伍。
人的精力有限,高手往往工作壓力也比較大,如何在有限的時(shí)間內(nèi)掌握整個(gè)行業(yè)動(dòng)態(tài),的確不是簡(jiǎn)單的事情。我的經(jīng)驗(yàn)是經(jīng)??礃I(yè)內(nèi)的各種技術(shù)雜志,參加各種聚會(huì),可以節(jié)約很多時(shí)間。最重要的是,交幾個(gè)博學(xué)的技術(shù)高手,多和他們交流,一定受益匪淺!
不要局限在技術(shù)本身,多花點(diǎn)精力關(guān)注用戶
做到前面幾條,就已經(jīng)是千金難求的高手了。但一個(gè)真正的高手需要知道用戶需要什么,如何做出讓用戶滿意的產(chǎn)品。
現(xiàn)在的軟件研發(fā)越來(lái)越強(qiáng)調(diào)團(tuán)隊(duì)協(xié)作,不少團(tuán)隊(duì)都配置了專門(mén)的需求分析工程師、用戶界面及用戶體驗(yàn)的設(shè)計(jì)師,軟件研發(fā)的分工越來(lái)越細(xì)。很多程序員以為只要把技術(shù)搞好,不用管用戶需求和用戶體驗(yàn)。實(shí)際上,需求方案及界面方案不可能寫(xiě)得非常細(xì),具體的實(shí)施還是程序員自己來(lái)實(shí)現(xiàn)的。這個(gè)時(shí)候,好壞的差距很快就體現(xiàn)出來(lái)了。
我們寫(xiě)程序的最終目的是滿足用戶需求,不是簡(jiǎn)單完成需求規(guī)劃方案中的功能。所以,程序員一定要認(rèn)真揣摩用戶心理,能明白用戶的真實(shí)需求。
其次,怎樣設(shè)計(jì)交互界面,讓用戶覺(jué)得好用,用起來(lái)舒服,這里面學(xué)問(wèn)很大。我舉一個(gè)小例子,每個(gè)程序窗口右上角都有三個(gè)按鈕,如最小化、關(guān)閉等。喬布斯覺(jué)得不好看,不易用,他提出改用紅綠藍(lán)的交通燈。這樣修改后, Mac OS果然 漂亮和易用了很多。
目前互聯(lián)網(wǎng)和手機(jī)上的應(yīng)用開(kāi)發(fā),都非常強(qiáng)調(diào)小團(tuán)隊(duì)研發(fā)。這樣研發(fā)模式速度會(huì)快很多,但對(duì)程序員綜合素質(zhì)的要求也就更高了。
我強(qiáng)烈建議程序員不要僅僅局限在技術(shù)本身,還需要多點(diǎn)精力考慮和用戶相關(guān)的問(wèn)題,學(xué)會(huì)洞察用戶的需求,并努力設(shè)計(jì)好用易用的產(chǎn)品。做到這點(diǎn)的程序高手,創(chuàng)業(yè)成算就很大了。
這樣的技術(shù)高手,如果捕捉到合適的產(chǎn)品方向,并且具備一定帶團(tuán)隊(duì)的能力,創(chuàng)業(yè)成功機(jī)會(huì)很大!事實(shí)上,絕大部分創(chuàng)業(yè)的技術(shù)公司,創(chuàng)始人都是這樣的人!比如迅雷的鄒勝龍和程浩,UCWEB的何小鵬和梁捷等。
聯(lián)系客服