寫在前面的話 在開始正文之前我先跟大家分享一個我身邊的例子。我有兩個朋友,A和B。B從高一開始打dota,A從高二開始,到高中畢業(yè)的時候,A已經(jīng)是一個2100分的大神級別的人物,而B只有1200分而已。為什么A打的時間比B短,而水平卻比B高呢?是天賦?是智商?似乎都不是。 我對兩個人還是比較了解的,雖然同樣是打dota,但是A和B之間有著很大差別的。A除了像B一樣打dota之外,會看一些成名已久的大神的教學(xué)視頻,會看自己打dota的錄像然后反思,會逛貼吧學(xué)習(xí)一些新的打法以及連招,會不斷練習(xí)自己做得不好的地方。然后A成了大神,而B依然是一只菜鳥。 其實成為大神的路上,真的有一些捷徑,不論是打dota、銷售,還是開發(fā)。 自我定位以及目標(biāo) “我是蒙奇·D·路飛,要成為海賊王的男人。”草帽同學(xué)的這句話既霸氣又充滿哲理。假如現(xiàn)在的你是一個小菜鳥,但你想要成為宇宙無敵超級工程師,那么你需要一個目標(biāo):我是要成為超級工程師的男人(妹子)。當(dāng)你從心底有了這個目標(biāo)之后,你的每天都會有一種充實感,雖然哥現(xiàn)在很菜,但過一陣子哥可就是大神了。強(qiáng)大先從精神開始。 經(jīng)驗與成就 為什么有的人工作5年,仍然不是專家,而有的人只用2年時間,表現(xiàn)足夠卓越? 心理學(xué)家 Ericsson 的研究發(fā)現(xiàn):決定偉大水平和一般水平的關(guān)鍵因素,既不是天賦,也不是經(jīng)驗,而是[刻意練習(xí)]的程度。 我堅信重復(fù)是通向精通的必由之路。任何一種技能(包括碼代碼),只要經(jīng)過連續(xù)不斷地磨練和改進(jìn),最終效果都將變得異常驚人。 之前也和朋友討論過一個問題,近幾年培訓(xùn)的人越來越多,就業(yè)壓力相對來說越來越大,很多人會出現(xiàn)恐慌的情緒。但如果你真的足夠優(yōu)秀,那么這種問題其實都不是問題。 學(xué)好英語 根據(jù)HOPL編程語言在線數(shù)據(jù)庫的統(tǒng)計,全球有8500種以上的編程語言,大概2400種起源于美國,600種是在英國發(fā)展起來的,160種是來自加拿大的,75種是在澳大利亞發(fā)展起來的。換句話說,世界上三分之一以上的編程語言是在以英語為母語的國家發(fā)展起來的。 就Android開發(fā)者來說,通讀官方文檔和training都是很有必要的。so,好好學(xué)習(xí)英語吧。 找到成就感 我實習(xí)的時候,我的經(jīng)理告訴我,如果你從你的工作中找不到成就感,那么你可以考慮轉(zhuǎn)行了。對于碼代碼,在你眼里無論這是一份工作、事業(yè)或者志業(yè),都可以賦予其意義。有了意義就會有成就感,它會成為一種精神力量和內(nèi)在動力,與工作形成一個良好的循環(huán)。譬如寫博客,如果沒有成就感,或許小哥我早放棄了。 點滿技能點 如果你不知道該學(xué)點什么,去招聘網(wǎng)站翻翻簡歷吧。在你所在的領(lǐng)域里,總會有你不熟悉的技能,找到它,干掉它。如果你的技能點是滿的,那就發(fā)散思維,學(xué)習(xí)一些進(jìn)階技能和相關(guān)的其他方面的技能點,其實開發(fā)遠(yuǎn)比想象的要復(fù)雜。 好的身體是革命的本錢 長時間坐在電腦前會傷害你的身體,如果不能減少工作時間,那就盡量保持正確的坐姿,如果有條件的話,換個站立辦公桌也是不錯的選擇。選擇一個適合自己的鍛煉方案,相信我,當(dāng)你老了,你會慶幸自己能堅持鍛煉。 拖延癥、計劃和時間管理 拖延癥是指自我調(diào)節(jié)失敗,在能夠預(yù)料后果有害的情況下,仍然把計劃要做的事情往后推遲的一種行為。這是一種普遍現(xiàn)象,博主上大學(xué)的時候?qū)懻撐模看味际窃谧詈笠惶斓淖詈笠粌蓚€小時搞完,論文質(zhì)量簡直慘不忍睹。 我們的人性??! 合理的計劃可以有效的解決拖延癥的問題,每周給自己一個計劃,堅持完成,想不成為大神都難。 學(xué)會管理自己的時間,讓效率飛起來。關(guān)于這方面大家可以看下《暗時間》和番茄工作法。 知其然與其所以然 這點很重要,這點很重要,這點很重要,重要的話要說三遍。 對于這點最深的感觸是實習(xí)的時候經(jīng)理提的一點要求:做任何事,先要想明白,再能給別人講明白,然后再去執(zhí)行。所以那會我們在做開發(fā)之前先要跟他匯報,給他講明白,然后才能開發(fā)。優(yōu)點也很明顯,這樣下來bug比之前少很多。 在這順便建議一下大家寫博客,做完東西整理思路總結(jié)一下,然后分享給大家,加深理解的同時還能獲得成就感,一舉多得。 我是這樣解決問題的 首先遇到問題不要怕,要知道這個世界上那么多前輩,你所遇到的大部分問題,之前肯定有人遇到過并且已經(jīng)解決,要學(xué)會使用google。 其次,這里有一條準(zhǔn)則與大家共勉: WHAT,WHEN,WHY,HOW。 它是什么?它在什么場景下發(fā)生?它為什么會是這樣,有沒有其他原因?它是怎么做到的? 如果你覺得自己處理信息的能力又比較弱,不妨這樣試試。做任何事情之前,有意識的讓自己來一遍what, when, why, how。 時間久了,你會發(fā)現(xiàn)邏輯變得嚴(yán)謹(jǐn),不會鉆牛角尖了,工作變得輕松,debug也不頭痛了。 與時消息、與時諧行、與時俱進(jìn) 每天抽出半個小時左右的時間閱讀一些領(lǐng)域內(nèi)的博客, 理解目前的技術(shù)發(fā)展方向, 與時代同步, 讓技術(shù)歷久彌新。這里分享下我每天必看的博客或者網(wǎng)站(https://github.com/PleaseCallMeCoder/Topia/blob/master/treasure/recommend.md)。 代碼評審(code review 大多數(shù)程序員都有一個錯覺:手頭上的項目永遠(yuǎn)是最爛的。如果你也是這么認(rèn)為,那么嘗試去改變它吧。 代碼評審(code review)是一個用來提高程序員的極好的方法。 開源項目 閱讀流行的開源項目,是學(xué)習(xí)編寫可維護(hù)代碼和軟件開發(fā)流程的好方法。比如最近流行的google出品的MVP模式demo,EventBus,Picasso等等。 結(jié)語 做一個行動派。 世界上最遙遠(yuǎn)的距離是在想到和做到之間。 如果只是看清了一些事情而不去改變它,那又有什么意義呢? 移動一小步,視界大不同! 更多程序員技術(shù)交流,奇聞軼事, |
|