Open ToroLiu opened 8 years ago
會走上寫程式這條路,八成是小時候愛打電玩吧。大學聯考填系所時,都不知道哪個系以後能做什麼,資訊工程系感覺可以寫遊戲,幻想著以後能寫遊戲,就進了這個科系。從大學到研究所畢業這段就略過了…中間發生了一些事情,過程不是很順利,但結果算還不錯。
老實說,工作所需要的技能,和學校所教的技能,是有所差距的。而學校很難,也不需要補足這一塊。目的畢竟不同。
學校的訓練,最有用的是思考方式,和解決問題的能力。像是網路實驗課,給一個php + Linux + MySql的作業,全班沒幾個會這些技能,然後一個禮拜後想辦法生出來之類的。還有就是基礎學科的能力,像是演算法、數學相關的科目、影像處理之類的。有些Domain Knowledge,進了職場之後就很難再學了。
而工作所面對的,大都是大型專案。程式碼幾千行算是很小很小的專案了,但在學校是己經算很大的一個作業。而且需求會不斷的變更。學校作業通常A就是A,而工作的話,今天是A,明天可能會變成AB、或是C了。需求可能增加,也有可能需求整個改變。
「因為努力的人很少,所以只要比別人努力一點,就會比別人厲害。」
這段話我忘記是在哪看到的了。工作前幾年,一開始是維護Win32, MFC的專案,後來寫iOS App。空閒的時候,就是看書。 因為小時候愛下象棋,和看武俠小說。程式設計,用絕世武功來形容的話,分內功和外功。內功偏像概念,像Design Pattern、演算法、OO的概念、經驗這一類的,我覺得就是內功。而C、C++、Java、Objective C就像是外功。內功強的話,外功都很好上手。 而且內功的特性,適用任何的外功。畢竟武俠小說都是這樣寫的,看看張無忌,有了九陽神功後,學什麼都很快。
工作算算也七年多了,前一份做了六年。看完的原文書,應該有二、三十本以上吧。對工作一直很有幫助的就下面這幾本吧。
Code Complete 2nd 不餽是十大必讀好書排行第一名的。一直到現在,還是受用不盡。真的沒時間看書的話,這本建議一定要看看呀。早點看完早點受益。
這本講的很全面,怎麼規畫程式、怎麼計算程式複雜度。有一些重構的技巧,像是減少nested if-else的層數。而有趣的章節,像是怎麼使用goto這種有爭議的語法,那章是講protective programming,一開始談到使用assert這一類的語法,檢查input parameters,甚至是計算後的result,也做檢查。然後,優化程式效能的技巧,也會列舉同個技巧下,不同語言的優化程度,這裡他會強調,同個技巧,在不同的語言下,不見得有用,可能會更糟…。 覺得這本書的總綱就是「high cohesion, low coupling」,「高內聚、低藕合」。書本還蠻厚的,電子書沒感覺,買了一本中文翻譯本就很有感覺了,還蠻厚重的一本書。
Pattern
這幾年線上課程很夯,所以Andrew Ng的Machine Learning也上完了。有修完的線上課程真沒幾個,聽課的可能還比較多。有時候會想著,是不是在回去校園生活,學點東西。進了職場,反而會想念學生生活。但當學生的時候,只想趕快出去工作,賺錢活口。呵呵。
會一直K書,跟堅持要正常上下班的念頭有關係。要有效率的工作,不斷投資自己的技能總沒錯。能力和技能越來越熟練,能選擇的工作機會就越多,也越有本錢篩選自己想要的工作環境。只是,年紀越來越大,有時也會懷疑,程式設計師這個工作,能做多久就是了。
Aecho Blog http://aecho.info/blog/ 目前任職於 艾特維
當學生的時候,只想趕快出去工作,賺錢活口。
完全同意😂😅
走上寫程式這條路
會走上寫程式這條路,八成是小時候愛打電玩吧。大學聯考填系所時,都不知道哪個系以後能做什麼,資訊工程系感覺可以寫遊戲,幻想著以後能寫遊戲,就進了這個科系。從大學到研究所畢業這段就略過了…中間發生了一些事情,過程不是很順利,但結果算還不錯。
職場經驗談
老實說,工作所需要的技能,和學校所教的技能,是有所差距的。而學校很難,也不需要補足這一塊。目的畢竟不同。
學校的訓練,最有用的是思考方式,和解決問題的能力。像是網路實驗課,給一個php + Linux + MySql的作業,全班沒幾個會這些技能,然後一個禮拜後想辦法生出來之類的。還有就是基礎學科的能力,像是演算法、數學相關的科目、影像處理之類的。有些Domain Knowledge,進了職場之後就很難再學了。
而工作所面對的,大都是大型專案。程式碼幾千行算是很小很小的專案了,但在學校是己經算很大的一個作業。而且需求會不斷的變更。學校作業通常A就是A,而工作的話,今天是A,明天可能會變成AB、或是C了。需求可能增加,也有可能需求整個改變。
「因為努力的人很少,所以只要比別人努力一點,就會比別人厲害。」
這段話我忘記是在哪看到的了。工作前幾年,一開始是維護Win32, MFC的專案,後來寫iOS App。空閒的時候,就是看書。 因為小時候愛下象棋,和看武俠小說。程式設計,用絕世武功來形容的話,分內功和外功。內功偏像概念,像Design Pattern、演算法、OO的概念、經驗這一類的,我覺得就是內功。而C、C++、Java、Objective C就像是外功。內功強的話,外功都很好上手。 而且內功的特性,適用任何的外功。畢竟武俠小說都是這樣寫的,看看張無忌,有了九陽神功後,學什麼都很快。
工作算算也七年多了,前一份做了六年。看完的原文書,應該有二、三十本以上吧。對工作一直很有幫助的就下面這幾本吧。
Code Complete 2nd 不餽是十大必讀好書排行第一名的。一直到現在,還是受用不盡。真的沒時間看書的話,這本建議一定要看看呀。早點看完早點受益。
這本講的很全面,怎麼規畫程式、怎麼計算程式複雜度。有一些重構的技巧,像是減少nested if-else的層數。而有趣的章節,像是怎麼使用goto這種有爭議的語法,那章是講protective programming,一開始談到使用assert這一類的語法,檢查input parameters,甚至是計算後的result,也做檢查。然後,優化程式效能的技巧,也會列舉同個技巧下,不同語言的優化程度,這裡他會強調,同個技巧,在不同的語言下,不見得有用,可能會更糟…。 覺得這本書的總綱就是「high cohesion, low coupling」,「高內聚、低藕合」。書本還蠻厚的,電子書沒感覺,買了一本中文翻譯本就很有感覺了,還蠻厚重的一本書。
Pattern
的字樣就拿來看了。後來接了Web service的專案,說服主管用asp.net MVC,而不是asp.net WebForm,幫自己爭取福利…。其實asp.net WebForm,和asp.net MVC都是MVC的框架。但是asp.net MVC是front controller,而asp.net WebForm是Page controller。像是Python django, Java jersey這一類的,都是front controller的概念。而關於View那塊,看看template view, secondary view的章節後,也會更了解這一類的東西。 裡面會講到Offline concurrency locking。有實際用到的有,optimisic offline lock、Pessmistic Offline lock。像MSSQL (EntityFramework)在Optimistic offline lock這一塊很容易實作。會了Optimistic offline lock,用它實作Pessmistic offline lock也會很方便。這幾年線上課程很夯,所以Andrew Ng的Machine Learning也上完了。有修完的線上課程真沒幾個,聽課的可能還比較多。有時候會想著,是不是在回去校園生活,學點東西。進了職場,反而會想念學生生活。但當學生的時候,只想趕快出去工作,賺錢活口。呵呵。
會一直K書,跟堅持要正常上下班的念頭有關係。要有效率的工作,不斷投資自己的技能總沒錯。能力和技能越來越熟練,能選擇的工作機會就越多,也越有本錢篩選自己想要的工作環境。只是,年紀越來越大,有時也會懷疑,程式設計師這個工作,能做多久就是了。
About me
Aecho Blog http://aecho.info/blog/ 目前任職於 艾特維