顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-07-12 00:51:59
看板 Soft_Job
作者 tinlans (  )
標題 Re: [請益] 畢業生vs非本科系差在哪?
時間 Tue Jul 10 03:23:49 2018


※ 引述《kiss78832 (kiss78832)》之銘言:
下班洗完澡了,來看看能多快回完這篇。
因為想快點睡,所以如果有錯字還是文句不通順的部分請海涵,有空我再修。
: 這個版有許多非本科系想要跳進來,可是大多數的人都會噓的很慘,有幾個問題想要請教各位~
我都用箭頭回。
看了一下噓的大概是覺得那類文太多了,一陣子就來一次,所以不耐煩了吧。
: 一、非本科系學生自習通常都滿認真度的,因為知道自己少學別人幾年,
: 但認真自學一、二年真的會輸給應屆畢業生嗎?
這個問題很難回答,因為有點大哉問。
1. 你說的是大學應屆畢業生?還是碩士應屆畢業生?
因為這科系多讀兩年碩士拿碩士學位起薪會高學士起薪不少,天花板高度也比較沒限制。
所以通常不管大學混得好不好都會拿個碩士,大學校名不好聽也會洗一個好聽點的。
因此常常應屆畢業出來都碩士了,碩士大都至少有一個領域比較專精,所以接下個問題。

2. 你是說哪方面比應屆的強?
如果是大學應屆畢業,畢業專題也沒朝某個方向做太深入,
那這種應屆畢業生大概就是擁有以團隊合作方式實際完成一個大型作品的經驗。
這東西通常不管誰花上大把時間都做得出來,重點在於成就感和團隊合作經驗的培養。

如果那個專題指導教授會要求專題生看 paper 然後弄出點改善的,
那這種應屆畢業生擁有不一定有團隊開發大型作品的經驗,
但是至少會有:
  (1) 對某特定領域的進階知識。
  (2) 建立實驗環境及分析數據的能力。
  (3) 看出別人方法的缺點,和同伴討論,並找出改善方法且實作之的經驗。
教授很喜歡這種專題生,通常會用一些條件利誘他們推甄碩班當他研究生。
所以一般大學專題走這路線的,很少是只有學士學位,碩士學位都會順便拿一個。
另外,教授很喜歡透過這種管道尋覓未來兩年甚至更久遠的奴才。

如果單論寫程式能力,那我想你對資工系有所誤會。
其實我也不知道噓你的那些人是不是真的資工背景,但我肯定你搞錯了什麼事。
開戰之前要先收集敵情是基本,不然連搞錯對手開戰都不曉得。
我拿比較有代表性的 113 資工學士班課程給你看看 (我沒讀過 113):
https://www.cs.nctu.edu.tw/cswebsite/education/undergraduate/course

資電工程組的共同必修:
https://www.cs.nctu.edu.tw/cswebsite/upload/student/1.png
[圖]
 

資訊工程組的共同必修:
https://www.cs.nctu.edu.tw/cswebsite/upload/student/2.png
[圖]
 

網路與多媒體工程組的共同必修:
https://www.cs.nctu.edu.tw/cswebsite/upload/student/3.png
[圖]
 

專業選修我們就先不管,畢竟共同必修才是一個系所組別真正注重的東西。
你看一下程式課有多少。

一上:計算機概論與程式設計
一下:物件導向程式設計
二上:資料結構
二下:演算法概論 (根據教授要求不同,這門課不一定寫得到真正的程式。)
      基礎程式設計 (我查了一下是檢定程式能力的課,不是上課而是在做題目。
                    一般而言這種課應該是把關學生素質用的,不過無法畢業。)
三上:計算機圖學概論
      編譯器設計概論
      微處理機系統實驗
      網路程式設計概論
      作業系統概論 (不一定寫得到程式,傳聞久遠的過去會叫學生寫出一個 OS。)

三下:嵌入式系統設計概論與實作
      人工智慧概論
      影像處理概論
      軟硬體協同設計概論與實作
      資訊工程專題 (一)

四上:資訊工程專題 (二)

三年級開始必修程式課會增多,雖然我全列了上來,但各組別其實只有其中 2 到 3 門。
一二年級有非常多對你而言可能只是湊熱鬧的課程,除了自然科學那塊之外,
什麼微積分、線性代數、離散數學、機率、微分方程、數值方法、正規語言、
數位電路設計、電路學、電子學、計算機組織、數位系統設計、訊號與系統等等的課,
我不知道這些課程在你眼中是什麼東西,但它們在前兩年佔的比重顯然高於程式課。
可見這些東西才是資工人真正要會的東西 (根據組別或學程而有差異)。

而且就這個課程設計來看,你應該要發現一些事實。
譬如從一上到二上三個學期就三門必修程式課,突然間二下就要檢定程式能力了。
這個代表什麼?程式設計是修三門課就能變得很強很專業的能力嗎?
明明讀這科系是要學寫程式,結果前兩年都在讀一些不知所云湊熱鬧的理論跟數學課,
而且實際上這些課程需要投入大量時間才能通過,大大地壓縮了學生寫程式的時間。
加上列在必修課裡的居然沒有網頁程式設計,沒有網站建構和架設,沒有電子商務,
資料庫系統概論就一個框框躲在其中一個組的核心課程裡,一學期上完,沒了。

怎麼這些必修課程和板上還有 104 等處看到的各項職缺所需能力差別很大?
你是不是開始懷疑這根本不是你心目中的資工系?懷疑我給你的是假資料假網頁?

