2016-10-13全棧開(kāi)發(fā)中心
作為一個(gè)軟(ku)件(bi)工(de)程(ma)師(nong),你有沒(méi)有覺(jué)得做什么事都沒(méi)時(shí)間?沒(méi)時(shí)間學(xué)習(xí)新東西,沒(méi)時(shí)間去回顧、整理原來(lái)寫(xiě)的爛代碼,沒(méi)時(shí)間寫(xiě)單元測(cè)試,沒(méi)時(shí)間給接管你項(xiàng)目的家伙寫(xiě)文檔,沒(méi)時(shí)間思考,沒(méi)時(shí)間喘氣,沒(méi)!時(shí)!間!
額……如果你肯花點(diǎn)時(shí)間看看這篇文章,我相信你會(huì)明白應(yīng)該把時(shí)間花在哪。
我曾以為成為一個(gè)技術(shù)大牛的唯一途徑是玩命地學(xué)習(xí)與工作。這個(gè)想法差點(diǎn)毀了我。身體越來(lái)越差,和家人與朋友越來(lái)越疏遠(yuǎn),很快我就撐不住了。后來(lái)我開(kāi)始反思,發(fā)現(xiàn)自己的時(shí)間安排極為不合理,并

逐漸悟出了下面這5個(gè)道理,這才讓自己從那種高壓狀態(tài)中解脫出來(lái)。
不要因?yàn)榕伦约郝湮槎W(xué)習(xí)新東西
一個(gè)優(yōu)秀的開(kāi)發(fā)者始終在學(xué)習(xí),這一點(diǎn)毋庸置疑。誠(chéng)然,舊的技術(shù)終會(huì)被淘汰。但是新的技術(shù)終有一天會(huì)變成舊的。因此,沒(méi)有必要一味地去追求最新的技術(shù)。
平均每37秒就會(huì)誕生一個(gè)新的標(biāo)準(zhǔn)或框架,你不可能把它們都學(xué)會(huì)。很多新技術(shù)、框架或者新特性對(duì)你來(lái)說(shuō)都不是必需的,你沒(méi)必要非得了解它們。真正有價(jià)值的技術(shù)需要經(jīng)過(guò)社區(qū)和市場(chǎng)一段時(shí)間的打磨才能出現(xiàn)。IT公司通常都會(huì)重點(diǎn)培養(yǎng)適合于自己的技術(shù),沒(méi)有哪個(gè)公司會(huì)一拍腦門(mén)讓自己的代碼去適配某個(gè)全新的框架。因此你也不用太擔(dān)心因?yàn)槟承┬录夹g(shù)而被裁員。你需要關(guān)注的是這三類(lèi)知識(shí),按照優(yōu)先級(jí)排列如下:
?。?)基礎(chǔ)?;A(chǔ)是重中之重。當(dāng)你掌握一門(mén)基礎(chǔ)知識(shí)后,你可以快速掌握其相關(guān)的技術(shù)。比如如果你非常熟悉JavaScript,那么基于JavaScript的任何框架都難不倒你。如果你掌握了面向?qū)ο缶幊?,那么你可以快速掌握一門(mén)新的面向?qū)ο蟮恼Z(yǔ)言。深入學(xué)習(xí)基礎(chǔ)能夠大幅提高你的學(xué)習(xí)效率。

