作開發兩年以來的一點思考

         今年一直比較忙,8月份稍微鬆了一點,可是隨後又開始忙起來,雖然工做繁忙,可是有時候難免會陷入思考和反思的流(stream)中。最近半年以來(一直 到如今),通過一些師長的教導以及對遇到開發上的問題思考,再加上對之前一些老師說過的話的反思,我對產品和項目略有一點想法,或許會被高手和過來人貽笑 大方,但至少是本身的一些真知灼見,在這裏略做探討。
        今年是2014年,我是2012年的差很少這個時候進入公司實習的,過完年(2013年春)轉正的。算起來也有兩年了,在2013年剛開始開發 Zigbee網絡分析系統這個項目的時候,我是個剛入門的C#winform程序員,沒什麼想法,也不會什麼東西,只是瞭解一些基本的C# 語法,不少東西都接觸過,可是僅次於知道有這麼回事而已。記得這個項目開發了一個初級版本的時候,主界面顯示了一些Zigbee包結構,還有一些大體分析 出來的Zigbee網絡節點,其中有個功能,叫假冒節點(假冒一個網絡節點通訊),我作了一個界面,顯示的是下拉列表讓用戶選擇節點地址,還有一些普通用戶根 本看不懂的東西,而後我作的這個功能執行完什麼信息都沒反饋,雖然我知道功能被執行了,可是執行成功和失敗也沒多少明顯的提示和反饋。就在這個時候公司需 要在北京物聯網大會演示這個項目,我只是改了一些明顯的bug,而後公司帶着這個系統去了北京。回來以後我被個人老師(是上司,可是比老師還老師)訓了。 他說了一句話:」你看看本身作的這是什麼,咱們作的東西,未來是要給人用的「。簡單的一句話,我當時很不覺得然,不就是用麼。當時,我和讀到這個句話也沒 明白的人的思想是相同的,上面的故事不是重點,重點是後面那句話,接下來看看我最近幾個月開發中的一些事情。
       今年的開發中,有個項目我糊塗了好久,負責項目的上司(也是個人一位老師),曾經屢次批評過我,他是這麼說的:」這項目交付,應該讓XX(我)去,你拿着 本身作的東西去面對客戶,讓你感覺一下售前(應該是售前吧,我沒記清這個)的難處,你之後寫程序就用心了「,當他說這個的時候,我還在由於本身不是售前而 沾沾自喜。然而,在開發快完的時候的一天晚上(那些時候很忙,回去的晚,有時會通宵加班),久久不能入睡,由於我在思考這個項目,佛家提倡頓悟,就在快開 發完的時候我頓悟了,想通了整個項目結構,越想越興奮,基本沒睡。這不是重點,重點是我明白這個項目以後,接下來我對我和同事忙了半個月趕出來的東西的失 望。在我想通以後的次日,有客戶來參觀,我要提早調好給人看,可是就在這個時候亮點出現了,這個系統的控制智能家居的開關燈按鈕一點就程序奔潰了,並且 上面的大多功能都不能用,看都不能看,由於有些界面一點開會彈出不少MessageBox,關一個會又彈出一個,沒完沒了。這個時候我雖然很失望和生氣, 可是我仍是沒有深入認識到這件事情,由於當時我還認爲,這是由於項目作完以後沒有測試和修改的緣由。
         古語云,以人爲鏡能夠明得失,接下來的這個故事,引發了個人思考。最近有一個同事寫的程序,我能看懂,可是正由於能看懂,因此感受寫的一坨一坨的,當他把 本身寫的一坨一坨的程序給我,讓我寫完的時候,我花了兩天時間弄好了,你可能在想我是否是重構了,可是我沒有,我改好以後給了他,說真的,我改的很痛苦。 因爲下位機改協議,因此程序要調整,因爲他沒有看或者也是認爲我寫的爛吧,他給弄了個亂七八糟,而後又問我怎麼改,正當我還沒問明白改那的時候,他以一種 傲慢和不屑的態度對我說,走吧走吧,我本身重寫。這……我當時就爆發了,我花了兩天,旅遊都沒去寫的東西,正在我沾沾自喜的時候被人這樣一頓冷水。我怎麼 能接受?可是,這件事刺激了我,當我在靜下來思考我和他寫的程序的時候,我忽然想起了之前兩位老師的話,咱們作的東西是要給人用的,咱們拿了人家的錢,項 目交付的時候要給人一個交代,咱們不能把交付項目的同事抵押在客戶那裏就無論了。
         說了這麼多,或許仍是有不少人不覺得然,前面我都用」項目「兩個字,接下來咱們要思考」產品「這個詞語,項目和產品有什麼區別?曾經讀過樑肇新(中國第一 代著名程序員,中國的軟件行業曾經經歷過一個」我的英雄雄起「的時代)先生的《編程高手箴言》中曾經說過一些話,大體意思是作產品的程序員大多不會吃青春 飯,只有作項目的或者作的連項目都算不上的程序員才吃青春飯,或許有點言過其實,可是做爲一個程序員,我認爲作產品和作項目絕對不是一個層次,雖然項目也 是給人用的,可是絕對沒有一個給不少人用的產品那樣精緻入微。就拿個人第一個故事來講,那個界面顯示的東西用戶根本看不懂,當點擊運行時,誰知道這程序有 沒有運行,就拿整個界面來講,根本沒人知道這個功能幹了些啥,更別提界面好看和功能穩定了。通過最近的思考,我真正理解了,做爲產品是要給人用的這句話, 人家是付過錢的,錢都是血汗掙來的,試問誰願意花錢買一個處處都是Bug,不能正常運行或時好時壞的軟件?況且大項目都很值錢動軸幾百萬上千萬,咱們這樣 的態度怎麼能作出可靠的軟件給人用?當我看到一些老師他們即便很小的事情,都會當作一件很重要的事情同樣認真仔細的時候。我不只在想這種態度或許就是一種 作產品的態度吧。聽說德國的東西質量很好,尤爲是之前德意志時期,在中國建造的一些東西百年不壞。這兩年有個手機叫魅族,聽說魅族的掌門人有喬布斯同樣極 致的作手機或作事的態度。我感受之後作事情就應該有作產品同樣的精神,凡事要作到極致,或許作不到太多功能,可是作了的功能至少是必須穩定,怎麼折騰都不 會出問題,只要用戶沒關它,它就能永不死機。固然,作到這個程度很難,可是無論難不難、能不能作到,咱們都必須朝這個方向努力。當你通過嚴密的思考,精心 作出東西來,Bug雖然會有,可是會少不少不少,而後通過嚴格的測試,再次完善。這個時候內心會產生一種很放心和知足的感受,不再用像之前同樣,每到交 付時,內心放不下,吃很差飯,睡很差覺,更不會睡到半夜被叫回公司調程序。當銷售人員拿着系統給客戶演示的時候,咱們能夠很放心的給他們,不會擔憂出了問 題丟人現眼。謹以此文做爲最近幾個月思考的總結,但願之後作事時時提醒本身作到完美極致,程序穩定且永不司機。。。

                                                                                                                                                           2014年10月30日晚手打程序員

相關文章
相關標籤/搜索