如果你開始產生這種懷疑,那我非常確定你從一開始就找錯科系比較跟開戰了。
為了避免引發科系之間的戰爭,我就不說什麼請左轉資X系重新來過了。

這個疑惑我以前也有過,然後我是有疑惑一定找人問的類型。
我來把我從諸多大學教授的回答跟你分享分享:

1. 程式能力是基本要求,學生應該回家自己學習和加強,這種東西別上大學還要老師教。
2. 大學是學術的殿堂,鑽研學問的地方,不是職前訓練所。
3. 我們系名的 science 是科學,純 coding 不是科學,請自己花課餘時間練。
   我們系名的 engineering 是工程,純 coding 不是工程,連這都不懂不要來讀。
4. 我們這裡訓練的是專家,不是玩家。
   培育專家的素養就是需要這些知識,寫寫程式和組組電腦一樣是玩家範疇。
5. 師傅領進門,修行在個人。學校課程只是老師給你起個頭,後續還是要靠學生自己。

另一方面,以我當時的時空背景,無論學界還是業界都常有這種評論:

「高教技職化」
「大學高職化、碩士五專化」
後者其實並沒有很誇張,因為台灣產業遲遲沒有升級,加上學歷氾濫,
其實不管大學還是碩士畢業後常常都所學非所用,學校學的都可以拿去丟。
因為他們在業界做的工作,就是在 90 年代高職畢業生和五專畢業生就能做的事情。
只是每間公司應徵者眾,繼大學生滿街跑沒幾年後,碩士也變得滿街跑。
人資篩人只好先用學歷和學校來篩,結果就是變成現在這種局面。
雖說因為某人的傑作,現在高職和五專生的能力也的確和過去有相當大的差異。
這可能要跟我一樣有經歷過五專生實力超強的時代的才會懂了,時間不夠先不講古。
推文開放 35 歲以上的老人講古。

總而言之,我從教授們的回答中得到一個共通點,就是「程式本來就是學生自學的」。
在我們資工系,即便有選修各種程式相關課程,最後靠的還是自己學,這點是肯定的。
不管是不是在資工系,人都有自學能力強弱之分,意志也有堅毅和薄弱之分。

你說你可以花一兩年時間自學,但事實上我們這邊的學生也是在自學,
差就差在我們這邊可能還有良師益友可以即時給予提點,但也不乏不懂得善用的人。

所以單就程式能力你和我們有什麼差別?我覺得可能平均來講應該差別不大。
我們修的程式課也就那樣,大部分相關技能都是自學而來,這比的只是自學能力而已。
既然這個部分我們可能都差不了多少,那麼我們跟你的不同之處就不會在這。
因此如果你一開始就是想單問程式能力,那你可能是完全搞錯方向了。

: 二、只要遇到非本科系要跳進來,底下就一堆留言叫版主先去唸研究所畢業再講,問題自學+資策會,程度上應該也不會差很多吧?幹嘛非要叫人去研究所,搞不好教授都在混,不是倒楣嗎,為了一張證書而已。

我想每個階段學校老師應該都會教,如果要在茫茫人海中跟人競爭,
你應該要有一兩項過人之處,以及難以取代甚至不可取代之處。

資工領域分支有千百種,各行各業要求的常常都是不同領域的專家,所以讀這出路多。
但是碩士是專精「某一特定領域」的場所,因此大學生的任務就是要探索出方向。
之所以建議讀碩士就是因為資工領域太多太廣,大學都只是在打進入各領域的基礎而已。
以一個資工學士身份進入職場也不是不行,但是你要能好好回答這些問題:
  「你說你基礎好,什麼都摸過一點,那你到底什麼比較強?」
  「來應徵的人這麼多,大家都很優秀,你憑什麼要我錄用你而不是別人?」
你不是這個科系畢業的去應徵,就算見得到面試官,
你應該知道在這些問題之前還有別的會被問,你可能得準備得更多一點。

當然,以上的前提是你找的是「可以跟資工系畢業生搶其專屬飯碗的工作」。
如果你找的是中輟生去外面上課三個月都能跟你搶飯碗的工作,那也許面試會好過一點。
可是你將要面對的可能就是非常不人道的工作環境和違法的勞動條件,
因為即便你的能力遠高於需求,但那邊本來需求就低,你並不具備不可取代性。
對老闆而言,你就只是個可以隨時替換的螺絲釘,和掃地的歐巴桑沒有太大區別。
他沒有必要愛惜你,沒有必要視你為資產,你會被當成墨水匣之類的耗材也是理所當然。

「你不爽可以不要幹,後面還有很多人排隊在等著做。」

想在就業之後聽到老闆對你講這種話的話,我也是不反對啦。

一般我會建議人讀碩士,就是希望要能培養出獨一無二的特別知識和技能。
另一方面就是學士和碩士的起薪及天花板有明顯的差異,學士靠年資調到碩士起薪很難。
當然也不是沒有例外,前提是你個人表現出類拔萃,主管跟老闆也沒瞎了狗眼。
由於這條路線控制結果的因素不全在自己,所以我才會建議比較輕鬆的路線。

: 三、是不是什麼都要噓的人,其實是怕自己工作被搶走才什麼都要噓一個,
: 好像非資工畢業就不行,擺出唯獨資工能做軟體,你文組滾開!?

我在回答你第一點的時候應該講得差不多了,你應該是完全弄錯對象。
從一開始我就覺得你只是自己紮了一個本應不存在的稻草人在質疑和針砭。

