新手程序員如何讓他快速成長?一名老程序員,談談對程序員的培養

這篇文字是我很久以來的想法,有一些感悟,有一些激烈的言辭,我很自豪我就是一名程序員,我但願給程序員或者前程序員們帶來一點啓發。也許你承認個人言辭,也許你不屑個人觀點,不管如何,歡迎談談你的見解。程序員

讓程序員作更多種類的事算法

爲何有人說小公司鍛鍊人?在小公司,條件並不那麼齊備,不少事情都須要程序員本身作,本身去澄清需求、本身作設計、本身搭建環境、本身測試,甚至本身上線、本身維護(這件事情在咱們團隊被稱爲「本身吃本身狗食」)。編程

然而到了某些公司,在一些正規的流程下,「人」反而顯得不那麼重要了:一個完、整的流程被切分紅若干環節,程序員只能負責那小小的一環,更嚴重的是,他們顯示出消極和片面的情緒,他們稱本身碼農,自嘲而且以爲在總作一些低級和毫無技術含量的事情。微信

關於「碼農」——這彷佛是一件很悲哀的事情,在美國,程序員是一個至關值得尊敬的行業,硅谷的技術員工很早年薪平均已經超過10萬美圓;在中國,教師的行業起碼得到了人們口頭上的尊敬(雖然實質上也許並無得到應有的待遇),而程序員,每每只能看到本身給本身吶喊。架構

這裏沒有絕對的對錯之分,但我一直在博客中強調軟件開發實質是一種創造性的勞動,只是在一個流程嚴格控制的公司內,這樣的創造的火花可能被扼殺,換來的好處是人員的流動中,代價最小化:誰均可以走、誰均可以代替誰,全部問題都被認爲只是時間問題……那麼,程序員,你的自我價值何在呢?學習

關於測試

我聽到不少真實的聲音,都在抱怨測試工做乏味、加班辛苦。我認爲,國內大部分的測試,其實徹底是程序員扭曲的工做形態致使的。測試

專職的測試人員去作專項測試、整個系統的集成測試等等,我都能理解,可是絕對不該當深刻模塊內部去測試開發人員的代碼,絕對不該該去考慮所謂的代碼覆蓋率——由於這些,好比白盒測試,本都是程序員本身該完成的事情。程序員本身開發的程序,固然要本身驗證功能,不少軟件公司在一些項目流程裏就是沒有專職測試介入測試執行,緣由很簡單,難道本身拉了稀,讓別人給你擦屁股?網站

另外一方面,測試該掌握哪些技能?編碼

我見過許多測試人員,他們抱怨工做老是被輕視,沒有說話的份量,可是天天的工做就是了解開發的流程,根據流程完成用例的編寫,而後執行那些用例,發現bug並填寫bug report。若是一名測試只須要作這些事情,那麼確實太沒有技術含量了、太沒有入門門檻了,太單調乏味了。操作系統

測試須要成長,既爲本身考慮,也爲團隊中的程序員考慮。

作一名優秀的測試,除了要有分析能力、辨識能力等等軟實力之外,基礎技能如通訊協議、腳本、編譯原理、操做系統等等,亦視狀況掌握,只有這樣,才能和程序員從並不清晰的需求開始,一塊兒去分析、設計、實現和質量保證、去和上上下下的環節作溝通、論證。微軟的測試(SDET)都把算法和編碼視爲基礎要求,敢問國內一些公司的測試人員,有幾個敢這麼說?

讓程序員遠離浮躁

去看看國內幾家知名博客和論壇,多少浮躁的博文和帖子四處亂飛?多少人在罵公司狗血,在自嘲薪水,甚至在人身攻擊?

浮躁的心態多是形成這種現象的罪魁禍首,有一位同事說得好,不少具體的技術均可以學,可是執着的心和對技術的熱愛是不容易學得的。

整個社會都在日益浮躁,ITEye原本也是一個有技術深度、氛圍濃厚的網站,如今看起來有些魚龍混雜;微博的流行正驗證了社會浮躁的趨勢,不少人沒有時間和耐心去寫完整的文章,可是兩三句感慨、甚至一詞半句的驚歎卻容易得多;程序員像尋找速配男女同樣,在這個概念翻飛的時代,茫然地尋找本身應該進入的領域,應該瞭解的技術,因而,很容易看到許多所謂的架構師和諮詢師能夠把這些東西講得海闊天空、天花亂墜,這個概念、那個素語,可是——給他一個具體問題吧,要他寫寫實際代碼吧,你會要了他的命。

