獨孤大大好, 我是個剛踏進職場沒多久的軟體工程師。我目前的工作是負責網頁開發,帶領我的是個具有10年經驗,非常資深的工程師。
當我開始慢慢接觸到實際開發的工作以後,感到非常地訝異。這個團隊所採用的技術,似乎一直停留在好幾年以前的技術。看起來大家並沒有採用新技術的打算。我想要建議我的主管們採用最新的技術,我覺得,不但可以加速開發的速度,還可以兼具彈性與擴充性。這樣大家就可以學會新的技術,也可以帶來生產力上的提昇,我想這應該是我們開發系統時,最正確的選擇。
奇怪的是,好像沒有人同意我的看法。明明這些新的東西,都是大師們精心研發出來的,為什麼大家都不採用在實際的軟體開發上呢?同事們反倒覺得我意見很多,難道我錯了嗎?如果他們真的想學,只要花一點時間摸索就可以學會了,可是為什麼就是不肯花點時間提升自己呢?不會的話我可以教他們呀?為什麼大家就是失去了學習的熱忱?難道,老狗真的學不會新把戲嗎?
充滿熱血的年輕軟體工程師
充滿熱血的年輕軟體工程師
我還沒有踏入職場以前,內心裡面總是認為,只要我開始工作以後,每天最早到公司,最晚下班,工作勤奮,努力向上,這樣老闆在半夜的時候,就會發現這世上有一個勤奮努力的優秀青年,就會把家財萬貫、年輕貌美又身材姣好的女兒許配給我,從此就會坐著直昇機扶搖直上,不但有軟玉溫香抱滿懷,又擁有前途看好的大事業,屆時必定顧盼得意,雄視天下。(看多了港漫或港片的人對這樣的情節,一定不會感到陌生。)
開始工作之後當然這種夢想就會破滅了。夢想是從我發現老闆的兒女不過還在唸小學之後開始破滅。開玩笑,我可沒有陪公主長大的十年計畫。當然,要是我當年選擇唸醫學院,當個骨科大夫,這故事可能就會有不同的發展。不過既然已經選了這條路,當個奮發向上的好青年,只要老闆慧眼識英雄,應該就會破格擢升,當個經理還是主管應該不成問題。
這當然也沒有發生。因為在這個人人爆肝加班拼進度的年代,不管你怎麼拼命,總有比你更不要命的人。老闆是不是一定會提拔最拼命的人?這其實不然。很多人熬夜加班加到雙眼都是黑眼圈,第二天早上還是得乖乖上班打卡。
現在回想起來,剛踏進職場的那幾年,總是充滿理想性,覺得自己如果技術能力高強,功夫很好,這才是以後職場上最好的保障。所以就會很想摸摸最新的技術,採用最新的開發模式,或是最新的開發工具。
很多年輕的朋友也是如此,因為缺乏對於自己解決問題能力的信心,又對於開發的新技術具有非常美好的憧憬,所以傾向於尋找最新最好的科技,在各個大師的高談闊論中,尋求慰藉。希望可以從裡面找到自己可以安身立命,獨霸武林的秘密武器。
新的開發方法雖然喊的震天價響,可是很多東西熱個一兩年之後,就會被新的東西取代。可以經得起時間考驗的新技術並不多。而且很多東西其實要解決的問題背後的原理差不多,所以要不要在最短的時間內採用最新的技術,這其實不是老人們所考慮的重點。
所以年輕人會覺得這些老傢伙怎麼這麼懶惰,不敢擁抱最新的技術。老傢伙就會覺得這些人不過懂得一些流行的技術,講到真正開發系統,那還真的差遠了。
現在問題來了,如果技術上的進化是不可避免的潮流,我們該怎麼樣引進新的技術以及新的開發方法?
首先我想第一個問題在於:慎選新技術。
慎選新技術
挑選你要投資的新技術就和廣告商請模特兒代言一樣。如果你要賣的是個減肥聖品,想要拍個減肥前對照減肥後的真人代言照片,這時候那種玲瓏有緻的性感辣妹就不是你的目標,身材爆胖的前性感模特兒可能才是你最佳的選擇。可是如果你要賣的是名貴的珠寶,那可能就要找像是第一名模之類的優質氣質美女來代言。
同樣的道理,要自己鑽研一套新的framework,或是參與一個open source project,其實要做的考量比較少。你高興挑什麼東西去學,反正時間是你自己的。只要你高興,愛摸什麼就摸什麼。可是如果你是要選擇一個讓整個team都採用的新技術,然後要實際應用這樣的技術去開發專案,這要考量的因素就很多了。
這個新技術,如果拿去開發專案,有可能就是一群人,在一段很長的時間內都使用它去開發新專案。這時候重點就在於,這個新的技術,對於解決你們所面臨的問題,到底可以幫上多少忙?
每一個技術,每一個開發方法,都有期待要解決的問題,以及它適用的對象。你要先考慮清楚,這個東西,真的適合我用嗎?
很多新的想法,當我們看到時,會覺得它具有技術上的優越性。看起來就是融合了各種最新的設計理念,應該可以一體適用於各式各樣的專案。畢竟背後有很多大師背書,看來一定可以讓我們的開發速度變得飛快,讓其它沒有採用的軟體團隊跟個白癡差不多。
如果你有這樣的感覺,那最好想清楚一點,你是不是正拿著一個高科技的洲際飛彈想要打對街的小鳥?當你拿了個洲際飛彈打小鳥,小鳥應該是一定死無葬身之地啦,不過你自己可能也會被爆炸的威力炸得粉身碎骨。
所以當我們要決定採用一項新科技,應用在軟體開發上頭時,這個科技到底適不適合你用,這就是第一個重要的問題。其次則在於,當你遇到問題時,有沒有辦法找到適合的支援。
當你選用了一套新的技術,新的開發方法,最怕遇到的狀況,就是你遇到了問題時,卻對於怎麼樣解決沒有概念。想找人問又沒地方可以問,想找人幫忙解決,又因為用的人少,找不到人可以支援。
這種事雖然因為internet的發達,再加上Google這樣的搜尋引擎發功而有所改變。不過引進一項新技術時,有沒有辦法找到原廠,或是相關的技術支援就會是我們考慮的另外一個重點。
繼續閱讀: 慎選對象>>
3.linchinghui 於 2006/11/08 15:05 回應
現實本來就是不完美的leolarrel所說是很多人的不平心境 (當然我也曾是),但卻於事無補.
必竟會有這種狀況的人通常是沒有職權;若要轉變發問人的問題情勢,只能以獨先生所說的一樣:先形成氣候,自然而然地水到渠成.
也因為事情通常有正反兩面,若採取反面作風,最後較好的結果是自創公司;而身處老團隊(或公司),反而會是獨先生的觀點比較正面.
個人淺見,獨先的論點比較貼近人生的現實面.
2.leolarrel 於 2006/11/06 13:53 回應
太低估保守派的保守心態了公司裡面的保守派,自以為資深的,常常還選用5年以前的技術,然後還沉浸在以前的自我成功故事沾沾自喜,聽不進去建言,電腦技術突飛猛進,一但故步自封就落後別人,這才是這類問題的核心,才不是什麼"保用最容易成功的技術才是考量重點",老人才不是真的這麼想的,就算嘴巴上這麼講,不過為自己的"懶的進步,能賣就好"找藉口
獨孤木怎麼沒有探討這個問題?是故意忽略嗎?不想面對嗎?或許你的世界很完美,沒遇過這種上班族鳥事
希望以後獨孤木的文章可以更貼近人生的現實.
1.airborne 於 2006/11/06 11:25 回應
資訊輪迴與趨勢資訊業的[循環]挺快的
因此只要打滾過幾年以上的人對於新技術的出現多半能很快看出他的[前世]是啥
因此對於新技術的感動跟衝動就會降低不少
且就如原文所說
再好的技術概念只要缺乏後續支援
一但遇到bug那就有得瞧了
運氣好的自己摸索出workaround
不好的整個卡住那時誰能誰敢負責
不過話說回來
當[趨勢]出現時
或許就技術面來看並不是最完善的方法
但若仍故步自封不接受此新技術
那只怕不久就會被市場所淘汰
好比當趨勢趨向林X玲時
若有建商還是堅持找保養的也不錯的林X霞
那銷售不如預期也就怪不了人了