至於噓你的人是什麼背景,懷著什麼想法,我不知道。
但我知道 PTT 有八卦板這個存在,也許那些人只是八卦板待久了,習慣按噓而已。
又或者只是如同我前面講的,類似的轉換跑道文看太多,看到懶得看了所以按噓。


另一方面,對於我們資工人來說,程式能力本來就是自學,老師只是帶個起頭而已。

大學三學分的課程代表每週上三堂課,上面那些必修多半是三堂,選修則有些二學分的。
其實資工學生上課的時候也很絕望啊,老師都不負責任地隨便教一教就開始丟作業,
什麼都說你回家自己看書,你回家自己練習,雖然 office hour 是可以問啦。
透過辛苦自學熬過那個環境 pass 的,被你講得好像這邊的人自學沒你認真,當然會噓。
我沒噓你的原因是我學習背景和環境跟一般資工人有區別,沒體驗過太多痛苦和無助。
我精通 C 的時間點早到它幾乎可以視為母語,所以你講這些以我立場來說是很無感。
但是換位思考的話,如果我是大一才開始學程式的一般資工人,肯定會噓爆你的吧。
我也不是沒看過同班同學痛苦掙扎的樣貌,所以還是可以想像得出那種心情的。


: 四、為什麼沒興趣不能進來這個產業,為了錢難道不行嗎?
:     難道這版的工程師每天寫程式都寫到高潮不想回家嗎?
:     因為太有興趣了,沒搞出來不行,都是這樣心態嗎?

沒興趣卻只是為了錢當然可以,歡迎你的加入。
會那樣勸你的人應該是某些行業的過來人,怕你每天活在痛苦、挫折和不講理之中而已。
如果你覺得你對這些狀況的承受能力很強,那當然沒有問題。

: 五、我是文組,也是正在學習的菜鳥,我還是學店。
: 寫程式不就這樣,熟能身巧,搞得是個很高尚的職業,不相關的人都不準進來

雖說很懷疑是你從一開始就搞錯對象,但我從不覺得寫程式有多高尚。
這種工作反而還頗容易囤積脂肪,是一個越勞動越容易讓身材外觀變得癡肥懶的工作。
肥宅的世界非常歡迎你的加入,絕對不會不准你進來,進來後記得多帶大家去運動。

不過我還是要澄清一下,寫程式的工作有千百種,
根據選擇的領域,能跟自己搶飯碗的人口類型也有不同。

1. 最常見的是大雜燴的綜合領域,無論出身為何,外面上課或進來三個月都能做得很好。
2. 資工、資管、應數、電機、電子、商設、工管等科系都能做的領域,
   也不乏土木、園藝、中文等科系,只要有毅力,就能混一口飯吃。
3. 資工、電機、應數都可以踏足的領域,但對其它科系有先天排斥性。

在此之上以資工為中心,還有資工+電機、資工+應數方能踏足的領域,對外系具排斥性。
你不去讀資工所的話,要進入 1 和 2 去跟大家大鍋炒絕對是沒有問題的,
即便那些環境可能會有更多人跟人之間的非技術相關爭執及勾心鬥角,
不過對你這個文組出身的說不定反而有利,我是覺得人只要能找到適才適所的地方就好。

我只是覺得你好像對我們資工系有點誤會,所以特別回一篇文說明一下,

你聽完以後只要按照你自己的判斷做出不會後悔的選擇就行了。
至於我個人的意見,你拿來當參考就好,畢竟人各有志,沒什麼好強求的。

就如同前面說的,台灣產業實際上很落後,很多地方大學所學的東西派不上用場。
既然用得上大學和碩士所學的產業有限,勢必會有不少資工人也必須待在那邊工作。
一旦在那邊工作,資工人的優勢也會被大幅削減,甚至變成和你完全以程式能力競爭。
與強敵競爭的要領,在於制訂諸多規則限制對方優勢,讓對方讓步,降到跟你同一水平。
資工人自願或被迫放棄自己優勢,跑去那樣的產業跟外人純粹以程式能力進行肉搏戰,
實際上就滿足了上述的限制條件,你有很大的機會可以跟他們在同個職場平起平坐。
在那樣的產業裡,你要光靠自學程式能力就在成果上打趴資工人,成功率肯定會高很多。
人生 Online 本來就是這樣玩的,贏家就是正義,沒什麼卑鄙不卑鄙。

由於程式大家都是靠自學,所以學不學店我覺得完全不重要。
我大學也是讀現在被鄉民們稱為學店的私立科大,程式能力還是維持在一個水準之上。
我班上還有個入學時跟剛畢業當完兵的班導年紀一樣大的原 8+9,後來也過得不錯。
你對自己這麼有信心是好事,往好處想你這樣也是一個優點,好好加油吧。
多掌握身邊的各種學習資源,找到對的方法努力學習,也是能闖出你的一片天。


--
Ling-hua Tseng
Senior Engineer
Compiler Group, RD/Software Division
Andes Technology Corporation

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.164.123
※ 文章代碼(AID): #1RGxPBV3 (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1531164235.A.7C3.html
※ 編輯: tinlans (122.116.164.123), 07/10/2018 05:11:55
SKII588: 老人來推1F 07/10 07:22
zanyking: 推,我們那個時候程式設計都是自己學的,老師只負責透過2F 07/10 07:25
zanyking: 考試當學生,我自己學也是後來畢業後去資策會上課然後
zanyking: 自學的,其實『差在哪?』還得看時間,是現在還是十年後
zanyking: 答案都會很不一樣
我當年那間學店進去的前兩年,資工系只有一個資工背景的老師,其他都電機硬體背景。
唯一一個資工背景的老師剛畢業當完兵出來,專長物件導向,擅長 Visual Basic。
是個很開朗豪邁又愛登山的交大純血土博,本身看起來也是在一邊教一邊學。
這個老師 C 跟 C++ 坦白說不太行,但他很賣力在教學上,對於在學店教學有一套見解。
他認為既然學生程度都跟不上,而且對寫程式沒有興趣,不如不要硬把整本書上完,
而是根據學生總體程度來決定要教多少,起碼把前面基礎部分紮紮實實打穩。
至於程度比較高或者對程式設計特別有興趣的學生,可以日後自己慢慢自修後面的部分。
所以他算是極少數會手把手教學生程式的老師,只可惜他也是新手,在我那屆成效有限。

