2001/09/30

不要永遠套用以往的成功經驗
分類:管理


開發軟體系統的最怕的就是技術不斷地更新,工程師的專長不一,使用的開發工具習慣不同,形成後續開發的負擔。

一個系統要可長可久,除了隨著時代進步之外,核心技術也要隨時的檢討改變,不要進入了使用的最新的技術工具,寫出一大堆流水帳的程式碼,以MFC的Wizard Application為例子,原本的用意是讓程式設計師很快的可以跨入寫應用程式的領域,可是我發現有很多程式設計師因應客戶的需求加強一個功能,就新增一個按鈕,然後把舊的程式碼剪貼過來修改,就交差了。

這樣固然可以達成任務,可是卻苦了後來維護程式碼的人,如果選定用物件導向式的語言來開發,表示你可以利用繼承、封裝與多形等等優點,而各種語言的特性要把客戶的需求先抽象化之後,分析可以歸類的元件物件之後,再行具體化的開發。

所以說,你把寫程式當成寫日記或者是寫流水帳的話,你永遠沒有辦法出日記精選或者是做公司帳款財物的分析工作。

而這個分析的工作是每一個寫程式的人必須要去思考的,分析的過程可以參考以前的系統,也可以參考以前成功的經驗,但是,就僅僅是參考而已。

有了一兩個系統專案的開發經驗,到底可不可以把成功的經驗完全的移植,答案永遠是否定的,我們聽到太多說,以前我就是這樣做的,客戶使用的情況非常滿意,而且後續的改版也非常的快速。這就是我非常害怕的心態,如果考慮當時的環境與現在的環境,有太多太多的不同的,例如:客戶群不同、使用電腦的使用習慣不同、系統的大小不同、系統服務的層級不同、使用的開發工具不同、頻寬不同......可以舉的項目實在太多,而最另人沮喪的答案,時間永遠都是不同的。

成功的經驗雖然重要,但是創造另一個成功才是真正重要的事情,試著接納別人的想法,你會發現你所寫出來的程式彈性很大,也很容易改善,不會被別人隨便講一講需求更改,你又要花一兩天去把之前的程式碼修改一番,這樣的系統才經得起考驗的。

2001/09/08

找工作面談前的準備
分類:職場


要找工作的時候一定會與未來工作的主管面談,而面談的時間通常只有三十分鐘到一個小時不等,要在短短地時間讓未來的公司決定要花三個月試用期的成本,一定要有相當的準備。

保持充分的自信心,工作與學校最大的不同就是付錢的方向不一樣,學校會教你如何做作業教你如何寫程式,但是一個公司其實沒有義務教你如何工作,雖然,很多公司都說有完整的教育訓練,但是記住一點,一家公司是付錢給你來工作的,不是付錢來請你學習的,如果面談的時候沒有自信心可以完成任務,那一家公司為什麼會請你來呢?還有記住有自信心不表示可以亂吹牛,如果不會的事情也不要說謊。

充分表達以前完成的工作項目及經驗,以前的經歷非常重要,無論是在學校的作業報告,或是前一個工作的經驗,最好事先可以把系統的架構、作業平台、系統需求、系統分析、程式模組等等準備好,面談的主管要問的時候,可以朗朗上口,表示你對之前的經驗非常的清楚,不是因為不適應,或是做不來才想要換工作的,而且,有了之前的工作經驗,你應徵的公司才知道你的專長,便於分配新的工作任務給你。

千萬不要說之前工作公司的壞話,因為可能主管也認識業界的種種情況,如何批評都是不好的。

了解自己想要做的工作,換一個工作雖然不是一定要做一輩子,但是總要待久一點比較好,所以工作的環境以及內容非常的重要,千萬不要沒有一點的主見,或是想說公司派什麼工作就做什麼,就程式設計的領域來說就非常多種,MIS管理、純Coding(未來使用的開發工具?)、系統維護工程師、專案分析或系統分析、系統測試,先定位好自己想要做的工作。

先詢問未來可能的工作內容,如果面談的經過非常的滿意,可以進一步的詢問未來工作的內容,但是千萬不要主觀的做判斷來回答應試主管,譬如說不喜歡這個工作之類的,因為你還沒有進公司,完全沒有判斷分析的能力。

了解業界的薪資水平不要提高也不要被壓低太多,堅定自己的想法,不要被主管一砍價就放鬆了,表示你對你自己的能力沒有相當的把握,也不要好高騖遠自己抬自己的身價,未來的表現不好,適用期不過就算了,傳了出去也沒有一家公司敢用你。不要問太多未來公司的配股計劃、教育訓練計劃、升遷計劃等等,顯得好像你只是為了錢為了學習而來,應該問的是公司的願景與競爭對手的關係等等,這樣讓別人覺得你已經與公司融在一起了。

保持愉快的心情去面談,不要緊張。