挨踢部落故事匯(16):技術(shù)人疲倦期的最佳實(shí)踐
原創(chuàng)【51CTO.com原創(chuàng)稿件】Coeus喜歡和朋友聊技術(shù)、懟產(chǎn)品、鄙銷售、談夢(mèng)想。借著興致與大家分享這幾年遇到坑,經(jīng)歷的疲倦期和技術(shù)瓶頸,希望對(duì)大家有一定幫助。
Coeus·新浪安徽站PHP主管
Coeus工作六年有余,一直從事PHP相關(guān)的Web開發(fā)工作。前端、服務(wù)器運(yùn)維也做過,私活、技術(shù)顧問、個(gè)人規(guī)劃的項(xiàng)目也接觸做過。曾在小公司打過雜,也在外企熬過夜,目前在國內(nèi)一家老牌互聯(lián)網(wǎng)地方站做技術(shù)主管。這六年的工作期間Coeus踩過很多坑,做出了很多選擇,很幸運(yùn)的每一次都挺了過來。秘籍很簡單:不能則學(xué),不知?jiǎng)t問,恥于問人,決無長進(jìn)。
在接觸開發(fā)的幾年中,Coeus糾結(jié)過迷茫過,為不知如何學(xué)習(xí)而發(fā)愁,也為薪資收入努力過,經(jīng)歷過徹底Debug的痛苦,也感受到了項(xiàng)目得到重視和鼓勵(lì)的成就感,在職業(yè)發(fā)展的過程中都不會(huì)是一帆風(fēng)順的。Coeus大學(xué)專業(yè)是網(wǎng)絡(luò)工程,雖然專業(yè)涉及到范圍比較廣,Java、C++、操作系統(tǒng)、匯編、數(shù)據(jù)庫、網(wǎng)絡(luò)等等,然而他到大三結(jié)束時(shí)才下定決心做Web開發(fā)。但是該怎么敲開Web開發(fā)的大門?好在網(wǎng)絡(luò)資源很豐富加上他學(xué)長的耐心引導(dǎo),還有去大二大三中蹭課(大四的時(shí)候基礎(chǔ)還是很差的),深入一大堆基礎(chǔ)知識(shí)中學(xué)習(xí)。在這個(gè)階段,他感謝自己不怕枯燥,大量的練習(xí)基礎(chǔ)知識(shí)。不斷的將自己練手項(xiàng)目拿出來向老師、學(xué)長們請(qǐng)教編碼技巧、注意事項(xiàng)。慢慢的對(duì)項(xiàng)目中要實(shí)現(xiàn)的功能點(diǎn)有了開發(fā)思路,進(jìn)而也對(duì)Web開發(fā)產(chǎn)生了很大興趣。由此他找到了一份開發(fā)工作,算是正真的進(jìn)坑了。現(xiàn)在回想起他那年夏天蹲在宿舍椅子上從早上起來擼碼一直擼到大半夜,每天也都是幾千行代碼量,每一個(gè)JS、PHP方法反復(fù)推敲練習(xí),每一個(gè)HTML、CSS屬性的不斷琢磨,也是真真的佩服他自己。
在一門語言的入門階段,基礎(chǔ)知識(shí)很重要,打牢基礎(chǔ)是以后進(jìn)步、擴(kuò)展的根基。當(dāng)然基礎(chǔ)知識(shí)的學(xué)習(xí)也是很枯燥的。一個(gè)函數(shù)、一個(gè)CSS樣式都要手寫很多遍。其實(shí)多寫、多練成了他那時(shí)候短期的“座右銘”,不管什么內(nèi)容什么知識(shí)點(diǎn),看一遍了解手冊(cè)上的內(nèi)容,接著就是大量的練習(xí)。***review他的代碼,找出最開始對(duì)知識(shí)點(diǎn)理解的誤區(qū)。
建議: 這個(gè)階段應(yīng)該是很重要的時(shí)候,不少人也因不知道如何入門而打了退堂鼓
1、基礎(chǔ)很重要,雖然很枯燥;
2、好記性不如爛筆頭,多寫多練,有代碼也方便和人交流、請(qǐng)教問題;
3、盡量手寫代碼,不要使用帶代碼提示或者自動(dòng)完成的IDE,當(dāng)然有個(gè)賞心悅目的編輯器還是有必要的;
如何將基礎(chǔ)應(yīng)用到實(shí)際項(xiàng)目中
經(jīng)過一段時(shí)間的基礎(chǔ)知識(shí)學(xué)習(xí)后,Coeus遇到大部分初學(xué)者都會(huì)遇到的問題”如何做項(xiàng)目”、”如何找練手項(xiàng)目”。當(dāng)時(shí)和他的代課老師聊到這個(gè)事情,老師恰巧想征集學(xué)生開發(fā)一個(gè)同學(xué)錄系統(tǒng),將之前帶過的學(xué)生以及今后的學(xué)生都?xì)w納起來。于是Coeus二話沒說接下這個(gè)任務(wù),直到開始做的時(shí)候他才發(fā)現(xiàn),課上所學(xué)的東西都是九牛一毛。從服務(wù)器搭建、虛擬域名配置開始都要重新一點(diǎn)點(diǎn)學(xué)習(xí),每天不分日夜的擼碼、查資料、Debug。在這個(gè)階段***的收獲是新知識(shí)的學(xué)習(xí)能力,和解決問題能力,為他以后的技術(shù)發(fā)展打下了堅(jiān)實(shí)基礎(chǔ),對(duì)自己的代碼有著苛刻的要求,對(duì)任何的小問題不能放過。有的朋友會(huì)問”如果沒有這么好的機(jī)遇,應(yīng)該怎么找練手項(xiàng)目”,其實(shí)項(xiàng)目就在你周圍需要解決的,做一個(gè)博客系統(tǒng)、一個(gè)學(xué)習(xí)管理系統(tǒng)、一個(gè)課程管理系統(tǒng)等等。
疲倦期選擇跳槽
Coeus***份工作是在一個(gè)小公司(本地行業(yè)論壇)做維護(hù)工作,初入職場(chǎng)Coeus怕自己趕不上團(tuán)隊(duì)其他的進(jìn)度,于是他用業(yè)余時(shí)間給自己充電,怎么做?閱讀源碼,將別人的項(xiàng)目、案例的源碼徹頭徹尾的閱讀一遍,學(xué)習(xí)解決問題的思路、系統(tǒng)整體邏輯的把控、優(yōu)秀的封裝方法等等。給自己在開發(fā)中提供了榜樣和目標(biāo)。
工作3年左右,Coeus已經(jīng)對(duì)基礎(chǔ)知識(shí)應(yīng)用的更加得心應(yīng)手了,沒有多久公司讓他對(duì)接新浪微博的API,做一些微博應(yīng)用(那時(shí)候百度也出了一個(gè)框計(jì)算),雖然接口簡單的對(duì)接完成項(xiàng)目上線了,但是他對(duì)微博的API文件產(chǎn)生了興趣。在把API的源碼看了一遍后,他發(fā)現(xiàn)有很多知識(shí)點(diǎn)、開發(fā)思路是一直沒有接觸到的,他向同事們請(qǐng)教,一個(gè)個(gè)也都是一知半解(現(xiàn)在看當(dāng)時(shí)那家公司的整體開發(fā)能力真的很弱)。
技能提升受到阻礙,Coeus總有一種沒有什么項(xiàng)目能難得住他的幻覺,這個(gè)時(shí)候開發(fā)者都會(huì)出現(xiàn)一定的工作疲倦期,像大部分開發(fā)人員一樣,Coeus選擇了離職。
來到了一個(gè)外企創(chuàng)業(yè)公司,在新公司Coeus發(fā)現(xiàn)自身實(shí)力的弱小,也給他打開了一片新天地。代碼性能優(yōu)化、服務(wù)器優(yōu)化、代碼安全、PHP擴(kuò)展開發(fā)、數(shù)據(jù)庫管理優(yōu)化、日志的重要、Unit Test的關(guān)鍵、和Java、C++對(duì)接接口、Shell腳本的初識(shí)、XMPP通訊協(xié)議、英文文檔閱讀、快速的版本迭代、壓力測(cè)試、自動(dòng)部署等,很多都是以前的知識(shí)面所接觸不到的層面、技能、流程,那時(shí)他就像一個(gè)饑渴的小孩,無時(shí)不刻的不在學(xué)習(xí)。每天都在生產(chǎn)BUG和Fix Ticket中度過。這一段工作經(jīng)歷讓Coeus徹底對(duì)自己的能力產(chǎn)生了懷疑,同時(shí)也對(duì)未來的道路有了更清晰的認(rèn)識(shí)。原來開發(fā)的世界有這么多好玩的東西,當(dāng)時(shí)引發(fā)他另外一個(gè)疑問”如何自己發(fā)現(xiàn)并學(xué)習(xí)這些知識(shí)點(diǎn)”?于是他開始不斷關(guān)注國內(nèi)外各大論壇、社區(qū)。同時(shí)他也聽從公司大牛的建議,對(duì)設(shè)計(jì)模式做了深入的學(xué)習(xí),閱讀了《深入理解計(jì)算機(jī)系統(tǒng)》、《計(jì)算機(jī)系統(tǒng)概論》兩本書,其實(shí)他也是看的似懂非懂,但對(duì)代碼執(zhí)行、系統(tǒng)存儲(chǔ)的理解有了自己的認(rèn)識(shí)。
入門一段時(shí)間后,發(fā)現(xiàn)自己做一些基礎(chǔ)性的工作是沒問題,但是想再次提升不知如何切入。Coeus的果斷跳槽證實(shí)了他自己,認(rèn)清短板后,需要有一個(gè)學(xué)習(xí)的方向。外企的工作機(jī)會(huì)對(duì)于他突破該瓶頸很重要,但這并不是運(yùn)氣。因?yàn)閷?duì)于現(xiàn)在的環(huán)境,優(yōu)秀的技術(shù)論壇、熱門的技術(shù)網(wǎng)站都會(huì)有類似的技能書、學(xué)習(xí)路徑之類的,找到適合自己的方向的,去前進(jìn)吧。如果當(dāng)前的工作環(huán)境不能讓你的能力得到發(fā)揮,或者不能提供更大的發(fā)展空間,走出去,在項(xiàng)目中鍛煉自己,在被產(chǎn)品虐的過程中成長自己。疲倦期建議:
1、不能則學(xué)。遇到自己不會(huì)的知識(shí)點(diǎn)甚至都沒聽過的內(nèi)容,那就抽時(shí)間學(xué)習(xí)了解,當(dāng)然,盲目的學(xué)習(xí)不是正確的方法,先了解知識(shí)的內(nèi)容、適用性、與自己的契合度,再?zèng)Q定是否繼續(xù)學(xué)習(xí)。
2、不知?jiǎng)t問。多問,但是主要提問技巧,問什么問題前,先自己考慮問題,嘗試解決問題,有了一些自己的想法(不管對(duì)錯(cuò))。即使Coeus畢業(yè)五六年了,他也會(huì)向?qū)嵙?xí)生請(qǐng)教問題,每個(gè)人都可能會(huì)給你新的思路或者方向。
3、對(duì)自己狠一點(diǎn)。要學(xué)習(xí)、要提升就需要大量的時(shí)間,Coeus在這個(gè)階段的時(shí)候,每天加班到12點(diǎn)以后,回家后基本上每天晚上都會(huì)學(xué)習(xí)到3點(diǎn)以后睡覺(不過他有個(gè)壞習(xí)慣,學(xué)習(xí)之前也會(huì)讓自己放松一下,吃點(diǎn)好吃的、看看動(dòng)漫聽聽歌、偶爾玩玩游戲),每天都有自己的學(xué)習(xí)目標(biāo)。
4、自學(xué)能力培養(yǎng),對(duì)自己知識(shí)結(jié)構(gòu)有清晰的了解。這個(gè)階段每個(gè)人都應(yīng)該有一定自學(xué)的能力,以后需要學(xué)習(xí)的東西很多,我們無法每次都等待別人指引。清楚自己的知識(shí)結(jié)構(gòu),結(jié)合自己的方向,不斷的補(bǔ)缺短板。
瓶頸期開發(fā)軟技能
終于,當(dāng)Coeus對(duì)大小項(xiàng)目都得心應(yīng)手的時(shí)候,他開始深刻的考慮自己的職業(yè)規(guī)劃了,現(xiàn)在在公司做技術(shù)主管,目前,短期內(nèi)的規(guī)劃是做技術(shù)管理。項(xiàng)目管理、進(jìn)度把控、人員調(diào)度是他最近遇到的問題和壓力。
最近這一年多,Coeus不斷的在關(guān)注業(yè)務(wù)方向的知識(shí),想多學(xué)習(xí)技術(shù)開發(fā)周邊的一些內(nèi)容,希望不斷的突破自己。不斷的給自己和團(tuán)隊(duì)一定的壓力、不斷的嘗試新的技術(shù)難點(diǎn)、也不斷的優(yōu)化工作流程和項(xiàng)目架構(gòu)。
Coeus隨著自己在圈子的時(shí)間越來越久,也認(rèn)識(shí)不少圈內(nèi)的很多朋友,于去年開始,收到了幾個(gè)公司的技術(shù)顧問的邀請(qǐng),他們初創(chuàng)技術(shù)團(tuán)隊(duì)能力有限,于是為他們指導(dǎo)團(tuán)隊(duì)發(fā)展路線、技能進(jìn)階規(guī)劃、為編輯培訓(xùn)Web基礎(chǔ)能力。總之在不斷的與外界接觸,不斷的提升自己開發(fā)以外的能力——軟技能。
他站在公司角度不斷的為難題提供技術(shù)解決方案,經(jīng)常和圈內(nèi)朋友談?wù)撐磥硪?guī)劃和發(fā)展,也能得到公司發(fā)展方向和開發(fā)相結(jié)合的一些反饋,時(shí)常為公司開發(fā)業(yè)務(wù)新功能,不斷的嘗試新產(chǎn)品、新技術(shù)。
現(xiàn)階段的他有自己的方向和目標(biāo),內(nèi)容有自己想做的事情,可以有條不紊的安排自己的時(shí)間和任務(wù),蠻好。這個(gè)階段說說他的感想:
1、不要盯著那些***、最潮流的技術(shù),適合自己團(tuán)隊(duì)的才是***的。
2、保持細(xì)節(jié)問題的敏感度,千里之堤毀于蟻穴。
3、應(yīng)該適當(dāng)?shù)牧私馄渌块T或者業(yè)務(wù)線的工作流程。
4、軟技能是這個(gè)階段應(yīng)該被重視起來的,指溝通能力、傾聽能力、說服能力、自我激勵(lì)的能力、影響力、團(tuán)隊(duì)建設(shè)的能力等等,軟技能只能在公司的工作崗位中培養(yǎng)。
Coeus始終認(rèn)為IT是為了解決問題,對(duì)技術(shù)也有了自己的理解和認(rèn)識(shí),技術(shù)是為了解決問題而存在,個(gè)人生活中的問題、企業(yè)發(fā)展的問題、各個(gè)工種工作遇到的問題,技術(shù)只有在解決問題的時(shí)候才體現(xiàn)了真正的價(jià)值。于是在業(yè)余時(shí)間他會(huì)和身邊不同處境的朋友交流。
目前Coeus在不斷的規(guī)劃個(gè)人項(xiàng)目,也在不斷的嘗試新的東西做Demo。這是他日常生活的一個(gè)常態(tài),公司的項(xiàng)目有可能無法滿足他的技能發(fā)展,或者在其他方向上有不錯(cuò)的想法,那就直接去實(shí)現(xiàn)出來。談不上做產(chǎn)品和創(chuàng)業(yè),一方面他認(rèn)為自己的性格使然不愿意閑著,一方面系統(tǒng)通過一些項(xiàng)目鍛煉對(duì)全局規(guī)劃、架構(gòu)方面有一定提升。在做項(xiàng)目的時(shí)候他更加關(guān)注的是底層模塊的實(shí)現(xiàn),MemCache、Redis的工作原理和實(shí)現(xiàn),優(yōu)缺點(diǎn)比較,在不同的項(xiàng)目使用不同的緩存、框架技術(shù),使用設(shè)計(jì)模式解決問題都讓他有了更深一層的理解。
Coeus發(fā)現(xiàn)身邊做微商朋友多了,深入了解之后便打算開發(fā)微商管理系統(tǒng);聊到小學(xué)教育,他發(fā)現(xiàn)技術(shù)可以幫老師解決很多問題,于是做了在線小學(xué)教育的一套系統(tǒng);他的老婆懷孕,總是忘記吃水果,有時(shí)也不知道該注意什么,于是Coeus寫了一個(gè)系統(tǒng)抓取了懷孕時(shí)不同時(shí)間的注意事項(xiàng),然后定時(shí)微信提醒;他個(gè)人項(xiàng)目規(guī)劃的時(shí)間找不到一個(gè)順手的時(shí)間管理工具,便做了一個(gè)基于微信的時(shí)間管理工具。
孕期數(shù)據(jù)抓取
微商管理系統(tǒng)規(guī)劃(初版)
Coeus的腦洞
其實(shí)這些項(xiàng)目基本上是很難推廣到市場(chǎng)上去的,但是在做項(xiàng)目的過程中Coeus的全局把控、規(guī)劃,項(xiàng)目架構(gòu)有了一定的提升,至少成就感得到了一定的滿足。
對(duì)于未來的規(guī)劃沒有想太多,以后職業(yè)上也會(huì)不斷的遇到瓶頸,相信他會(huì)做的越來越好。目前他覺得眼界還是太小,今年希望與一線城市的技術(shù)大咖、企業(yè)領(lǐng)頭羊多多的溝通學(xué)習(xí),另外就是擴(kuò)展技術(shù)圈子以外的資源。現(xiàn)在還是在準(zhǔn)備階段,準(zhǔn)備隨時(shí)到來的機(jī)會(huì)。
如果你也愿意分享你的故事,請(qǐng)加51CTO開發(fā)者QQ交流群 312724475聯(lián)系群主小官,期待你精彩的故事!
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】