當年的時空背景是這樣的,教育部不知道為什麼把資訊科跟電子科課程弄得差不多,
所以雖然當時我資訊科出身,但主科還是基本電學、電子學、數位電子學等等的東西。
程式設計的課幾乎沒有,計概教個 Quick Basic,後來勉強有門課教 Visual Basic。
然後數位電子學後半實習因為牽涉到 x86 組語,所以也勉強教了一下。
再來就是實習課,當年已經縮減成一週八堂了,不過也是一週有兩個半天泡在實習工場。
整天在那邊插麵包板,玩電源供應器跟訊號產生器,偶爾意外炸炸電容跟 SCR 等元件。
所以即便是高職資訊科出身,興趣跟背景其實都跟電子科沒太大差異。

國立科大當年只有台科、北科、雲科、高雄第一、高應大,其它都還是技術學院。
這幾間科大的四技部全部都只有電子工程系,沒有資訊工程系,只有私立朝陽科大有。
然後該死的教育部,在聯考也是把資訊科跟電子科併在一個「電子類」組考試。
唯一的資訊工程系也是被夾在眾多電子工程系的志願裡面,分在電子類組裡。
換句話說,我當年的同學幾乎都是高職在讀電子科,只是分數上不了國立科大電子系,
剛好成績落在朝陽科大資工系,又不想去更差學校的電子系,只好勉強跑進來讀資工。
換句話說他們專長就是電子學跟電路實作,研究所志向是電子工程系,根本不想寫程式。
所以他身為唯一一個資工背景的老師,面對只對硬體有興趣的學生,也只能那樣教了。

在那環境,對於極少數真正對資訊工程有興趣的學生,真的就是什麼都靠自學。
不過當年也問了一些在普大資工系唸書的,看起來他們的教法也沒好到哪去,
比起只會隨便亂教還有硬要一學期上完整本書的老師,這老師某方面來說也比較負責。
但是以嚴格角度去審視的話,要說是過份放水讓學生容易 pass 也是可以啦。

雖說那間現在是學店,當年聯考也是要全國排名前 2.9% 才能進朝陽資工,
同學不能說是素質差,只能說沒興趣真的沒辦法,偏偏他們又不願選系不選校。
其實我也明白想要選系不選校有困難,會有來自家長跟學校的壓力。
譬如教育部剛試辦推薦甄試,要先選好學校再考試和面試,學校選定就不能改。
所以當時我跟家人研究了一下,還是決定選有興趣的資工系比較好,
雖然高三模擬考已經穩站班上前兩名 (我們資訊科是竹苗第一志願),
科裡老師對我期待不小,看到我志願寫私立科大,馬上把我叫去辦公室拍桌。
我對當時的印象還頗深刻的,一進去馬上嗆我報這間現在可以馬上開始去玩,不用讀了。
還好科主任後來還算明理,加上家人那邊也事先搞定了,
而且我本來從第二志願高中往高職跳,就已經處理過類似狀況的經驗,
學生跟家長說法一致,意志又表達得很堅定,他也只能揮揮手讓我滾去朝陽了。
如果無法獲得家長支持,選系不選校這種舉動還會有家庭革命的問題。

系上少數對軟體方面有興趣的同學,大都採取自力救濟模式。
省錢的就是去圖書館借書,不省錢的做法就是像我這樣每年回新竹書耕大規模掃書。
我大概一年就過年回新竹老家幾天,然後拿五六千塊去書耕選書搬書回霧峰。
那是侯捷(侯俊傑) 這個譯者還很活躍的年代,當年程式能力主要靠讀他的譯作在強化。
再來就是延續高職時代的習慣,每年讀完歐萊禮全套中文書籍,每年新書全買全讀。
讀這家的書主要是我高職時代還有兼網管,算是另一個興趣,就一路培養起來了。
喜歡微軟平台的同學,當年也有很多微軟的中文叢書,常看到他整天抱著那些磚頭在啃。

雖然一開始是對於師資缺乏還有學校少教這方面很不平衡啦,
但是後來去中字輩學校讀碩,去四大讀博,發現其實全台資工系都差不多。
想想也是,當年科大老師也都是普大出身,課程都複製普大資工系,
他們過去在學校是怎樣修課,當年就是怎樣在任教的地方設計課程,也不意外。

說到底,程式能力在資工系就是要靠自學,靠自己去掌握所有可用的自學資源。
我那年代台中還有揚業可以現場選書,這家在逢甲那邊,後來好像也倒了。

