朝九晚五的程序員如何提高開發(fā)技能
你只在早上9點至晚上5點間編碼,卻擔心這樣不夠好嗎?你看見其他的程序員工 作于個人項目或開源項目,參與編程馬拉松,并花費所有的業(yè)余時間編寫軟件了嗎?你可能會認為只在自己的工作時間編碼,只朝九晚五地編寫軟件,將永遠不會非 常優(yōu)異。你可能認為,只有那些連吃飯、睡覺和呼吸間都在編碼的人才能脫穎而出。但實際上堅持一周40小時的工作時間依然可以讓你成為一個有價值的、熟練的 程序員。
工作于個人或開源軟件項 目不會讓你自然而然地成為一個更好的程序員。編程馬拉松甚至可能會成為負面影響,如果它們讓你覺得構(gòu)建軟件有任意期限,同時疲憊是生產(chǎn)出任何有價值的東西 的一種合理途徑的話。在你富有成效的工作時間中有很多固有的限制。如果你不喜歡回家以后再花費時間去編碼,那就不要過于疲憊,做事也不要拖三拖四和三心二 意。
在業(yè)余項目上花費時間確實有一定的價值,但是最有用的結(jié)果不僅僅是實踐更是掌握了更多的知識。建立軟件項目往往使用較老的技術(shù)和工藝,因為這些工藝技術(shù)已經(jīng)存在了一段時間。你從工作的其他軟件項目和與工作之外的開發(fā)人員交流中得到的有價值的知識是:
-
更廣泛的技術(shù)和工具。
-
新的技術(shù)和進程。也許你的公司沒有做太多的測試,但你可以在其他地方了解測試驅(qū)動開發(fā)。
擁有廣泛的工具和技術(shù)無論是對于你現(xiàn)在的工作還是想找一份新工作,都是一個寶貴的技能。但實際的編碼并不是獲得 這方面知識的有效方法。因為其實你并不需要使用新的工具和技術(shù),并且無論怎么樣你永遠不會真正有時間去詳細學習所有的工具和所有的技術(shù)。你只能通過了解現(xiàn) 在流行什么工具和技術(shù),這些工具和技術(shù)能做什么,以及什么情況下能發(fā)揮它們***作用來獲取最有價值的內(nèi)容。如果你發(fā)現(xiàn)了一個能立即應用到工作中的新工具, 那么你可以在工作中學習這個新工具,如果不能應用到工作中,那么你只能在大腦中歸類等以后來使用它。
學習新的工具也可以幫助你找到新的工作,甚至實際上你沒有使用過它們。我曾在一次面試中被問到關(guān)于NoSQL和傳統(tǒng)數(shù)據(jù)庫的區(qū)別。老實說,那時的我 從來沒有使用過MongoDB或其他任何NoSQL數(shù)據(jù)庫,但因為我曾了解過,所以我知道怎么圓滿地回答。能夠回答這個問題使得面試官相信我能在必要時使 用該工具,即使以前我沒有使用過。
與在業(yè)余時間編碼相比,通過直接專注于獲取新的工具和技術(shù)方面的知識,也可以獲得相同的好處,并且更有效率。而且,由于這方面的知識將有利于你的雇主,所以你不需要在上面花費顯著的時間,就可以在工作時間內(nèi)獲取這方面的知識。你覺得每一天都沒有真正空閑的時間,但你總有一段時間是無所事事耗費在互聯(lián)網(wǎng)上的。也許你現(xiàn)在正在網(wǎng)上沖浪!你可以利用這段時間來擴大你的知識面。
每周你都應該安排一個小時的時間去學習新的工具和技術(shù)。選擇一個特定的時間可以幫助你養(yǎng)成一個習慣。就我個人而 言,我會選擇在周五下午,因為在這個時間段我反正也沒什么可做的。不要因為項目期限的逼近或感到疲勞而跳過這個學習時間。你會在截止時間內(nèi)做的更好,也不 會那么累,如果你知道正確的工具和技術(shù)來高效解決工作中遇到的問題的話。
譯文鏈接:http://www.codeceo.com/article/9-to-5-programmer.html
翻譯作者:碼農(nóng)網(wǎng) – 小峰