[碎碎念] 程式開發領域由菜鳥到老鳥的成長歷程 (6) - 學生階段-真的需要研究所學歷嗎?

碩士學歷到底重不重要,也許在前幾年大概一堆人會一面倒的說很重要,當然,立志想進大公司或科技業大廠做RD的話,碩士是真的很重要,然而現在碩士滿街跑的狀況已經十分嚴重,碩士金雞母的時代還能維持多久?很難講。

...繼續閱讀 »

[碎碎念] 程式開發領域由菜鳥到老鳥的成長歷程 (3) - 學生階段-選課 (修課) 的重要性

選課一向是大學開學前的重頭戲,熱門的課程一向是學生搶著選的重點課程,或是都去選老師管得鬆又容易過的所謂 "營養學分",但是與其一頭熱,或是只想要輕鬆的修課,對未來其實一點幫助都沒有,與其只想輕鬆過學生生活換取以後職場數十年的痛苦,不如早早就準備好。

...繼續閱讀 »

[如何學習寫程式] 為什麼不要使用中文命名?

我自己是華人,常用的語言也是中文,而且是繁體中文,日常的溝通都是用中文,所以我的英文並不好,但就算是英文不好,寫程式時我除了註解外統統用英文,我也一直在推廣寫程式或是對資料庫欄位命名時不要使用中文,並不是我歧視中文或是有什麼顏色或是抱外國人大腿什麼的 ...

...繼續閱讀 »

[如何學習寫程式] #10 - 練習由線索去找解答或可行的作法,而不是老買伸手牌。

我們經常會對新手說:寫程式前一定要先思考,意即於此。設計決策只能透過不斷的思考訓練才能進步,坊間的書雖然也會講設計的最佳作法 (Best Practices),但不會告訴你這些作法是如何發展而來的細節資訊,這些細節只能透過學習的人一步一步的實作來感受,也因此這些設計決策是經驗累積而來的。

...繼續閱讀 »

範例程式碼,是最佳的兩面刃

我想大家都不反對,在剛開始學習寫程式的時候,最依賴的兩樣的東西,就是書 (book) 和範例程式 (sample code),範例程式在學習程式的道路上一定是不可或缺的重要工具,它帶給你觀念與方法,讓你可以用相同的模式來做到相同的功能,但範例程式碼最終的目的,只是教你特定的需求要怎麼達成而已,若不將它融會貫通的話,很容易就傷到自己。

...繼續閱讀 »

邁向架構師的暖身運動(3):培養技術的決策力,而不是一昧的只會追新技術

只要程式開發久了,又有面對過不同層次的專案(例如產業不同,性質不同,應用方向不同或是不同的領域知識等),通常都會接觸或是使用很多的技術,而且技術的學習力又和自己本身的基礎能力有相當大的關係,它會左右你學習新技術的快慢,不過今天要談的倒不是學習力,而是決策力(Decision Making)。

...繼續閱讀 »

Framework 和 Architecture 有何不同?

前幾天我在幫我顧問公司的員工上課,剛好講題就是 Software Architecture,我在課堂上順便問了一個小問題:Framework 和 Architecture 有什麼不同?結果學員多數都答不出來,因為那間公司都把 Framework 叫做架構,但光是架構這個詞在很多技術用語上都會被套到,那麼,Framework 和 Architecture 到底哪裡不同?

...繼續閱讀 »

邁向架構師的暖身運動(2):抽象化的能力

一般在寫程式的時候,往往都是要先探詢寫這支程式的需求是什麼,如果有些工作是由流程 (process) 構成的,或者是這件工作可能會橫跨不同的模組(或資料庫),又或者是這個程式預期未來可能會有什麼樣的衍生功能時,就可以試著把這些程式中共同的部份加以抽出,獨立構成一個公用程式庫 (utility) 或是基礎類別 (base class),而將這些部份抽出的流程即稱為抽象化 (abstraction)。

...繼續閱讀 »