網路城邦
上一篇 回創作列表 下一篇  字體:
教授講究姿勢,工程師要求效率!
2019/01/26 05:13:36瀏覽1886|回應0|推薦8

以資訊領域來說,當教授的可能一輩子都在學習,整個事業生涯的重點都是在努力學會一些新的東西,然後設法教給很多學生他學會的東西。如果連學習新東西都不樂意,就是拿自己讀書時學會的東西教一輩子?那種爛教授就不必討論了,誤人子弟死後直接到第18層地獄報到吧!或者只學一點點新東西,然後誇大其詞說那是未來主流技術趨勢,偷懶還刻意誤導學生,也應該到第17層地獄報到!

但是學生的未來生涯重心樣貌其實跟教授完全不一樣!他們只能投資個幾年讀大學資訊科系,然後終其一生的工作內容都是達成各式各樣現實生活中,客戶需要的軟體工程!達到目標才是他們生涯的重點,至於如何製作這些軟體的過程,只要不觸犯法律都是對的,並沒有好壞的差別,只有效率的差異!一樣的價錢,一個月做好就是賺錢,兩個月完成不會虧損,三個月以上就賠錢了!

一樣好用、快速、能正確執行的軟體,你是用C++PythonJavaScriptVB去完成,甚至是拼湊組裝的!對於軟體工程師而言一點差別都沒有!所以就像我們一般人的食衣住行,不可能每一件事都親力親為,如果堅持每餐一定要自己煮,如果堅持每張桌椅一定要自己製作,如果堅持住的房子一定要用環保建材自己找材料自己蓋!那會是個甚麼樣的狀況?應該就是「根本活不下去!

但是這些學生所尊敬也寄予厚望的老師教授們完全沒有這種感覺與壓力!他們都很聰明,都可以更快的將各種程式語言學得比學生自學更快更完整,他們的前半生都是追求好成績,追求事事完美的資優生。於是他們非常「敬業」的也要求學生跟他們一樣,將程式設計學得很「完美」!寫程式的過程必須很嚴謹,必須使用「最好」的語言,過程絕對比目標重要,這樣才是「專業」的態度?

我想如果學校規定資訊科的教授至少一學期必須完成一件規模不論大小的商業軟體專案,他們一定會變身成為一個很好很有效率的教授,教出來的學生生產力極高,而且保證每一個都腦筋靈活,願意積極嘗試各種(即使不太完美的)解決方案,最重要的是:都會變成很快樂的程式師!能盡情發揮創意完成工作當然很好玩啊!

如果教授始終不能體會體驗學生畢業後整個事業生涯的重心,只看到讀書學習的過程,當然忍不住會專注於學習內容的完整完美與否?學程式時是看不到具體的軟體製作目標的,所以才需要自己出題目做專題,或者論文。但是那畢竟是不夠真實的虛擬目標,在老師主導下,很容易又變成為了證明學習過程的嚴謹度很重要的一個習題!

真實世界其實跟老師教授所處的學校環境是完全不同的!你的程式用的技術即使很漂亮很完美,是完全不會有掌聲的!C++版的軟體不會比VB版本貴,一個月做好的產品不會比一年做好的便宜,重點都是看最終的品質功能!我用VB十天半個月就能完成的影像辨識專案,要「嚴謹」嗎?要堅持用C++嗎?可以呀!研發時間加長三到五倍,但是售價不會提高,我可能為了保持「專業」姿勢而這麼作嗎?除非我是白癡。

我曾經為了配合客戶的二次開發的需要,用我一樣很熟練的C#語言開發閱卷辨識核心,硬是讓開發時程拉長了不只一倍!原因是C語言的「嚴謹」,表示我寫程式時必須很小心,也就是「分心」處理的語法結構細節比VB語言多很多。那些細節都與我真正需要思考發明的演算法無關,而且編譯軟體本來就能正確處理那些細節,所以兩種語言開發編譯之後效能完全一樣!甚至因為開發的疲累讓我忍不住會偷懶,省略一些比較不重要的附加功能,客戶其實是有損失的!

所以環境壓力與觀點上的不同會造成教授變得食古不化,一個典型的例子是李家同教授總是會強調學生英文不夠好,主詞動詞基本文法都會用錯,太嚴重了?其實那些事情沒這麼重要!台灣很多業界程式師的英文也很差,只要膽子夠大臉皮夠厚,上網跟外國人溝通,文法錯誤百出也還是能讓人看懂,只是姿勢不好看而已,絕對不會因此就無法完成工作。看不懂的話,對方也會再問你嘛!有這麼嚴重嗎?更有趣的是:李教授其實是資工系的教授,我很好奇他在資工系教些甚麼東西?他知道HTML5嗎?

所以看到資訊科系教授們對於程式設計要求完美的理念堅持,你站在一旁欣賞就好,千萬不要信以為真!如果你相信那一套,你就是背負著非常大的包袱去業界跟沒有這種負擔的玩家或非本科系的學生競爭!好像戴鋼盔提槍揹著背包參加馬拉松比賽,除非你是藍波或美國隊長,不然你就輸定了!或者你能回到大學當教授,不然那一套理念到真實世界只會被人嘲笑。認真多學東西永遠沒錯,堅持無謂的小節,搞到犧牲達成目標的效率就是愚蠢!

( 心情隨筆校園筆記 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=124356720