如何從平庸走向理想?
作為一個程序員,學和做是你職業生涯的全部。
首先說說這個學。前兩天在回答另一個問題的時候,我說到了要學一些基本的知識,例如HTML、JavaScript、CSS這些,可能有些人會不以為然,覺得沒有必要,因為現在有太多的前端類庫可以拿來直接使用,再去學那些東西會浪費精力。
其實不然,這些都是堆積互聯網的最基礎的元素,如果不能熟練掌握,就會被那些類庫綁架,甚至會影響到職業生涯。為什么這么說,舉個很簡單的例子,比如你會用React,但你心儀的那家公司只招Vue程序員,怎么辦,花大把的時間重新學,等你學到會用的時候人家公司已經招到人了。
再舉個例子,張無忌在光明頂力戰六大門派,在最短的時間學會了他們的武功最終拯救了明教,靠的是乾坤大挪移,而用了半個時辰學會了乾坤大挪移靠的是九陽神功,那學九陽神功花了多久?五年時間!
基礎技能很重要,有了扎實的基礎,什么東西上手都來得快。所以,我對學的建議就是,一定要把基礎學好吃透,以后不管是什么樣的開發語言,不管學習什么樣的框架,都能得心應手。
再說說這個做字,做是對學的鞏固,關鍵是要怎么做。程序員的工作量大之大是眾所周知的,在這樣一個大背景下再來說做字似乎有點多余,可是我想問問大家,你們都是怎么做的,做了以后有沒有留下點什么東西來。
以前有個同事,基本功不行,碰到稍微復雜一點的功能,就去網上找現成的,一個系統就是這么七拼八湊成的,穩不穩定先不說,光看界面就像解放前佃戶的棉襖,五彩繽紛,風格各異。借用別人的東西當然免不了,但是要有方法,比如人家一段代碼正好用得到,不要直接Ctrl+C+V,應該先看懂這段代碼的原理,然后有可能的話按照他的思路自己重新寫。取人魚,不如取人之所以漁。
程序員一定碰到過自己寫過的代碼會反復的在不同的地方用到,那你是怎么做的呢?直接把大片的代碼粘貼過去,還是學會自己封裝成一個公共類呢。哪種方式好不用我在這里說了,我想說的是,這么多年下來了,你封裝了多少個公共類,有沒有形成一個自己用著覺得很牛叉,可以用在所有項目里的類庫呢。如果有,那恭喜你,你留下了點什么東西。
最后說說平庸和理想。我覺得自己不算平庸,但也不算理想,只能說是在這兩者之間吧,理想的程序員應該會是什么樣子的呢,我認為理想的程序員不一定要掌握多么新的技術,而是對某一個業務領域有著獨到的理解,能用自己的知識儲備解決行業內的大多數問題。
好的程序員在面對新的需求時,首先想到的應該是能用哪些方法來處理,不輕易說“不”,這是對公司負責,也是對客戶的尊重。如果實在解決不了,可以幫助客戶一起想辦法來變通,采用雙方都能接受的替代方案。
如果客戶開始逐漸向你咨詢一些業務問題的時候,表示你成功了,向理想的程序員邁進了一步。