新手程序員如何讓他快速成長?一名老程序員,談談對程序員的培養(yǎng)
我很自豪我就是一名程序員,也希望給程序員或者前程序員們帶來一點啟發(fā)。純粹個人一些想法,也許你認可我的言辭,也許你不屑我的觀點,無論如何,歡迎談談你的看法。
讓程序員做更多種類的事
為什么有人說小公司鍛煉人?在小公司,條件并不那么齊備,很多事情都需要程序員自己做,自己去澄清需求、自己做設計、自己搭建環(huán)境、自己測試,甚至自己上線、自己維護(這件事情在我們團隊被稱為“自己吃自己狗食”)。
然而到了某些公司,在一些正規(guī)的流程下,“人”反而顯得不那么重要了:一個完、整的流程被切分成若干環(huán)節(jié),程序員只能負責那小小的一環(huán),更嚴重的是,他們顯示出消極和片面的情緒,他們稱自己碼農(nóng),自嘲并且覺得在總做一些低級和毫無技術含量的事情。
關于“碼農(nóng)”——這似乎是一件很悲哀的事情,在美國,程序員是一個相當值得尊敬的行業(yè),硅谷的技術員工很早年薪平均已經(jīng)超過10萬美元;在中國,教師的行業(yè)起碼獲得了人們口頭上的尊敬(雖然實質上也許并沒有獲得應有的待遇),而程序員,往往只能看到自己給自己吶喊。
這里沒有絕對的對錯之分,但我一直在博客中強調軟件開發(fā)實質是一種創(chuàng)造性的勞動,只是在一個流程嚴格控制的公司內(nèi),這樣的創(chuàng)造的火花可能被扼殺,換來的好處是人員的流動中,代價最小化:誰都可以走、誰都可以代替誰,所有問題都被認為只是時間問題……那么,程序員,你的自我價值何在呢?
關于測試
我聽到很多真實的聲音,都在抱怨測試工作乏味、加班辛苦。我認為,國內(nèi)大部分的測試,其實完全是程序員扭曲的工作形態(tài)導致的。
專職的測試人員去做專項測試、整個系統(tǒng)的集成測試等等,我都能理解,但是絕對不應當深入模塊內(nèi)部去測試開發(fā)人員的代碼,絕對不應該去考慮所謂的代碼覆蓋率——因為這些,比如白盒測試,本都是程序員自己該完成的事情。程序員自己開發(fā)的程序,當然要自己驗證功能,很多軟件公司在一些項目流程里就是沒有專職測試介入測試執(zhí)行,原因很簡單,難道自己拉了稀,讓別人給你擦屁股?
另一方面,測試該掌握哪些技能?
我見過許多測試人員,他們抱怨工作總是被輕視,沒有說話的分量,但是每天的工作就是了解開發(fā)的流程,根據(jù)流程完成用例的編寫,然后執(zhí)行那些用例,發(fā)現(xiàn)bug并填寫bug report。如果一名測試只需要做這些事情,那么確實太沒有技術含量了、太沒有入門門檻了,太單調乏味了。
測試需要成長,既為自己考慮,也為團隊中的程序員考慮。
做一名優(yōu)秀的測試,除了要有分析能力、辨識能力等等軟實力以外,基礎技能如通信協(xié)議、腳本、編譯原理、操作系統(tǒng)等等,亦視情況掌握,只有這樣,才能和程序員從并不清晰的需求開始,一起去分析、設計、實現(xiàn)和質量保證、去和上上下下的環(huán)節(jié)做溝通、論證。微軟的測試(SDET)都把算法和編碼視為基礎要求,敢問國內(nèi)一些公司的測試人員,有幾個敢這么說?
讓程序員遠離浮躁
去看看國內(nèi)幾家知名博客和論壇,多少浮躁的博文和帖子四處亂飛?多少人在罵公司狗血,在自嘲薪水,甚至在人身攻擊?
浮躁的心態(tài)可能是造成這種現(xiàn)象的罪魁禍首,有一位同事說得好,很多具體的技術都可以學,但是執(zhí)著的心和對技術的熱愛是不容易學得的。
整個社會都在日益浮躁,ITEye本來也是一個有技術深度、氛圍濃厚的網(wǎng)站,現(xiàn)在看起來有些魚龍混雜;微博的流行正驗證了社會浮躁的趨勢,很多人沒有時間和耐心去寫完整的文章,但是兩三句感慨、甚至一詞半句的驚嘆卻容易得多;程序員像尋找速配男女一樣,在這個概念翻飛的時代,茫然地尋找自己應該進入的領域,應該了解的技術,于是,很容易看到許多所謂的架構師和咨詢師可以把這些東西講得海闊天空、天花亂墜,這個概念、那個素語,但是——給他一個具體問題吧,要他寫寫實際代碼吧,你會要了他的命。
給程序員一點寬松和鼓勵
都在說國內(nèi)的IT環(huán)境不如歐美,大量勞動力的富余讓人力成本變得無比廉價,能讓青年付出賣*代價以購買大部分配件都“Made In China”的iPhone,中國卻只獲得了1.8%的利潤,這些都讓人感嘆,為什么中國做不出蘋果系列這樣的產(chǎn)品?為什么中國始終要給別人套上“廉價勞動力”的帽子?中國的程序員,你們的創(chuàng)造力呢?你們精彩的點子呢?
好吧,我聽到有人在說是教育體制的問題。對于程序員的地位的思考有很多,可惜我們不是教育工作者,我們也沒有那么大的影響力,不過,在團隊中間,我們應當多給予這些脆弱的程序員們一點鼓勵,讓他們表達出自己的想法,特別是在設計上、實現(xiàn)上的想法,不要嘲笑任何人弱智,不要咒罵評審的代碼狗屁,多一點溝通,把眼光放長遠一些。
這些能表達出想法的人起碼可以證明兩點:有思考、有勇氣,僅這兩點,僅足以讓旁觀的人鼓掌。
一名優(yōu)秀的Team Leader,不應該整天陶醉在跟蹤項目進度和獲取程序員工作反饋上。我們都明白,所謂一張一弛,在工作壓力恰當?shù)臅r候,是最適宜工作的,程序員的工作本來就需要創(chuàng)造性,沒有適度寬松的環(huán)境,就沒有思維的火花。
讓程序員自己去布置工作臺,給他們創(chuàng)造機會聊聊天,把各個團隊、各個角色放到一起說說話,組織分享一些有趣的話題,做一些有意思的研究(最初程序員都很靦腆,得勞煩您多牽線搭橋了),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?”(你想賣一輩子糖水,還是改變世界?)。
我們已經(jīng)不在戰(zhàn)火紛飛的年代,有多少程序員還愿意懷抱那些原始的理想,還能說出“做互聯(lián)網(wǎng)的弄潮兒”、“用技術改變世界”這樣的話來?
這個世界執(zhí)著的人并不多,用這樣的理念去吸引程序員的公司,則更少。
關于技術
我始終覺得,做軟件的公司是需要依賴于技術的,當然國內(nèi)可以稱得上是“技術公司”的并不多,但是,優(yōu)秀的技術能讓程序員脫穎而出,也作為一種謀生的手段,為其覓得不錯的回報。
做技術能不能一直有飯吃?我想答案是肯定的,有許多公司聲稱技術路線可以一直有發(fā)展的可行性,但是技術牛人還是轉了管理或者一走了之,有一種粗暴但是易行的鑒別技術公司的辦法,就是尋找里面又沒有40歲,甚至50歲以上還在做實際設計和編碼的人(不是那些脫離了具體實現(xiàn)向客戶吹噓的角色)。
世界上有兩種最賺錢的人,一種是真正的生產(chǎn)者,他們用自己獨一無二的聰慧、靈感和勞動創(chuàng)造了價值;一種是極其老道的投機者,專門從別人口袋里把錢掏出來放到自己口袋里。他們都受人尊敬、受人矚目,后一種讓自己的生活變得更美好,但是前一種,讓整個世界更美好。
當然,真正的實力,是別人拿不走的技術
想要在職場中出類拔萃,提上技能才是上上之策
尚學堂 業(yè)界口碑見證!
2006 年 2 月 16日成立。現(xiàn)旗下業(yè)務覆蓋:JAVA開發(fā)技術培訓、高級架構師培訓、大數(shù)據(jù)云計算培訓、人工智能python培訓、H5前端開發(fā)培訓、項目開發(fā)業(yè)務、團隊激勵等業(yè)務?,F(xiàn)有校區(qū)遍布北京、上海、廣州、長沙、等擁有 9個校區(qū),已經(jīng)成為多家子公司的綜合性集團公司。公司定位于“為 IT 人才提供就業(yè)創(chuàng)業(yè)服務”。12大精英團隊+各類實戰(zhàn)項目,真正實現(xiàn)1+1>10的目標效果。 我們將繼續(xù)以“軟件、教育”為核心,拓展新的領域,,讓人人享受高品質教育,為中國的 IT 人才全力護航。
北京尚學堂科技有限公司是一家從事JAVA、大數(shù)據(jù)、web前端、網(wǎng)絡在線教育、互聯(lián)網(wǎng)架構師、Android、ios技術開發(fā)、咨詢?yōu)橐惑w的軟件公司。