給程序員一點寬鬆和鼓勵

都在說國內的IT環境不如歐美,大量勞動力的富餘讓人力成本變得無比廉價,能讓青年付出賣*代價以購買大部分配件都「Made In China」的iPhone,中國卻只得到了1.8%的利潤,這些都讓人感嘆,爲何中國作不出蘋果系列這樣的產品?爲何中國始終要給別人套上「廉價勞動力」的帽子?中國的程序員,大家的創造力呢?大家精彩的點子呢?

好吧,我聽到有人在說是教育體制的問題。對於程序員的地位的思考有不少,惋惜咱們不是教育工做者,咱們也沒有那麼大的影響力,不過,在團隊中間,咱們應當多給予這些脆弱的程序員們一點鼓勵,讓他們表達出本身的想法,特別是在設計上、實現上的想法,不要嘲笑任何人弱智,不要咒罵評審的代碼狗屁,多一點溝通,把眼光放長遠一些。

這些能表達出想法的人起碼能夠證實兩點:有思考、有勇氣,僅這兩點,僅足以讓旁觀的人鼓掌。

一名優秀的Team Leader,不該該成天陶醉在跟蹤項目進度和獲取程序員工做反饋上。咱們都明白,所謂一張一弛,在工做壓力恰當的時候,是最適宜工做的,程序員的工做原本就須要創造性,沒有適度寬鬆的環境,就沒有思惟的火花。

讓程序員本身去佈置工做臺,給他們創造機會聊聊天,把各個團隊、各個角色放到一塊兒說說話,組織分享一些有趣的話題,作一些有意思的研究(最初程序員都很靦腆,得勞煩您多牽線搭橋了),Team Leader的工做,毫不僅僅是說「行」或「不行」。

程序員的理想

1983年,喬布斯對百事可樂的CEO John Sculley說:「Do you want to sell sugar water for the rest of your life, or do you want to change the world?」(你想賣一生糖水,仍是改變世界?)。

咱們已經不在戰火紛飛的年代,有多少程序員還願意懷抱那些原始的理想,還能說出「作互聯網的弄潮兒」、「用技術改變世界」這樣的話來?

這個世界執着的人並很少,用這樣的理念去吸引程序員的公司,則更少。

關於技術

我始終以爲,作軟件的公司是須要依賴於技術的,固然國內能夠稱得上是「技術公司」的並很少,可是,優秀的技術能讓程序員脫穎而出,也做爲一種謀生的手段,爲其覓得不錯的回報。

作技術能不能一直有飯吃?我想答案是確定的,有許多公司聲稱技術路線能夠一直有發展的可行性,可是技術牛人仍是轉了管理或者一走了之,有一種粗暴可是易行的鑑別技術公司的辦法,就是尋找裏面又沒有40歲,甚至50歲以上還在作實際設計和編碼的人(不是那些脫離了具體實現向客戶吹噓的角色)。

世界上有兩種最賺錢的人,一種是真正的生產者,他們用本身獨一無二的聰慧、靈感和勞動創造了價值;一種是極其老道的投機者,專門從別人口袋裏把錢掏出來放到本身口袋裏。他們都受人尊敬、受人矚目,後一種讓本身的生活變得更美好,可是前一種,讓整個世界更美好

若是你不能在技術的道路上堅定地走下去,在大部分公司作市場、作管理、作諮詢,順便鄙視一下別的辛苦工做的程序員,那麼也能夠混得很好——畢竟,生活的解老是有不少種。



自學C/C++編程難度很大,想提高你的編程能力,不妨和一些志同道合的小夥伴一塊兒學習成長!

C語言C++編程學習交流圈子,【點擊進入微信公衆號:C語言編程學習基地

有一些源碼和資料分享,歡迎轉行也學習編程的夥伴,和你們一塊兒交流成長會比本身琢磨更快哦!

相關文章
相關標籤/搜索