你只在早上9點至晚上5點間編碼,卻擔心這樣不夠好嗎?你看見其他的程式員工 作於個人專案或開源專案,參與程式設計馬拉松,並花費所有的業餘時間編寫軟體了嗎?你可能會認為只在自己的工作時間編碼,只朝九晚五地編寫軟體,將永遠不會非 常優異。你可能認為,只有那些連吃飯、睡覺和呼吸間都在編碼的人才能脫穎而出。但實際上堅持一周40小時的工作時間依然可以讓你成為乙個有價值的、熟練的 程式設計師。
工作於個人或開源軟體項 目不會讓你自然而然地成為乙個更好的程式設計師。程式設計馬拉松甚至可能會成為負面影響,如果它們讓你覺得構建軟體有任意期限,同時疲憊是生產出任何有價值的東西 的一種合理途徑的話。在你富有成效的工作時間中有很多固有的限制。如果你不喜歡回家以後再花費時間去編碼,那就不要過於疲憊,做事也不要拖三拖四和三心二 意。
在業餘專案上花費時間確實有一定的價值,但是最有用的結果不僅僅是實踐更是掌握了更多的知識。建立軟體專案往往使用較老的技術和工藝,因為這些工藝技術已經存在了一段時間。你從工作的其他軟體專案和與工作之外的開發人員交流中得到的有價值的知識是:
更廣泛的技術和工具。
新的技術和程序。也許你的公司沒有做太多的測試,但你可以在其他地方了解測試驅動開發。
擁有廣泛的工具和技術無論是對於你現在的工作還是想找乙份新工作,都是乙個寶貴的技能。但實際的編碼並不是獲得 這方面知識的有效方法。因為其實你並不需要使用新的工具和技術,並且無論怎麼樣你永遠不會真正有時間去詳細學習所有的工具和所有的技術。你只能通過了解現 在流行什麼工具和技術,這些工具和技術能做什麼,以及什麼情況下能發揮它們最大作用來獲取最有價值的內容。如果你發現了乙個能立即應用到工作中的新工具, 那麼你可以在工作中學習這個新工具,如果不能應用到工作中,那麼你只能在大腦中歸類等以後來使用它。
學習新的工具也可以幫助你找到新的工作,甚至實際上你沒有使用過它們。我曾在一次面試中被問到關於nosql和傳統資料庫的區別。老實說,那時的我 從來沒有使用過mongodb或其他任何nosql資料庫,但因為我曾了解過,所以我知道怎麼圓滿地回答。能夠回答這個問題使得面試官相信我能在必要時使 用該工具,即使以前我沒有使用過。
與在業餘時間編碼相比,通過直接專注於獲取新的工具和技術方面的知識,也可以獲得相同的好處,並且更有效率。而且,由於這方面的知識將有利於你的雇主,所以你不需要在上面花費顯著的時間,就可以在工作時間內獲取這方面的知識。你覺得每一天都沒有真正空閒的時間,但你總有一段時間是無所事事耗費在網際網路上的。也許你現在正在網上衝浪!你可以利用這段時間來擴大你的知識面。
每週你都應該安排乙個小時的時間去學習新的工具和技術。選擇乙個特定的時間可以幫助你養成乙個習慣。就我個人而 言,我會選擇在周五下午,因為在這個時間段我反正也沒什麼可做的。不要因為專案期限的逼近或感到疲勞而跳過這個學習時間。你會在截止時間內做的更好,也不 會那麼累,如果你知道正確的工具和技術來高效解決工作中遇到的問題的話。
如何提高程式設計師的鍵盤使用效率?
說到程式設計師鍵盤的使用,那就不得不提到鼎鼎大名的vim。那麼vim具體有哪些好處呢?2.聰明的進入插入模式 vim 提供了很多進入插入模式的命令。3.有效的移動大段的文字 使用可視選擇 visual selections 和合適的選擇模式。不像最初的 vi,vim 允許你高亮 選擇 一些文字,並且...
如何提高程式設計師的鍵盤使用效率?
作為程式設計師應對常用系統快捷鍵有所了解 程式設計師常用系統快捷鍵有win m 最小化所有視窗,win r 執行某個程式,win e 快速開啟我的電腦,win l 電腦鎖屏,win d 顯示 恢復桌面,win m 最小化所有視窗,win r 開啟執行視窗,win shift m 還原最小化的視窗,w...
菜鳥程式設計師如何才能快速提高自己的技術
這裡很明確,主體是兩種人,0是初學者,1是剛剛走上工作崗位的程式設計師。那我就分別來講講吧,不一定適合所有人,也就是我的個人經驗罷了。0初學者 夯實基礎 首先,就我個人經歷而言,我認為初學者應該特別注意這個點,要注重基礎,夯實語言,應該不能急於求成,欲速則不達,好像和快速提高自己的技術這個題目有點衝...