joejoe14758: 推6F 07/10 08:21
snaketsai: 推Andes大大m(_ _)m7F 07/10 08:32
yamakazi: 資工系學四年大部份業界用不到啦 我去資策會加上網自學8F 07/10 08:36
yamakazi: 是業界精髓 三個月抵四年
是啊,畢竟我還有一個老媽當年特地跑去美國待產把他生下來的堂哥。
我在台灣學店唸書的時候,他在 UCLA 讀電機,交換一下資訊就會發現台灣業界真的慘。
甚至我讀科大前兩年 embedded system 跟 SoC 還沒紅起來的時候,
我跟科大班導說我從高職就立志走 compiler 這條路,他聽到時差點沒從椅子上跌下來。
我記得直到我畢業前,那位老師還是跟我苦苦相勸,說那是一門已經如一灘死水的學問,
台灣業界沒人要,出去跟人家說你專長是 compiler 會找不到工作等等,聽到耳朵長繭。
不過當時的時空背景也的確這樣,即便這東西長在 CS 技能樹最尾端,業界就是用不到。
後來就如同大家知道的各種小型 CPU 設計開始紅起來,這門專業才重新被重視。
但儘管如此,台灣現在也依然沒幾家有這方面專業的需求就是了。

snaketsai: 不過以前計圖不是必修,我是資工組畢10F 07/10 08:42
其實我也有點訝異,只能說時代變遷得頗快。

fig498: 感謝認真文11F 07/10 08:49
becca945: 把C當母語的概念12F 07/10 08:58
BigHeadDoggy: 推13F 07/10 09:10
kaitokid1214: 推好文14F 07/10 09:11
BigHeadDoggy: 『其實資工學生上課的時候也很絕望啊』 QAQ15F 07/10 09:19
testPtt: 我想說那些課大家都只求60分 稍微會寫幾百行code就很強了16F 07/10 09:21
testPtt: 畢業有一大半課程會忘光 老師真的要電人大家都不用畢業了
我大三開始系上引進了資工專長的老師,真的就是隨便教隨便當。
和高職那些非常懂得怎麼教學生的老師相比,他們相對不用心在教學上。
所以我對於這件事十分不爽,課堂上只要我聽不懂,我就舉手問,我不懂就別想上下去。
私立科大一學期學費要五萬多,我花錢花時間坐在那邊,不是為了聽他們唸書商投影片。
不自己備課準備投影片,拿書商投影片照著唸來上的,我都很賭爛,聽不懂就問給他死。

我大三時因為很多國立技術學院升格科大,學校排名一落千丈,學店化很嚴重。
所以我也知道那些老師為什麼會跑來這裡任教 (家鄉地緣和友情客串等因素除外),
對於不得不來到這學店就隨便教學的老師,我不會讓他那麼輕鬆混鐘點費。

我大四的那年還見識到一大奇景,一年級學弟上機考前在拿著列印出來的程式碼死背。
我沒注意教他們程式設計的老師是誰,怎麼會把程式課教成這樣。
當時已經在忙著準備研究所考試了,沒有辦法再去學弟的班上旁聽瞭解狀況。

ian90911: 推優文18F 07/10 09:35
sarafciel: T大推個 其實以前資工組還有組語是必修 我畢業那年好像19F 07/10 09:41
我有看到交大還有微處理機系統與實驗啊。
以前這個是順便教組語的,只是當然不是 x86。

如果這門課沒有組語我也不太意外,碩班時期就看到很多國外廠商在用 C 和 DSP C。
後來還看到 DSP C 被標準化成 Embedded C,記得是荷蘭那家 ACE 在推很大的玩意。
現代 compiler 研究都集中在各種最佳化演算法,生出來的組語效率越來越強,
在比較先進的系統上手刻組語也不太實際了,BIOS 那邊 UEFI 普及後也是整個 C 化。

TitanEric: 本科系淚推20F 07/10 09:42
tataTangQQ: 資工本來就很大部分跟IC設計有關21F 07/10 09:42
tataTangQQ: 現在一堆人只想到寫程式
sarafciel: 有做一波課程調整 現在這個學程表已經是輕減過的了23F 07/10 09:43
當然,以前塞那麼多課程根本是要大部分學生跳樓。
現在的小孩子那麼寶貝,繼續那種高壓課程會讓家長去大學抗議吧。

Argos: 簡單來說就是資工系教授的問題24F 07/10 09:44
也不是,只是程式能力在資工系不是主軸,教授覺得那跟裝修電腦一樣是你該自學的。

cphe: 組語現在不是必修了嗎?同意t大講的資工系的程式課其實很少25F 07/10 09:45
cphe: 其他專業課程來說,程式就是一個工具…實現的工具而已
其實只要學通一個程式語言,學其它的都很快,只是對 library 的熟悉度差異而已。
資工系是個很奇妙的東西,你從一門專業深入到根部,摸隔壁的領域會很快觸類旁通。
程式語言之間姑且還算同領域的東西,基本上你摸熟一個,另一個就是根據差異學習。
把 C++ 學通,TMP 那邊也弄通的話,就算遇到 functional language 也沒在怕了。
現在各種高階語言群魔亂舞,其實也不一定要從 C++ 硬闖了,很多舒服開心的路線可選。

vi000246: 好認真的文27F 07/10 09:46
cphe: 會認為讀資工系不重要,那是台灣的現況就是這樣,碼農為主28F 07/10 09:46
cphe: 如果除了基本寫程式卻用不到深入觀念的工作,本科非本科的確
cphe: 沒有很大差別
所以原 po 那種想法我覺得雖然自信過度,但也不是完全沒機會跟本科系的平起平坐。
只是要找到一個對的地方,然後他自身真的夠努力自學吧。

