來源:曹文斌
如題,這是有朋友問我的一個問題,我覺得這個問題也代表了一部分程式設計師的迷惑,所以不妨在此囉嗦幾句。
我們都知道,目前程式設計師的工作強度很高,壓力很大,白天8小時是不夠的,加班肯定是家常便飯,整個人幾乎全部的時間都用在了編碼上。於是才產生了這個疑問,如果我整天都在機械的編碼,那麼我如何才能思考問題、獲得提高呢?
我認為首先要明確的一點是編碼與思考這兩項活動不是序列的,不是說時間用來編碼就沒有時間思考了。編碼是為了解決問題的,而尋找問題的本質,探索解決方法, 直到能通過程式碼把問題解決出來,這本身不就是在思考嗎?不僅是思考,還是深刻的思考。否則,可能沒能力勝任編碼工作了。也就是說,看上去是編碼,但實際上 這中間從來沒停止過思考。量變到質變會在潛移默化中發生。
其次,思考不是獨立的活動,不是說思考的時候就什麼也幹不了了。公交車上可以思考、看電視時可以思考、睡覺前可以思考……除了工作,餘下還有很多時間可以思考很多事情,不可能所有的時間都被編碼佔據。
其實,說“編碼太多沒時間思考”的話,其重點不是“沒時間”,這只是個藉口。我倒是覺得其中的重點是在逃避,可能是對編碼的厭煩,可能是對壓力的緩解,也可 能是找不到該思考的方向,於是找個藉口來逃避一下。如果你對一件事有著強烈的渴望的時候,時間總是會有的,你可以在別人看電視的時候讀讀技術書籍,可以在 別人打遊戲的時候隨手寫一段測試程式碼來練習設計模式,可以比別人早起10分鐘瞭解一下新技術發展,只要想擠,時間就有。所以“沒時間思考”這只是個站不住 腳的藉口,更不可能把這個藉口建立在“編碼太多”這個前提之上。
寫到這裡,我想可以結束了,現實的情況是編碼工作多了點、壓力大了點,但這絕不是我們停止思考和學習的藉口。“每天叫醒自己的不是鬧鐘,而是夢想”,以此句共勉。