在國內,很多人說程式設計師是吃青春飯的,一開始說過了30歲就得轉行,後來又有人35歲是一道坎……看起來好像程式設計師真的和風塵女子一樣,註定有朝一日會年老色衰不再受人青睞。其實別人說的話,聽一聽就算了,決定還得自己來做。面對別人的懷疑、否定、譏諷,我們只需要堅定地前行,做給他看。行動是最好的證明,多堅持一秒,未來就會不同。現在就實打實的來看看程式設計師的增值之路在何方。
一、應用技術
相當大一部分的程式設計師都在做應用層面的開發,所做的軟體用來解決特定場景的問題,給使用者的工作和生活帶來方便。開發一個應用,經常會用到高階語言和框架,比如 C# 和 .NET ,比如 C++ 和 Qt ,比如 J2EE ,比如 Ruby on Rails ,比如 Python 和 Django ,比如 Java 和Android,比如 Objective-C 和 Cocoa Touch ,比如 JavaScript, PHP……太多了,數不勝數。
假如你對一門語言的各種特性都體察入微了悟於心,假如你對一個框架的機理和各種應用場景都有獨特的理解和豐富的實踐經驗,那你幾乎是不可替代的,你已經成了這個語言和框架方面的專家,價值不可估量。你的一句話就可能為一個專案節省幾個月的時間,別人一籌莫展的問題到了你這裡分分鐘就搞定。
所以,不要理會“能 Run 就行”、“完成任務就可以了”、“用不到學那麼深幹什麼”之類的話,在你用完一項技術解決了一個實際問題滿足了某個需求之後,繼續鑽進去吧,多學一點,深入一點,日積月累,你必然會與眾不同。上班時沒時間,那就下班了繼續投入。記住,你的學習和研究都是為了自己,不是為了老闆,不是為了專案,你唯一的產品就是你自己,而這個產品值得一輩子打磨。
二、演算法
大部分程式設計師其實不懂演算法,都是用框架裡的模組拼積木。如果你妙悟演算法真諦,那你就超越了90%的程式設計師了,你的重要性和價值將不可估量。比如你精通影象處理演算法,比如你精通影片編解碼演算法,比如你精通搜尋推薦相關的演算法,比如你在模式識別領域有建樹……試看誰能擋得住你前進的腳步!
三、業務
在一個行業內持續積累,對業務的理解到位,積累深厚,你的價值是巨大的。不信你去瀏覽招聘網站上的崗位需求,99%都要求相關行業背景。所以,選擇一個靠譜的、前景好的行業非常重要,只要這個行業能夠不斷髮展、前進,你的積累就是有價值的,你自己就是不斷增值的。
四、產品意識與思維
究竟什麼是產品意識呢?我認為產品意識一般包含商業意識、使用者意識、創新意識和團隊意識。
商業意識通俗地講,就是要思考這個產品能不能賣出去,好不好賣。這個一定是要有的,程式設計師雖然很少直接接觸市場,但是一個產品成功與否,多數時候就是看市場表現,如果你能關注市場,從市場的角度來看待技術實現,接納“技術為市場服務”的理念,那你更容易把產品做好。使用者意識是最容易理解的,它是說我們要從使用者的角度來思考這個產品該如何設計,因為產品好不好用最終由使用者說了算。如果你在實現產品時也能站在使用者的角度來思考,斤斤計較一個功能是否符合應用場景、是否與使用者的行為特點吻合、是否貼合用戶的使用習慣,那恭喜你,你超越了90%的程式設計師——大部分程式設計師是按產品經理和UI設計師的要求來實現產品。
創新是人類發展的源泉,是社會進步的動力,同樣也是產品的核心競爭力。但這裡所說的創新不一定是那種顛覆性的創新,也許是把眾多不被重視的細節做到更好,也許只是把另外一種理念引入到這個產品中去,也許是像海底撈的員工一樣給使用者不一樣的感受,這些都是創新。創新意識是產品經理必須有的,否則,他永遠不會有進步,產品永遠也做不好。創新意識也是優秀的程式設計師必須要有的,否則他就不能把一個產品實現得很好,不能把產品的核心競爭力演繹到極致。
說了這麼多,究竟你適合在哪個方向下功夫,還需要你自己來做決斷。你可能一看便知自己適合做什麼,那無需贅言。也可能你有些茫然,不要擔心,我們都還有大把的時間,你可以去試著去做,發現不合適了換個方向再來,直到踏上適合你的路。
在國內,很多人說程式設計師是吃青春飯的,一開始說過了30歲就得轉行,後來又有人35歲是一道坎……看起來好像程式設計師真的和風塵女子一樣,註定有朝一日會年老色衰不再受人青睞。其實別人說的話,聽一聽就算了,決定還得自己來做。面對別人的懷疑、否定、譏諷,我們只需要堅定地前行,做給他看。行動是最好的證明,多堅持一秒,未來就會不同。現在就實打實的來看看程式設計師的增值之路在何方。
一、應用技術
相當大一部分的程式設計師都在做應用層面的開發,所做的軟體用來解決特定場景的問題,給使用者的工作和生活帶來方便。開發一個應用,經常會用到高階語言和框架,比如 C# 和 .NET ,比如 C++ 和 Qt ,比如 J2EE ,比如 Ruby on Rails ,比如 Python 和 Django ,比如 Java 和Android,比如 Objective-C 和 Cocoa Touch ,比如 JavaScript, PHP……太多了,數不勝數。
假如你對一門語言的各種特性都體察入微了悟於心,假如你對一個框架的機理和各種應用場景都有獨特的理解和豐富的實踐經驗,那你幾乎是不可替代的,你已經成了這個語言和框架方面的專家,價值不可估量。你的一句話就可能為一個專案節省幾個月的時間,別人一籌莫展的問題到了你這裡分分鐘就搞定。
所以,不要理會“能 Run 就行”、“完成任務就可以了”、“用不到學那麼深幹什麼”之類的話,在你用完一項技術解決了一個實際問題滿足了某個需求之後,繼續鑽進去吧,多學一點,深入一點,日積月累,你必然會與眾不同。上班時沒時間,那就下班了繼續投入。記住,你的學習和研究都是為了自己,不是為了老闆,不是為了專案,你唯一的產品就是你自己,而這個產品值得一輩子打磨。
二、演算法
大部分程式設計師其實不懂演算法,都是用框架裡的模組拼積木。如果你妙悟演算法真諦,那你就超越了90%的程式設計師了,你的重要性和價值將不可估量。比如你精通影象處理演算法,比如你精通影片編解碼演算法,比如你精通搜尋推薦相關的演算法,比如你在模式識別領域有建樹……試看誰能擋得住你前進的腳步!
三、業務
在一個行業內持續積累,對業務的理解到位,積累深厚,你的價值是巨大的。不信你去瀏覽招聘網站上的崗位需求,99%都要求相關行業背景。所以,選擇一個靠譜的、前景好的行業非常重要,只要這個行業能夠不斷髮展、前進,你的積累就是有價值的,你自己就是不斷增值的。
四、產品意識與思維
究竟什麼是產品意識呢?我認為產品意識一般包含商業意識、使用者意識、創新意識和團隊意識。
商業意識通俗地講,就是要思考這個產品能不能賣出去,好不好賣。這個一定是要有的,程式設計師雖然很少直接接觸市場,但是一個產品成功與否,多數時候就是看市場表現,如果你能關注市場,從市場的角度來看待技術實現,接納“技術為市場服務”的理念,那你更容易把產品做好。使用者意識是最容易理解的,它是說我們要從使用者的角度來思考這個產品該如何設計,因為產品好不好用最終由使用者說了算。如果你在實現產品時也能站在使用者的角度來思考,斤斤計較一個功能是否符合應用場景、是否與使用者的行為特點吻合、是否貼合用戶的使用習慣,那恭喜你,你超越了90%的程式設計師——大部分程式設計師是按產品經理和UI設計師的要求來實現產品。
創新是人類發展的源泉,是社會進步的動力,同樣也是產品的核心競爭力。但這裡所說的創新不一定是那種顛覆性的創新,也許是把眾多不被重視的細節做到更好,也許只是把另外一種理念引入到這個產品中去,也許是像海底撈的員工一樣給使用者不一樣的感受,這些都是創新。創新意識是產品經理必須有的,否則,他永遠不會有進步,產品永遠也做不好。創新意識也是優秀的程式設計師必須要有的,否則他就不能把一個產品實現得很好,不能把產品的核心競爭力演繹到極致。
說了這麼多,究竟你適合在哪個方向下功夫,還需要你自己來做決斷。你可能一看便知自己適合做什麼,那無需贅言。也可能你有些茫然,不要擔心,我們都還有大把的時間,你可以去試著去做,發現不合適了換個方向再來,直到踏上適合你的路。