2011年9月30日 星期五

少一行程式…

最近在看幾個剛入程式領域,還在新手老手間打轉同事的程式碼,讓我有一些感觸。現代程式真的很難「教」,學習的心態和態度都和從前自學程式的自己差別很大。

突然有些懷念早期命令列進到圖形介面的時代,自己就是在這個時期開始我的程式學習。當時自己能寫出來的程式,頂多就是改改書上的範例,試著把程式碼少寫一行,或是換一個更簡捷演算法。因為沒有書籍教導如何撰寫註解,所以也不斷修改變數、函數的命名方式,好讓幾個星期後的自己,還能看懂程式的功用。不知不覺之間,學到了程式寫作中兩個重要的態度,一個是「同樣的功能儘可能用更少的程式完成」,另一個則是「程式碼寫得有意義」。

很可惜的,最近看到的程式人員後輩,都沒有看到這種態度。也許和這個環境有關,也可能身為帶領者的我,需要負擔一部分的責任吧!


自己的學習,是在課餘,是在利用學校教學之外的時間進行,所以沒有壓力,也沒有人規定我一定要寫出什麼東西,我可以自在的嘗試。因此一個小程式可以花上一兩個星期修修改改,要求者就是自己,每次滿足自己的要求所得到的成就感是推動我繼續學習的動力。回頭看自己的學習歷程,我今天的程式水準,絕大部分都不是靠課堂教學而來,甚至可以說,如果只照著課堂的內容學習,所得到的東西是遠遠不足的。

不幸的是,現在的學生常常有這樣的想法,許多事情太過於「想當然」反而放棄掉許多機會。或著應該說,因為過多的老師及這個社會上的人這麼想,所以學生就帶有這樣的想法,從來就不覺得有什麼錯。

「參加6個月課程後,就讓不會程式的人成為 某某程式語言的高手,月領數萬薪水」這個標語已經不讓人漠生,也在其它程式之外的領域可以看到。但是真的有可能嗎?答案是否定的。但是相信的人太多,反而被誤認它真的可能發生的,這就是「想當然」所造成的。

唸完大學「想當然」應該有不錯的工作,得到博/碩士就「想當然」學有專精,資訊相關科系出身的人「想當然」就有高度資訊能力,只要請到具有證照或幾年程式工作經驗的人「想當然」就可以馬上解決現在面臨的問題,甚至「想當然」可以開除待了許久,意見多又拿不少薪水的舊資訊人員……

那結果呢?
大部分的大學生,畢了業程度並比進大學前高出許多,頂多是聽過許多技術和理論,但是統統不會用。我已經面試過不少資訊科系的畢業生,沒有一個說自己對寫程式有把握的…
理由是什麼?因為只是照著老師教的東西,作出能夠應付作寫的程式,甚至是改改別人的範例,既使是畢業專題也是如此。知識並沒有被腦子深入思考,理解及記憶。所以如果沒有範例,沒有人教,就只能傻在現場,什麼也作不了。如果再沒有主動學習的意願,自己推動自己學習,這種人是沒有什麼產能可言的。打雜的工作是用不到大學生,有其它更便宜的選擇。

博/碩士在許多時候,就只有一張嘴罷了。沒有工作經驗,學術上的成就,反而容易讓自我的感覺過於良好,聽不進別人的建議,活在自己的世界裡。當然公家單位有許多地方只看學歷不管能力,還滿適合這種人的,不過以私人企業而言,這種有時候造成的問題反而更大。公司的目在於賺錢,團隊的要求在於合作,而學術價值在這些地方往往沒有什麼交集的。而且研究所實際上上的課更少,比大學還要少得多,而學生就在一知半解之間寫出自己的論文,畢了業還是不清楚自己學了什麼。
理論無法應用在現實就只是一堆無用的資訊片斷而已,這個社會給這些資訊片斷太高的價值了。

「資訊工程學系畢業,不會寫程式」早就不是新聞了。作業可以抄,考試有考古題。只要能進入科系,絕大部分都能順利畢業。而教師評鑑,教師評等的制度又再多加幾把力氣。
一個教授如果被學生打太低的評鑑分數,就會被列入觀查,如果是約聘的教授就直接不續聘。學生被當掉可以下學期(年)重修,而教授被解聘就沒工作了。
另外,凡是幾年內沒有由助理教授升等的,就會被解聘,升等的條件是什麼?看發多少篇的論文,投槁多少期刊。而升等的教授也需要每年產出多少論文。
這些關乎教授工作的事項中,沒有一項是和學生成就有關,一個教授沒有什麼理由和自己的飯碗過不去,而何況大多數的教授除了待在大學教書,沒有其它幾項能被稱為專長的東西。
學生爛就讓他們爛吧!自己的工作確保下來最重要。反正願景寫歸寫,沒有幾個人去管有沒有達到。

一個有經驗的工程師(或撰碼員),需要花5~10年甚至更久才能夠獨當一面,還得看在什樣的環境。在大餐廳洗了好幾年的碗的人一樣和廚師一樣算是「內場人員」,所以不能代表三年「內場人員」經驗可以作出好菜,但是同樣的道理,卻不能被人放到資訊產業,是一件很奇怪的事情。一個作三年資訊工作的人,當然可能是一個技術高超的工程師,但也可能只是單純的發發網站公告,一行程式都寫不出來的人。後者的機率當然比較高,因為如果是前者,別人想辦法也會把它留下來。

前面只是吐吐苦水罷了,完全沒有能力也沒有打算去試著改變這個社會現象。
而且個人覺得去怪環境或社會觀念對於問題都沒有幫助,只能說要試試看去將「少一行程式」這個想法傳達給我所帶領的同事身上,唯有讓自我能夠推動進步的發生,否則長期下來所能夠具有的成長實在有限。

沒有留言:

張貼留言