?。?)你常用技術(shù)的最新版本。你平常用得最多的技術(shù)才是你的鐵飯碗。如果它們出了新的版本,那么你有必要花時(shí)間去學(xué)習(xí)一下。
?。?)大公司推崇的技術(shù)。如果一個(gè)非常知名的公司(如谷歌、臉書(shū)和微軟)發(fā)布了一個(gè)新的技術(shù)并不斷地對(duì)它進(jìn)行維護(hù),那么這個(gè)技術(shù)就值得你去關(guān)注。曾經(jīng)社區(qū)里有成百上千個(gè)非?;鸬腏avaScript框架,結(jié)果Angular和React的出現(xiàn)瞬間搶走了他們的風(fēng)頭。
好好規(guī)劃你的學(xué)習(xí)時(shí)間,每天安排一段時(shí)間來(lái)學(xué)習(xí)。這段時(shí)間不一定很長(zhǎng),哪怕只有25分鐘也能使你有所成長(zhǎng)。
? 寫(xiě)出高效的代碼比一般的代碼要花更多的時(shí)間
當(dāng)你運(yùn)行完程序并發(fā)現(xiàn)功能實(shí)現(xiàn)的時(shí)候,你感覺(jué)工作已經(jīng)完成了,實(shí)則不然。實(shí)現(xiàn)一個(gè)新的功能除了編寫(xiě)新的代碼以外,還包括對(duì)該功能相關(guān)的其他部分已有代碼的調(diào)整與優(yōu)化。當(dāng)你發(fā)現(xiàn)你的一部分時(shí)間花在完善代碼的設(shè)計(jì)上了,那么從長(zhǎng)遠(yuǎn)角度來(lái)看你遇到的錯(cuò)誤會(huì)更少一些。
要想減少你的代碼的錯(cuò)誤并優(yōu)化設(shè)計(jì),你需要注意以下兩點(diǎn):
(1)先準(zhǔn)備好測(cè)試環(huán)境,然后再開(kāi)發(fā)。先將測(cè)試功能配置好,然后再編寫(xiě)符合測(cè)試標(biāo)準(zhǔn)的代碼。這樣既可以減少bug的產(chǎn)生還能優(yōu)化你的代碼思路,因?yàn)槟阍诰帉?xiě)代碼的時(shí)候就嚴(yán)格遵守更加合理和規(guī)范的標(biāo)準(zhǔn)。這會(huì)使你的代碼變得簡(jiǎn)潔、高效。

(2)迭代完成你的工作而不是一步到位。在你的代碼實(shí)現(xiàn)需求之前不要花時(shí)間去完善它。你永遠(yuǎn)也不可能使你的代碼處于完美的狀態(tài)。你優(yōu)先要做的就是讓你的代碼完成指定的功能。通常情況開(kāi)發(fā)者會(huì)犯這兩個(gè)錯(cuò)誤:要么花了太多時(shí)間思考而沒(méi)有充足的時(shí)間去實(shí)現(xiàn),要么沒(méi)有在設(shè)計(jì)最初的方案上花足夠的時(shí)間。遵循Kent
Beck說(shuō)得這句話(huà):
“先讓它生效,再讓它正確地工作,最后再讓它更高效”。7*24小時(shí)的工作不會(huì)讓你成為佼佼者,合理的時(shí)間安排才是最重要的。
這個(gè)經(jīng)驗(yàn)源于我自身的教訓(xùn)。我曾經(jīng)為了讓老板和客戶(hù)滿(mǎn)意而瘋狂地工作。我害怕說(shuō)“不”,不想讓其他人失望。我盡我所能去完成工作,曾經(jīng)大量攝入咖啡因通宵地工作,困了就直接睡在我的辦公桌上。
起初我是全公司的楷模。我得到老板的賞識(shí)并感覺(jué)風(fēng)光無(wú)限,前途一片光明。這種并不長(zhǎng)久的過(guò)度表現(xiàn)使其他人對(duì)我產(chǎn)生了過(guò)高的期待,很快我就撐不住了。結(jié)果我的身子垮了,經(jīng)常生病,耽誤了工作。公司的人變得不再信任我。
后來(lái)我漸漸明白真正的佼佼者是那些一直可靠的人。他們保證的事一定會(huì)做到。要想成為那樣的人就必須認(rèn)真規(guī)劃自己的時(shí)間。
你必須牢牢把握自己時(shí)間的控制權(quán),在約定好的期限即將到達(dá)的時(shí)候高質(zhì)量地完成你的工作。要想做到這一點(diǎn)起初會(huì)很難,因?yàn)槟阈枰獙?duì)超出你能力范圍的任務(wù)說(shuō)不。
剛開(kāi)始,你的老板和客戶(hù)可能不太會(huì)在意你。但是一旦你建立起靠譜、可信的名聲后,一切就都不一樣了。隨著時(shí)間的推移,其他開(kāi)發(fā)者都會(huì)漸漸顯露疲態(tài),變得不再那么可靠,而你則會(huì)脫穎而出,成為團(tuán)隊(duì)里的佼佼者。我就是這樣成為了行業(yè)翹楚。我很好地協(xié)調(diào)了自己的時(shí)間并調(diào)整他人對(duì)自己的期望值,因此建立起了高質(zhì)量和高實(shí)效的好名聲。
? ? 不是所有的付出都會(huì)有回報(bào)
花時(shí)間也是一種投資。和其他的投資一樣,你非常期待投資會(huì)有回報(bào),希望在回本的基礎(chǔ)上有所收益。
我之前曾提到“先讓它生效,再讓它正確地工作,最后再讓它更高效”這句話(huà)。但是不要誤解,這里的“正確”不代表完美,“高效”不代表追求極致?!罢_”意味著你的代碼能夠準(zhǔn)確地實(shí)現(xiàn)功能并易于維護(hù)?!案咝А币馕吨挥绊懹脩?hù)體驗(yàn)。最關(guān)鍵的一點(diǎn)是你的應(yīng)用要讓用戶(hù)感覺(jué)很快。
因此,不要糾結(jié)于優(yōu)化一個(gè)基本上不用的函數(shù),也不要為了僅節(jié)省幾毫秒而去修改一個(gè)已經(jīng)比眨眼(大約300毫秒)還要快的功能。不要因?yàn)槟銓W(xué)了一個(gè)新的技術(shù)或方法就把你之前寫(xiě)的功能正確、結(jié)構(gòu)完整的代碼推翻重寫(xiě)。
按照時(shí)間表去工作可以使你更加高效