tataTangQQ: 寫軟體也就最頂端身價不菲,進豬屎還是主流吧31F 07/10 09:50
gravity067: 哇 鉅細靡遺 認真給推32F 07/10 09:53
BBSealion: 推這篇!講解清楚33F 07/10 09:55
sarafciel: 回去查了一下剩世強哥有開 所以應該是變選修了沒錯34F 07/10 10:03
pttworld: 大學的程式課程是助教在實習課帶的,教授走理論35F 07/10 10:14
更早期有講師的時代不是這樣,可惜台灣的評鑑制度把講師趕跑了。
powenyu: 推大神36F 07/10 10:19
senjor: 看完這篇覺得我在幹嘛,當什麼碼農...Orz37F 07/10 10:24
suninrain: 推~老師上課都是教觀念、基礎的,然後就說下周上傳作業38F 07/10 10:50
anr2: 朝陽同班同學 不得不推39F 07/10 11:02
anr2: 不過時代不一樣,現在學校太多,機會少,學歷還是必要的門
anr2: 票
anr2: 只能說這就是人生,相同條件不同時間點,能否發展還是很難
anr2: 說
好久不見,從畢業那天起就沒見過了吧,15 年了。

其實還好,有些在學生時代就嶄露頭角被企業看上的還是不太需要學歷。
只是那樣就有不少運氣成分,就是看上他的企業後來會不會倒,還有發展如何。
在網路和開放原始碼社群積極活動的話,還是很有機會被看上。
當然其實能出國讀 CS 和就業是最理想,台灣產業要升級還有很長的路要走。
花大把時間跟心力讀 CS 結果就業後用不到,其實真的是很可惜的一件事。

bnd0327: 認真文推44F 07/10 11:12
senjor: 其實最怕的還是領域不夠專,很困擾  Q_Q45F 07/10 11:21
當年的說法是資工重視專精,資管重視廣度。
學習階段不要太貪心去無限延伸興趣,鎖定一個目標專精的話,其實很穩。
不斷學習理論和實作,一直反覆渡過各種天險,即使同是資工人也很難搶你飯碗。
資管就偏向雲遊四海增廣閱歷那種性質吧,什麼都要摸一點,會比較有幫助。
兩邊的發展模式差異很大,不要把它們搞混的話,累積的時間會變成資本。
雖然資工最終難免需要跨領域,但那都是先專精單一領域之後的事了。
你把一個領域鑽研到精通,有時候走去隔壁領域只是回頭推開曾經路過的一扇門。
所以一開始真的不要急著四處亂開門,那只會讓你陷入複雜的迷宮之中。

lovdkkkk: 推46F 07/10 11:27
eggy1018: 推47F 07/10 11:48
j6309355065: 推48F 07/10 12:19
chongruei: 推個認真文49F 07/10 13:16
bndan: 只想到寫程式那是因為 軟體的世界舞台已經被架起來了..在舞50F 07/10 14:47
bndan: 台上秀的那些人 顯性特性只會看到"寫程式"...
qwer911: 淚推資工過來人 教授隨便講 作業自己練52F 07/10 16:46
CityRanger: 推53F 07/10 17:13
sharku: 推54F 07/10 17:22
peanut97: 我交大資工的,的確程式都是被要求自學為主55F 07/10 19:08
ku399999: 這回答太強了56F 07/10 19:59
LinuxKernel: 這篇正姐57F 07/10 19:59
Eric0605: 推58F 07/10 20:01
cha122977: 看完圖表後覺得為什麼要修物理/化學/生物59F 07/10 20:09
HowLeeHi: 推!其實我對資工為什麼要學化學生物有點覺得奇怪就是了60F 07/10 20:34
HowLeeHi: 物理如果之後要往電子/電路方面走的話還算是有關係
senjor: 生物其實在研究所這邊有生物資訊的領域就是62F 07/10 20:57
sarafciel: 物化生是三選一 算是第二個domain knowlegde吧63F 07/10 21:12
sarafciel: 不過裡面跟資工最有關的真的就只有物理啦XD
這個雖然讓我有點納悶是不是教育部硬塞的,但硬要冠個理由也不會沒有啦。
我讀科大的時候一年級也有個讀完就用不上的電子物理。

要說是為硬體路線鋪路,高職的電子學和數位電子學就比電子物理關係更密切。
高職電子學曾經也是非常紮實的課程,從 PN 接面材料性質開始講,一路到運算放大器。
最後面還有 AM、FM 那些通訊相關的東西,全部都有教。
但是後來被教育部砍了後半部,取而代之是強塞了一堆國英數歷史地理物理化學。

高職的電工數學也被廢除,微分方程、複立葉、拉卜拉斯那些電路應用全部被砍光光。
拖到大學工數才摸,給不擅長教學的教授上,本來可以躺著過的工數都會變得超痛苦。
有沒有教育學分的老師教學能力差距很大,高中職老師會專心鑽研幫助學生理解的竅門。
但是專心在發論文升等和做計畫賺錢的大學教授並不在意這些,什麼都會被他們教難。
工數和一些像是計組計結之類的重大科目常被排在大二,因為晚學壓縮到學習時間很虧。
現在科大一年級的新生早就連偏微分都不會,電路實作因為實習課被借去上別的不熟,
也完全沒學過運算放大器,矩陣也沒學過,早高中生三年的優勢早已蕩然無存。
我也不知道教育部的官員到底腦袋在裝什麼東西,不過聽說大安高工還有堅持在上就是。
硬是在大一塞一門電子物理,感覺有點像是在補救那些腦殘政策,結果更沒意義。

