近來實做過幾個看起來很難成功的專案後,我深深感到
在台灣賣「程式技術」是一點用也沒有的
台灣有多少人會寫程式,現在大學各個系都開始冠上「資訊」
程式語言的門檻越來越低,從php到ruby的發展及差異清晰可見
程式設計師們個個只要稍加訓練,一定都具備相當的能力能夠「寫」出成果來
然而,這些成果是什麼?些成果「該」是什麼?一個能賣的產品嗎?
這些問題總是也沒人去探討。
以往台灣的軟體產業,公司需要的多半還是Coding Machine,也就是「工程師」
資深的工程師或需求人員「想出」設計,搭配美工或是資料庫設計,然後由年輕的工程師們變出來
卻沒有多少人注意到這個產業慢慢需要的不是機器,而是完善的設計流程,及腦袋清楚,身體健康的開發人員
我相信,程式設計有所謂「五育」
台灣的軟體人員,似乎總是有點五育不全
德育,直接指出最重要一個問題:「你寫程式是為了什麼?」
當然不管為了什麼,如果無法賺錢養活自己,那還用說?
但許多工程師心裡完全沒有感受衣食父母—使用者跟他們有啥關係
更不要說能夠「喜歡」他們的使用者,並深入瞭解他們的感受
試想,如果自己寫的東西沒人要用,那到底寫來幹嘛的呢?
而有沒有人要用,會是因為自己能夠實做多難的技術,或是多大規模的程式嗎?
智育,代表著你清楚不清楚程式的本質?以及「資訊」的本質?
我個人認為最直接的關鍵在於,有沒有好好讀過計算機概論
當然程式語言,物件導向,軟體工程,系統分析,資料結構,作業系統等,我相信都對程式設計的智育有很大的影響
不清楚的話,便無法能有機會從程式或模組的撰寫,進步到更整體性的系統設計,或是能夠有效解決使用者問題的需求設計
體育,說起來這個算是硬凹的
不過可以想像,就是看你Coding速度快不快,Library熟不熟悉囉
如同跑步等競技訓練一樣,一天不寫,可能過沒多久就生疏了
群育,說起來現在宅宅工程師可真不少
第一點就是在你工作閒暇的時候,還想辦法學習跟資訊一點關係都沒有的另一項技能
第二點當然就是,多跟異性友人,同事出去玩吧,別到時候娶/嫁不到老婆/老公了
最後,增進自己的修養也挺重要的,「理直,氣和」
美育,說起來也是程式設計師的障礙
說到UI,大部分都是「可看就好」,程式碼的角度,也是「可跑就好」
但實際上,既然是寫程式,也需要一點Art of Programming
UI不僅要能看,操作要順暢,要盡量合乎使用情境,不要總是丟給畫面設計人員
程式碼不僅要能跑,還要能夠快速重構,視需求而進行適度的機制分離或是模組化
適時地套用特定的樣式,或是妥善利用各種演算法來「解決問題」,不是只是單純地去套用
偶而自己做做投影片,以免人家問你怎樣寫的時候答非所問
其實講到最後,小弟我也深感自己也一樣是五育不全
尤其是群育的部分 ,實在是宅翻了啊...
缺乏建設性的文章,只提出問題不提出答案,而問題都是眾所皆知。
回覆刪除工程師不宅就當不上工程師,要學要摸的東西排山倒海
現有的來不及消化,新的東西又不斷狂欄而來
唯一改變的方式就是不要當工程師
功能越複雜介面就會越複雜,這是沒辦法改變的
介面再好用使用者打從一開始就排斥,也枉然
ERP導入最大的問題是人類
喜歡使用者? 專案成敗決定在客戶端的主管
當他們的需求是讓操作介面更愚蠢,他們堅持無論如何都要這樣改否則不結案
你要結案還是要道義?
你的回覆確實讓我思考了許久,在你的話中,我覺得是感受到許多對工作,社會的無奈及憤怒,是不是針對我的文章,成分反而就沒這樣大。
回覆刪除你說的沒錯,唯一改變的方式就是不要當工程師。或句話說,這何不嘗是一個人生中很好的解呢?說起來我也是不想要一輩子當工程師,我覺得我人生還很長,世界上我還有好多東西沒有看過,感受過。就這樣子一輩子寫程式雖然也沒啥不好,但總覺得有點無趣。我想,我不會去期望有人給我建設性的「答案」。如果現在就得到答案,人生就走完了...也反映了你說的「這問題是眾所皆知」。
當我遇見介面再好卻不想用的使用者,我會思考並不是好或不好而是適不適合。當我遇見需要更愚蠢介面的客戶主管,我會思考這對他們帶來的價值而不是介面的愚蠢度。當我發現我努力半天可是還是一堆問題,客戶,上司全都在找我麻煩,這時候我會坐下來休息,出去走走閒晃,想想自己是不是被什麼情緒遮住眼睛,乾脆打個wii發洩一下。
大家都在人生中求最佳解,但你的最佳解,你是否有嘗試去找過呢?
我想我只能夠比昨天的我更好,這是我寫篇文章的原意,而並非要闡述啥解法或大道理。現在的我生活過得很快樂,我很喜歡寫程式,也很喜歡藉著寫程式去幫助需要我幫助的人。我也希望你可以過的快樂點,也多喜歡一點你自己所面對的世界。
教書有因材施教
回覆刪除寫程式也有因所需而打字
我想並不是所有的Coder都要直接對End-User負責或面對面
Firmware面對的就是硬體啊..
Application才會跟使用者有直接了當的關係
而也不能說程式員沒有顧慮到User
有時候,PM才是主導一切的人
版面怎樣排、要有哪些功能都PM在說
成敗都是因為PM的一句話而決定
德育.. 這個就有點不客觀了
我對於某個網站的設計有自己的想法,可我照自己的想法實作後PM卻很不滿意要我改成她所想要的東西
結果可想而知,網友們抱怨,迫不得已她又叫我改回我原本的想法
所以,不是程式員無德,我想應該是PM無德才對
更何況有些PM... 根本不懂電腦(真的有.. )
群育超認同的.. 程式員應該多多與人交流
其實換換口味當Sales我想也是很棒的
懂技術又有口才,很吃香的一件事情:)
社交做得好,對自己是很有幫助的一件事情.. 但是大家可能都被繁重的工作給壓到沒時間去社交也說不定?
至於美育.. 我要是有美感我也不會寫程式了.. 真的!
我天生毫無任何美術細胞啊Orz
我知道這想法很難讓大部分的程式員們瞭解,如果說真的到底誰是對的,那恐怕一個專案的成功並不是由單方面的對錯而導致的。
回覆刪除我本來是從寫很枯燥的系統,跨到旅遊的領域。可是這一個專案讓我瞭解到許多事情,一方面慢慢地可以瞭解,光「寫程式」能在台灣這種商業環境能做到什麼,根本是不可能,所以一定要靠一個專業領域的「非資訊系」的人員會比較有效果。所以與我合作的,是一個完全不懂程式,但對旅遊,資訊相當有興趣的「阿伯」。說他是阿伯,因為他已經50幾歲了,還是活蹦亂跳,是個相當有影響力的人。
一開始他也提了很多版面,想法,也被我否決掉大部分。我與他也是從不合到合,曾經也與我現在的老闆爭論,質疑過與他合作的事,可是我發現到最後,如果是一件成功的事情,是會建築在良好的溝通上,並不會因為權力大的人說了就算。而且不管是誰「決定」,在商場上一定會出錯,但問題是眾人溝通之後,能有多快對錯誤做出反應。最後我們形成的溝通方式是,我,我老闆,及那位阿伯,三人定期開會,並且由我來執行三人的共識。而說起來很現實的是,最後我們都知道2008年的生意我們已經做不下去了(也就是說我們失敗了),所以緊接著我們馬上要做2009,2010年的旅遊市場。而我們藉助的,也是完全不懂電腦,但卻瞭解旅遊的人。
如果說我不瞭解旅遊,那能夠說我做出來的東西就一定能夠讓喜歡旅遊的人也喜歡嗎?更不要說,現在究竟有誰懂什麼是Web 2.0,什麼是Social Network呢?真的是寫程式的工程師懂嗎?
而整件事情最後我所瞭解,就是我根本一點都不懂旅遊。我後來也發現,就算我寫了兩三年的Web,我還是不懂所謂的網站設計,也不懂social。我其實啥都做不到,那我究竟該怎麼做?
後來,我想我還是別認輸好了,也因此開始去接觸旅遊,包括吃喝玩樂的資訊,這算是我的一小步吧。很多溝通的問題,就從那時開始慢慢變好了,跟老闆(其實他就是PM)也不再吵架了。雖然這一次我們失敗了,可是我還是不想放棄,繼續試著抓未來的東西。
這篇應該是我的反省文,不過這已經是一陣子之前的事,加上看見許多同是工程師的朋友還是每天忙盲茫,就有感而發。但我同意你的看法是,確實在一個團隊裡,還是要有面對技術的和面對使用者的人,只是最好的情況是雙方都懂得彼此的意思。