起初我很難理解這一點(diǎn)。你不將你的精力全部投入到工作中也能做到高效?恩,這是真的。Allison
Gabriel是弗吉尼亞聯(lián)邦大學(xué)的管理學(xué)教授助理,主要研究工作需求和員工動(dòng)機(jī)。她認(rèn)為:“很多研究表明人的認(rèn)知能力是有限的,當(dāng)你不斷地去耗費(fèi)你的能力時(shí),你并不能達(dá)到最佳的工作狀態(tài)。當(dāng)你被自己榨干時(shí),你的效率會(huì)大幅下降。”
永遠(yuǎn)不要在壓力非常大的時(shí)候工作,尤其是你非常疲勞、情緒不好的時(shí)候。這些不安因素都會(huì)讓你分心,從身心兩方面對(duì)你造成不良影響,降低你的工作效率。

人腦的自控能力好比是一種資源,當(dāng)你進(jìn)行自我控制時(shí),這個(gè)資源會(huì)被消耗一部分。如果你的自控能力被大量消耗的話(huà)你就不能集中注意力,自然就不能高效地工作了。
不論你是否樂(lè)意,你的身心都需要一個(gè)休息的時(shí)間。因此在每天的時(shí)間表里都要安排休息的時(shí)間。嚴(yán)格按照時(shí)間表的休息時(shí)間去休息,不多也不少,這樣可以讓你在充分休息的同時(shí)不感到內(nèi)疚。指定明確的休息時(shí)間可以讓你以更加自如的心態(tài)去工作,因?yàn)槟阒滥阌行菹⒌臅r(shí)間而不是無(wú)休止的工作下去。

結(jié)語(yǔ)
了解了這五個(gè)經(jīng)驗(yàn),相信你已經(jīng)明白了應(yīng)該如何安排自己的時(shí)間。合理地安排你的學(xué)習(xí)、工作與休息的時(shí)間,制定出詳細(xì)的時(shí)間表并嚴(yán)格按照它執(zhí)行。學(xué)習(xí)你應(yīng)該學(xué)的、花時(shí)間在一些必要工作上、該休息的時(shí)候好好休息。希望你也能在自己的領(lǐng)域嶄露頭角,成為一個(gè)不管學(xué)習(xí)還是工作,方法很重要,它決定了效率
世上無(wú)難事,只要肯放棄。