普大那邊會這樣排課程,往好處想是將原本高中學習的基礎收斂到專精領域的起點去。
但是不是真的有做到這個目的及發揮到這功能,我就不是很清楚了。

Harlequin727: 推65F 07/10 21:44
tkhan: 推,只有大一計概教過C,其他的課要寫的程式用的到語言都66F 07/10 22:12
tkhan: 是自己去學,老師只會叫你哪時要交作業..
其實真要強迫老師發揮教學功能也不是不行,就 office hour 殺過去問到底。
當年我班上那個第一名畢業的原 8+9 同學就是那樣問,無論如何就是問到懂為止。
畢竟人家回頭唸書就是為了找好工作養家養老婆小孩,沒學會對他來說是攸關生存的。
那股求知的衝勁我在後來讀的幾間學校都沒見過,很慶幸當年有這樣的同學在班上。

值得留意的是,有些教授雖有風光學歷跟資歷,但是就是不擅長一對多教學。
如果變成一對一教學,他就有辦法把你教好,office hour 真的要善加利用。
本來我都是一副你沒在課堂上把我教會就是你欠我的態度,後來也沒很堅持要課堂上懂。
如果 office hour 問過幾次發現成效不錯,課堂上我也不會那樣問到像在妨礙教學進度。

因為學校理論大都只有教 1/2 到 1/3 本書,所以我也是有去補大碩。
當年台中大碩經理很夠力,是全部科目由名師面授並親自留下來解答問題。
後來幾年才發現那是很奢侈的事,很多縣市的學生只能上 TKB,不見得能問到本人。
黃子嘉過世以後我也不清楚後來去上課的人怎麼學離散的,當年真的是可以隨便問到爽。
有老師可以問到爽其實是非常幸福的事,但無奈很多人當學生的時候不懂。
特別是數學的東西悶著頭研究三週搞不定,老師是可以三分鐘講到讓你懂,差別很大。

yenru: 推68F 07/10 22:23
xatier: 寫 compiler 好辛苦捏69F 07/10 23:04
還好啦,學生時期的前置條件多了一點而已。
有興趣的話那些都不是問題,沒興趣的話的確會過得很慘。

sc113943: 我學校組語還是必修啊...超痛苦70F 07/10 23:36
學組語就是要先認識硬體本身,然後就只是一個口令一個動作,和當兵一樣單純。
你叫它做什麼,它就會做什麼,也不會私下幫你做一些額外多餘的動作 (外部輸入除外)。
上課用的平台太高階的話,可以另外拿 8051 來練,單純很多,頂多再加顆 555。

一些老 BIOS 工程師反而很愛組語,他們覺得 C 是很不受控制的東西。
然後他們可以把 C 寫得很組語,相關產業的朋友給我看過,單 function 到底也常見。
對以寫組語為業的,他們覺得程式不能有任何不透明的地方。
像是 C 寫一行就會變成好多行組語的現象,他們會很沒安全感,像腳踩不到地一樣。
以前也有一段時間在幫這類朋友渡過這個難關,有很多感觸跟心得。
w199381: 看完受益良多 真心感謝認真文71F 07/11 00:19
s12358972: 什麼?是學長!推72F 07/11 01:12
jinmin88: 我記得還有修過數位訊號處理73F 07/11 01:32
dannypsnl: 推74F 07/11 01:46
HowLeeHi: 不過C算是最接近asm的高階語言了(或者說中階語言)75F 07/11 06:09
childlike12: 資工科課程像電子科,是因為當時有矽導計劃吧76F 07/11 06:16
我讀資訊科的時間是 1997 年 6 月,矽導計劃應該是我大三開始才聽到的。
目前任職的這間公司是矽導計劃催生出來的,成立的時間點是 2005 年。
HowLeeHi: 題外話,高職資處科也搞得很像商經科會計科…77F 07/11 06:19
有聽說過,當年有個去高應大讀資管系後來自己開公司的朋友當年是資處科。
他的程式基礎根本就是從國中開始自己打的,學校課程根本沒幫到他什麼忙。

說起來時間過得真快,當年整天在網路上寫東西亂搞的夭壽國中生已經快變中年人了。
dapple: 只能推了y78F 07/11 10:15
Ekmund: 離散那段很有感觸啊...很多落入邏輯胡同的東西,龜個幾天79F 07/11 11:50
Ekmund: 都不一定有進展,但實際上往往也是前人走過的某段路,問一
Ekmund: 下就有了。跟寫程式一樣,不一定每次都要自己重造輪子。
我想這就是本科生跟非本科生的最大差別吧,至少有整整四年可以問到爽。
資工人普遍又會讀碩班,讀到碩班發現自己不足之處還能再利用學校資源補回。
學分費砸下去就有整整一學期的時間有老師可以問,
何況有些學校在修滿學分以後再修其它的科目是不用學分費的。

除了專業技能,我也利用了學校通識資源在學生生涯最後階段把英文能力補上了。
雖然從小就靠兒童主日學教的簡單英文勉強看懂 man pages,但意義一直都很模糊。
國中高職的英文雖然有改進閱讀方面,不過高職英文終究是高職英文,太簡單了。
即便學校刻意派高中部老師來上英文課,也增加英文課時數,但難度仍不及國三水準。
我在高中部待的那一年上英文課學到的東西,根本海放高職那三年英文課。
難句結構拆解的部分,我拖到博班才一邊在外面補托福一邊在學校修英文課補回來。
其實長大以後從基礎重新開始學文法就沒以前辛苦了,我也不知道以前我在幹嘛。
自然語言雖然比程式語言複雜不少,但其實也就例外規則比較多而已。

