偶爾在各種場景下看到有人問或談?wù)撨M入IT行業(yè)怎么樣敦跌?我該如何進入IT行業(yè)憋沿,我想要學編程,如何做季稳?而這幾年大家的注意力很大一部分都聚焦在互聯(lián)網(wǎng)上擅这,所以關(guān)于轉(zhuǎn)行,轉(zhuǎn)入互聯(lián)網(wǎng)行業(yè)的討論及案例也是一波接一波绞幌。
為什么要進入這個行業(yè)
我的專業(yè)是經(jīng)濟學蕾哟,現(xiàn)在轉(zhuǎn)行從事編程行業(yè)。從2012開始學習編程知識到現(xiàn)在從事編程工作也4年有余莲蜘。我想我的經(jīng)歷對于很多想要進入編程這一行業(yè)的人來說也許會帶來一些價值谭确。這一過程中面臨的問題及思考正是價值所在。
我為什么要學習編程票渠?也許大多數(shù)人會抱著從事編程這一工作平均工資高于社會平均工資逐哈。我在從事IT行業(yè)之前做了一段時間客戶經(jīng)理,非常個人的來講问顷,我覺得這不能釋放我的腦力昂秃,我想思考些更有挑戰(zhàn)性的問題。同時編程作為互聯(lián)網(wǎng)的技術(shù)基礎(chǔ)杜窄,我對此充滿了好奇肠骆,覺得在這個互聯(lián)網(wǎng)社會,掌握編程技能塞耕,是進入現(xiàn)代世界的一把鑰匙蚀腿。
現(xiàn)實的講,假如我當時有條件或機會成為基金經(jīng)理扫外,或者證券分析領(lǐng)域內(nèi)真的佼佼者莉钙。我的決心可能會打折。但奈何畢業(yè)于三流大學筛谚,我看不到可能性磁玉,也基于上一段所講個人對于編程的認知。
原因還有一點驾讲,在我打算學習編程時蚊伞,我已26歲席赂。我知道學習編程不是學個開車,學個做菜一樣幾個月搞定厚柳。這是需要耗費好幾年的時光氧枣,并且在而立之年后我也意識到還有很多事情要去面對沐兵,當時再不做别垮,以后就再沒機會了。所以我就去了扎谎。
論進入行業(yè)的姿勢
如何轉(zhuǎn)行碳想?怎么走出第一步?當然是首先是相關(guān)知識的積累毁靶。兩個選擇胧奔?要么是自學進入,要么是從培訓機構(gòu)出來预吆。經(jīng)沉睿看到有人吐槽或者帶有歧視性的說,培訓機構(gòu)出來的拉低了整個行業(yè)的素質(zhì)拐叉。我想說:“英雄莫問出處”岩遗。
這里簡單說一下進入培訓機構(gòu)的幾種情況。1非計算機畢業(yè)凤瘦,之前也沒什么計算機基礎(chǔ)宿礁。想借此積累知識,進入這個行業(yè)∈呓妫現(xiàn)在很多培訓機構(gòu)也打著培訓完與企業(yè)掛鉤梆靖,保證就業(yè)的旗號。至于這到底是個什么現(xiàn)實狀況笔诵?我也不知道返吻,實際一點說,學習本身很個人化乎婿,只要想想上學的經(jīng)歷测僵,看看不同層次學生的學習情況,就很容易估算出大概情況了次酌。2 計算機專業(yè)畢業(yè)恨课,可能感覺自己知識或者實戰(zhàn)經(jīng)驗還欠缺(當然,還有種情況岳服,計算機專業(yè)出來的剂公,上學時也沒怎么聽,混個畢業(yè)證吊宋,為了工作去培訓機構(gòu)再造)纲辽,需要鞏固下基礎(chǔ)。其實無論哪種情況,只要你能干活拖吼,能保證質(zhì)量按時完成任務(wù)鳞上,不知有多少企業(yè)會向你敞開大門。
這段學習生涯的開啟
我就是先在培訓機構(gòu)學習的吊档,然后自己期間又受到一些干擾篙议,最后對于自己的學習效果又不滿意,同時自己對于自又是有要求的怠硼,不希望自己僅僅是處于淺嘗輒止的層次鬼贱。總是希望自己能將自己所看到的內(nèi)容達到自己所理解的程度香璃。
這里面真有基礎(chǔ)不扎實这难,取巧的手段,運氣好的話還有可能拿到一個不錯的offer .首先葡秒,假如是Java工程師姻乓,面試時面來面去,問的技術(shù)問題也就是那幾個范圍眯牧,如程序語言基礎(chǔ)蹋岩,數(shù)據(jù)庫,web前端的一些內(nèi)容炸站,現(xiàn)在使用的常用的開源框架…星澳。當然這幾方面的內(nèi)容要深入挖掘的話,那也是能問倒大部分的從業(yè)人員的旱易。不過一般對于初入這個行業(yè)的人來說禁偎,問的層次與范圍,只要多加準備阀坏,網(wǎng)上的寶典也是一堆如暖,是可以搞定的。然后忌堂,你表現(xiàn)的溝通與解決問題的思路都還可以盒至。要是面試你的人技術(shù)也是一般,或者對于應(yīng)聘者的技術(shù)要求不高士修,也就是該項目對于人的技術(shù)要求能力沒有那么高枷遂。那也是很容易進入的。然后再你花了幾個月熟悉了該成熟產(chǎn)品的套路時棋嘲,基本上依靠復制可以完成平時的大部分工作酒唉。那就算你進去了。如果個人技術(shù)成長就此打住沸移,我想之前提到的吐槽—培訓機構(gòu)出來的怎么水痪伦,怎么拉低行業(yè)水平侄榴。可能就是指這類型人网沾。
繼續(xù)來談我的初始學習經(jīng)歷癞蚕,沒有達到自己滿意的程度,我采取的措施就是消極找工作辉哥,或者干脆不去桦山,悶著頭,從頭到尾將培訓內(nèi)容再過一遍证薇。然后不斷地意識到度苔,我去!還有這么多內(nèi)容不會浑度。從那時開始我就常常伴隨著很強的焦慮感。
痛苦的等待之等待
當時在培訓機構(gòu)結(jié)束之后鸦概,是可以直接在當時的城市拿到offer的箩张。但我繼續(xù)悶著頭按照我的學習計劃進行,然后又回到了深圳窗市。這時我面臨的情況就是先慷,非計算機專業(yè)畢業(yè),并且本身的專業(yè)與計算機沒有關(guān)系咨察,沒有什么工作經(jīng)驗论熙,目標是從事編程工作。我的想法是我簡歷上就實打?qū)嵉膶懮阌缓箝_投脓诡。在面試中征服別人。實際情況是很少收到面試邀請媒役,即便去了祝谚,即便題上的寫的滿滿,面試時說看你沒有工作經(jīng)驗就沒有后續(xù)了酣衷。
就這樣自己一邊自學交惯,偶爾參加面試。但真正收到算是面試邀請的沒超過三個穿仪。我自己也知道學習時間不能拖太長观堂,所以給自己也有個期限缰泡。等到期限到了,再想辦法。
痛苦的等待之急了
時間很快到2012年國慶竞滓。我現(xiàn)在都清楚的知道那個國慶的晚上,我在練SQL語句蝗拿。可以使用sql語句再加上自己的邏輯實現(xiàn)任意數(shù)據(jù)的提取御铃,暗暗敬佩其強大。同時自己給自己提出一個稍微復雜沈矿,不常見的提取數(shù)據(jù)方式上真,竟然不會,又是自我抑郁羹膳。不過我也知道睡互,對于初入這個行業(yè)的很多人來說,也是寫不出來的陵像。國慶結(jié)束了就珠,我只能虛編一段時間的工作經(jīng)歷,然后開始面試醒颖。
這個時間點妻怎,才是我真正開始面試的開始。朋友去面試泞歉,我也去面試逼侦。海投簡歷。不知是那年整體經(jīng)濟問題腰耙,還是其他問題榛丢,朋友也說,今年這個時候收到的面試邀請少挺庞。在等待中我開始焦慮晰赞,我知道不工作的時間不能拖太久。
就這樣到了2013年选侨,過完年之后我心態(tài)已經(jīng)不穩(wěn)了掖鱼。我已經(jīng)懷疑我這樣做是否正確,是否應(yīng)該在原先的城市先工作侵俗,然后等有一些經(jīng)驗再來深圳找锨用。懷疑我這種學習思路,是否可取隘谣。也是常處于抑郁之中增拥。有種看不到未來的絕望。不過寻歧,自己也在提醒自己掌栅,如果再沒起色,是否應(yīng)該放棄码泛,因為我已經(jīng)盡力了猾封。
很快年后3月份就有收到面試邀請,面完第一輪噪珊,直接面第二輪晌缘,印象中當時的項目經(jīng)理說了這樣一段話:“我知道你沒什么工作經(jīng)驗齐莲,但是我看中的是你這種學習的勁頭,我也不知道你這種勁頭能持續(xù)多久”磷箕。這句話选酗,真的是久旱逢甘霖,直接說到我的心坎里去了岳枷。我這一年的付出終于有人肯定了芒填。稍后就與人事談了薪資,讓我后面等通知空繁。
回去的路上殿衰,我的眼淚真的是控制不住。這句話真是太暖心了盛泡。有這句話闷祥,我心里也就很知足了。即使不能從事這一行業(yè)饭于,我也知足了蜀踏。
痛苦的等待之久旱逢甘霖
過了一些時間,沒反應(yīng)掰吕。我打電話問人事,人事說:“馬上就要過清明節(jié)了颅痊,流程會后延一下”殖熟。我就感覺八九不離十。又是兩天斑响,一好朋友說是給我推薦一家企業(yè)菱属,一天下午我正在玩魔獸爭霸,冰封王座舰罚。那個推薦企業(yè)的項目經(jīng)理一個電話打來纽门,問了些問題。然后說第二天你來公司面試营罢,面完試赏陵,項目經(jīng)理直接說第二天就來吧。
這中間還有個小插曲饲漾。項目經(jīng)理讓我手寫了單例模式蝙搔,不知是我粗心還是緊張,將靜態(tài)變量的修飾符static 放到了不該放的地方考传。然后問我吃型,staitc可以放到實例方法前面嗎?我表示詫異的說:“不可以啊僚楞,這是修飾靜態(tài)變量的啊…”,然后他指了指桌上的稿紙勤晚,你看你寫的枉层。最后談薪資,我看交談的還不錯赐写,有意抬高了一下鸟蜡。他詫異一下說,你看你這么粗心的血淌,要不是看你學習的欲望挺大矩欠,我是不會考慮你的。后來我就去了這家企業(yè)悠夯。
又是幾天癌淮,之前那一家單位給我offer了。我心想當前還是積累經(jīng)驗優(yōu)先沦补,于是就徹底定下來了乳蓄。
之所以要花大量篇幅寫進入這一行業(yè)的過程,只想說夕膀,轉(zhuǎn)行肯定是要經(jīng)歷痛苦或者挫敗的虚倒。其中肯定會經(jīng)歷心態(tài)的起伏,需要的是時間及自身的積累产舞。
對行業(yè)的認知
我將IT技術(shù)從業(yè)者進入的企業(yè)分為以下幾類魂奥。一線企業(yè)如BAT,騰訊,百度易猫,阿里耻煤,華為。這里有很多技術(shù)大牛准颓,也有不少技術(shù)天才哈蝇,技術(shù)在這些公司占有重要地位。二線就是知名的互聯(lián)網(wǎng)公司及知名集團下的科技部門攘已,比如網(wǎng)易炮赦,新浪,平安科技等等样勃。技術(shù)也很重要吠勘,只不過相對于一線,權(quán)重較低彤灶。三線就是公司業(yè)務(wù)模式穩(wěn)定看幼,占有一定的市場份額,積累著穩(wěn)定的客戶群體幌陕,但是名氣或者熱度稍遜于二線诵姜,比如金蝶,用友,恒生棚唆。再往后排就是很多小公司了暇赤,技術(shù)團隊小,技術(shù)主要對公司的業(yè)務(wù)起支撐作用宵凌。
我的第一家單位就是就是給華為做外包鞋囊,我將其排在四五線。雖然是外包公司瞎惫,我心里還是很感激第一家公司給了我進入這個行業(yè)的機會溜腐。并且在那一年,我確實學到了很多實戰(zhàn)經(jīng)驗瓜喇,這些是自己培訓或者自學學不到的挺益,包括開發(fā)流程,公司使用的技術(shù)乘寒,技術(shù)面向的業(yè)務(wù)望众,常見的需求問題等等。
對于外包與技術(shù)能力的看法
坊間都在流行這樣一種觀點伞辛,在外包學不到什么東西烂翰,技術(shù)上也沒什么挑戰(zhàn)。對于這類觀點我是這樣看的蚤氏,總體上講進入外包的實力不如我上面列舉的一二線企業(yè)甘耿,當然如果有能力進入一二線企業(yè),我想人們還是會選擇后者的竿滨。不過外包企業(yè)也是有些人很厲害的棵里,當初面試我的那位小哥就天天研究LINUX內(nèi)核,還看的不亦樂乎姐呐。
不同的公司都有自己常用的技術(shù)棧,有追求的話典蝌,當然要打好基本功了曙砂。隨便說上幾個方面,都夠研究一段時間了骏掀,而且要是沒有實戰(zhàn)經(jīng)驗鸠澈,斷斷續(xù)續(xù)看,效果又很不理想截驮。比如編程語言笑陈,數(shù)據(jù)結(jié)構(gòu),算法葵袭,計算機系統(tǒng)的一些基本概念涵妥,并發(fā),多線程坡锡,現(xiàn)在常用的開源框架蓬网,每個開源框架現(xiàn)在的使用情況及特點窒所,這兩年,大數(shù)據(jù)又很火爆帆锋,數(shù)據(jù)分析師就很吃香吵取。如果你再牛逼,對于算法的理解已經(jīng)一定程度锯厢,又是一個不錯的大學畢業(yè)皮官,出來搞搞人工智能也是可以的。成為算法工程師实辑,就是比較難做到的捺氢,而要想轉(zhuǎn)行,從一個非計算機相關(guān)專業(yè)畢業(yè)成為一名算法工程師徙菠,我沒看到相關(guān)案例讯沈。
我自己學的時候,自己也看過算法導論婿奔。僅僅是想其中某一個開始的問題缺狠,其中需要很多數(shù)學知識的積淀,花我一天都沒想的很透徹萍摊,最后想到的頭疼挤茄。然后我意識到,這方面的效率太低冰木,自己當前還是應(yīng)該以工作中需要掌握的內(nèi)容為主穷劈,并以這方面進行拓展,而且一個人單槍匹馬的學太艱難踊沸。所以以后對于算法的策略就是有時間看就看歇终,碰到感興趣的或需要面對的一些算法問題再進行研究。
搞技術(shù)的到哪里去
客觀的說逼龟,如果你是位對技術(shù)有追求的人评凝,或者我也可以這樣說,你搞技術(shù)再對技術(shù)沒有追求腺律,僅僅每天做些沒有挑戰(zhàn)性的復制黏貼奕短,配模板的工作。輕松是輕松匀钧,甚至有些無聊翎碑,缺乏挑戰(zhàn)性。那你進入這個行業(yè)也干不了幾年的之斯,無論是幾年之后的年歲漸長日杈,自己還不如小鮮肉,還是自己對于技術(shù)生涯的無望都會時刻敲打你心。當然达椰,有些人本身對技術(shù)沒什么追求翰蠢,暫時的一個階段而已,我之前一個同事經(jīng)常告訴我們啰劲,過兩年我就開個店鋪梁沧,賣過橋米線。聽到最多的話是蝇裤,過兩年廷支,我就找個生意做做。對于搞技術(shù)的未來的分析栓辜,我在csdn上看過一篇文章恋拍,是李智勇老師<<程序員生存定律>>,只要你舍得花上幾天時間看看藕甩,你就對這個群體的現(xiàn)狀即每個個體的未來就有個大致的判斷了施敢。
焦慮與問題
進入IT行業(yè),時常會聽到這樣一種聲音狭莱,年紀大了僵娃,就干不動了。這一行腋妙,太費腦子了默怨。而且經(jīng)常網(wǎng)上看到有各種調(diào)侃碼農(nóng)的圖片,把碼農(nóng)描述為不修邊幅骤素,不善溝通的書呆子匙睹。
標簽化認識是很簡單,省力的認知事物的一種方式济竹。這是不少媒體或者開玩笑者經(jīng)常使用的一種標簽痕檬,王小波,劉慈欣送浊,南派三叔之前都從事過程序員的工作谆棺,用職業(yè)來認知這個職業(yè)中每一個個體,我覺得太過絕對罕袋。
說天天加班,勞累容易過勞死碍岔,這里面有多少人注意鍛煉浴讯,晚上經(jīng)常熬夜?我在騰訊聽過一場講座,樓上的演講者那胸肌與腹肌隱約可見蔼啦。說太費腦子了榆纽,我一直不理解,何為費腦子?是腦子跟機器一樣奈籽,用一年折舊一年饥侵,最好是不用,讓其常年如新衣屏。那你打游戲躏升,撩帥哥,撩妹子怎么不說費腦子呢狼忱?不過事實上講膨疏,有些問題的解決確實是山路十八彎,千腸百轉(zhuǎn)钻弄,是要耗費大量心力的佃却。只不過懂得休息與適宜的運動是可以很快恢復過來的。真不知道窘俺,這個群體中的一些人以邏輯嚴密自居饲帅,自己卻經(jīng)常說些經(jīng)不起推敲的話。其實我也一樣瘤泪。哈哈灶泵。
后發(fā)問題。比如剛進入這個行業(yè)時均芽,同樣的年紀丘逸,有些人已經(jīng)有了3年工作經(jīng)驗,混得好的話是項目經(jīng)理掀宋。而自己還是剛開始深纲,這種落差讓自己花了很長時間才從心底慢慢面對與承認并且適應(yīng)。我想對于任何一個轉(zhuǎn)行之人來說劲妙,這種落差與如何超越都是自己迫切想解決的一個問題湃鹊。
我現(xiàn)在的技術(shù)水平雖然已有三年多的工作經(jīng)驗,但是依然有著很多重要的基礎(chǔ)知識欠缺的地方镣奋。我想這也是很多人面臨的一個問題币呵,不過對于平時的工作而言,肯定是能應(yīng)付的侨颈。其實這里面涉及到一個權(quán)衡的問題余赢,針對每個人的現(xiàn)實情況,一味的追求技術(shù)我覺得并不可取哈垢,也不實際妻柒,技術(shù)首先是為現(xiàn)實,為業(yè)務(wù)耘分,為市場服務(wù)的举塔。而且绑警,只要你的相應(yīng)知識積累的一定程度,學習及運用這兩個階段是可以做到同步進行的央渣。
收獲與不可確定性
編程工作給我?guī)Я耸裁凑J識计盒?單純剝離平時的編碼工作,我是真真切切的體會到做事的不易芽丹,看似簡單的事情下面隱藏著是你不是一時半會就能看懂的邏輯北启。簡單的一個頁面,里面的一整套操作是那么幾個帥哥志衍,耗費幾周的時間從設(shè)計暖庄,到實現(xiàn),再到優(yōu)化楼肪,再到碰到新的情況培廓,再優(yōu)化。這一過程春叫,才是真正做事的節(jié)奏肩钠。做著做著意想不到的情況發(fā)生了,然后針對這暂殖,再做考慮价匠。又要考慮合理性,又要考慮性能呛每,又要考慮用戶體驗踩窖。
上述的情況其實與這個世界上真正做事的節(jié)奏是差不多的,創(chuàng)業(yè)者晨横,面對市場洋腮,觀察市場的變化,更新自己的策略手形。作家啥供,寫作從構(gòu)思到完成作品,也不是從一開始就一切想的明明白白库糠,真真切切伙狐。反過來,如果你的工作瞬欧,放眼過去所有問題都一覽無遺贷屎,那自身對于市場的價值也是不會高的。
另外一點艘虎,編程中認知事物豫尽,解決問題的思路是可以遷移到其他方面的。不少人說顷帖,不干技術(shù)以后美旧,不知道能干什么了?很多有價值的工作或者事情都是發(fā)現(xiàn)問題贬墩,解決問題的能力榴嗅,為什么就不能試著遷移過去的。如果技術(shù)轉(zhuǎn)銷售陶舞,很多人的瓶頸是不善于溝通嗽测,可是有些銷售,你能說會吹我看也不是決定因素肿孵,買方看重的產(chǎn)品是否符合自己的需求唠粥,性價比是否合理,能言善辯可以錦上添花停做,但是你把基本問題說清楚你也可以做的不錯啊晤愧。當然,涉及到銷售或者公關(guān)蛉腌,很多人都會聯(lián)想到暗黑法則官份,這也許是另外一套法則。
不確定性與未來烙丛。除過之前所論述的技術(shù)水平舅巷,個人發(fā)展方向與進度也是一個不斷自問的問題。現(xiàn)在的解決方案則是技術(shù)當然要繼續(xù)積累河咽,但卻不可一味偏向于技術(shù)钠右,強壯的身體,文字表達能力的精進(這就是我為什么要至少每周寫一篇文章)忘蟹,對于個人其他興趣的不可偏廢都是自身應(yīng)對未來不確定性飒房,保證個人良好發(fā)展的組成模塊。
設(shè)計能力
很多基礎(chǔ)的的技術(shù)知識寒瓦,都是對某種問題設(shè)計的一種解決思路情屹。比如java中實現(xiàn)動態(tài)頁面,就是在jsp頁面中使用servlet動態(tài)生成html頁面杂腰。而更高一層級的設(shè)計如現(xiàn)在常用的spring框架垃你,則是對如何提供一些常用的基礎(chǔ)功能進行封裝,以便程序員開發(fā)系統(tǒng)時可以更加專注的思考業(yè)務(wù)方面的邏輯喂很。說到底就是一種設(shè)計思路惜颇。我最近也是一直思考設(shè)計思路,本質(zhì)上這就是解決問題的一套算法少辣。以這種設(shè)計思路去看現(xiàn)實生活或者其他工種凌摄,你會驚奇的發(fā)現(xiàn)都是對于某種問題提供的一種思路設(shè)計。
這就是我?guī)啄甑囊恍臉I(yè)經(jīng)驗與心得漓帅,希望對需要的人能產(chǎn)生些價值锨亏。很多點其實是可以展開繼續(xù)拓展的痴怨,需要的話可以繼續(xù)。