雖然我不知道資策會在上什麼東西,但原 po 說他想靠資策會上課學,我就覺得不錯。
儘管沒有本科生有整整四年時間可以問,但也得知道要問,不懂自己權益的學生太少了。
自己報名去外面上課,只要拿出積極的態度去求教,也不是不能打趴混四年的學生。

sarafciel: 回T大 微算機實驗確實有寫組語 不過專門的組語課還會講82F 07/11 11:50
sarafciel: calling convention跟大小端序之類的細節就是
這一大堆東西統稱為 ABI (Application Binary Interface) 規格。
一般拿到一顆處理器,它的 ISA 文件或 programming guide 就會寫明。
單一組語課大概最多就學到一個平台的 ABI 吧,換到其它平台就要有舉一反三的能力。

這樣看來大概只能從編譯器的課程補回了吧,編譯器再被拔掉那就比較頭痛。
編譯器課程大都會拿個像是 MIPS 或 ARM 的平台當目的平台,要輸出那個平台的 ASM。
只看必修課的話最後的機會就是在這補了,畢竟 C 跟 ASM 溝通是頗重要沒錯。
不過現在很多人都靠 inline assembly 了,很少人會另外再寫個純組語 function。

sarafciel: 儘管compiler越來越強 我還是覺得資工出身的要有高低階84F 07/11 11:55
sarafciel: 通貫的視野跟企圖心 不然寫底層的容易見樹不見林
sarafciel: 寫高階的容易見林不見樹

那是當然,資工出身的在學 C 時就要會去看 compiler 輸出的組語。
我也一直很強調要會分別手動操作編譯器、組譯器和連結器,搞懂那些在幹嘛才叫會。
不過這些東西對大學教授而言似乎都是玩家範疇,不一定會想要教,還是得靠自己。
理想上修完計算機結構,起碼寫一行 C 要知道 datapath 上的訊號怎麼走了。
不過學校教授並不會做出這種要求,自我要求不足的話就會在中間出現知識斷層。

現在工作上偶爾要去看 RTL simulation 的 waveform 來找未預期的 hazard 發生原因。
雖然說直接丟給 HW 看也可以,但是那邊好像隨時都在忙,與其去等不如靠自己。
畢竟跨部門的東西最好先釐清問題責任歸屬,免得最後被抓到是自己的問題丟臉。
某方面來說這類能力反而才是當年資工系成立的意義吧,也就是成為軟硬體之間的橋樑。
就算不能親手解決這類問題,起碼也要有分析和釐清的能力,不然真的就是白讀。

從小到大常聽到很多人會開玩笑說看得懂機械碼的才是真正的專家,
但其實機械碼經過 decoder 分流以後在每條線的流向及 mux 的選徑才是重點。

stayfantasy: 推 版大能否分享debug與log日誌使用的心得嗎?87F 07/11 12:36
這題目太大了,窮舉不知道可以寫幾本書。

starzodiac: 是t老師耶 哇!88F 07/11 13:19
pig0038: 感謝分享,推一個89F 07/11 13:38
xatier: 推懂底層要整套編譯組譯連結都要摸一遍  不過小的覺得還是90F 07/11 15:21
xatier: compiler 本身 middle end 到 backend 這段最有趣 XD

現在 compiler 領域的主要研究也是在這了,畢竟創造語言這檔事比較沒搞頭。
middle end 和 back end 主要分別在做平台無關和平台相依的最佳化,
裡面通通都是數學、圖論和演算法,資工所考科的東西幾乎都可以砸進去玩。
這領域算是極少數可以所學即所用的東西了,完全不會有大學白讀的感覺。
目前 GCC 7.2 這兩段加起來已經有 300 道左右的最佳化工序。

下 gcc -fdump-tree-all-details -daP -S 可以看到中間的完整流程輸出,
參數裡的大 P 可以在每道 assembly code 上印出對應的 back end 中間碼,
那是一個叫 RTL (Register Transfer Language) 的東西,
去官網找 GCC Internals Manual 可以查到它要怎麼讀。
這指令輸出的 <數字>t.xxx 檔就是 middle end 每一道最佳化的結果,
<數字>r.xxx 檔就是 back end 每一道最佳化的結果,
xxx 是那道最佳化名稱的簡稱,一般會和 -f<xxx> 選項相對應 (偶爾有例外),
man gcc 搜尋一下的話可以看到那道最佳化的作用大概是什麼。

實際上一些 GCC 的 power users 也會看這些東西,它不單是給做 GCC 的人看而已。
因為在 embedded system 上最佳化很受重視,看懂它就可以知道哪個步驟沒做好。
所以 GCC 的 BugZilla 上會看到一些不是做 compiler 的在貼這個回報最佳化問題。
Void956: 學長 推一個 C++ 第2母語 XD92F 07/11 19:29
Void956: MSDN 是教我最多東西的老師
Ekmund: 樓上 那是第一個 未來教最多的就是StackOverflow了94F 07/11 19:57
Void956: 另外可以問一下 現在學那方面的東西比較好拿到較高的薪水95F 07/11 20:07
Void956:  或者是那方面的產業?
asleisureto: 現在喔,當然是學前端,板上一堆兩年破百的前端工程97F 07/11 21:18
asleisureto: 師
senjor: 我都後悔沒學前端了,幸好還來的及往全端走 (ry99F 07/11 22:38
※ 編輯: tinlans (122.116.164.123), 07/11/2018 23:18:10

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 806 
作者 tinlans 的最新發文:
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