Try   HackMD

2024 年「資訊科技產業專案設計」自我評分須知

動機

本機制啟發於〈自己的成績自己評?一堂大學校園裡的「多元評量」實驗〉,摘錄:

  • 「台灣社會一般還是認為考試最客觀其實這些評定方式除了剝奪學生自我評估與負責的學習與發展,也少了一項最重要的看見 ── 學習歷程」
  • 「自評的另一重要意義,就在於讓同學自行述說從老師端、成果端所看不到的過程」
  • 「當一個學生能夠學會思考與自我評估,她/他就不會再隨波逐流地念書,而不知道自己到底對什麼有興趣、自己到底在念什麼,台灣社會也才有機會逐漸走出一窩蜂與魅力領導型政治與社會型態」

評分規範

  1. 依據 資訊科技產業專案設計: 課程介紹 所及,自我評分佔總成績的 50%,請學員務必重視涉及自身權益的議題
  2. 在自我評量中,應提及自己的所見所聞、參與作業、批評其他學員並從中獲得的啟發、校友心得分享和對談過程中的認知、如何逐步逼近自己設定的科技公司職缺目標、是否想懂「你我都值得過更好的生活」這樣的課程目標、求職演練和模擬面試的投入狀況等等 (請列出超連結和足以證明自己投入的材料),不少於 500 字 (Unicode 字元)。當然,最後要有自評分數,即 1 到 10 分之間的整數數值
  3. 除了前述自我評量,學員也該附上針對自己期望工作職缺的 簡歷,加強授課教師對學員的認識 (簡歷務必放在信件附件中,但你不用針對簡歷進行自我評分),也要附上「職務描述和自身符合狀況分析」,不少於 200 字 (Unicode 字元),且這份分析應至少經過課程中校友交流活動的其中一位校友指導與建議。
  4. 基於課程透明度的考量,授課教師可在日後於資訊科技公司主管的詢問和推薦過程中,以上述學員提交的自我評量作為佐證學員表現的依據 —— 因此,請學員務必將自我評量看作能夠表現,對自己的行為負責
  5. 關於「校友交流」,務必主動藉由 LinkedIn 聯繫至少 2 位校友 (記得附上自我說明和設定的目標,授課教師也算校友),並與之討論你現在的狀況
    發訊息前,儘量詳盡介紹自己。校友包含授課教師
  6. 課堂問答是證明自身參與的重要參照,包含與授課教師直接的互動及校友交流的提問,你該針對這些彙整自身的認知
  7. 在 2024 年 9 月中旬到 2025 年 1 月 19 日之間,若你已實際與資訊科技公司進行面試 (phone screen 起算),則可列入評分素材,也該談及自身表現和檢討
  8. 務必提供針對上述的實際證明,諸如和校友互動的時間、課堂問答的進行時間點,和實際參與公司面試

範例

我在資訊科技產業專案設計這堂課學到的東西我會以下三個方向來討論 :
一、學習看清自己的能力。
二、學習如何展現自己的專業能力給別人。
三、學習找到綠點(好的機運,好的人)。

背景 :
大一我讀國立臺東大學資訊管理學系,那時很想讀資訊工程系,因為我不想還沒人管的時候就學管理學,我在資管系跟電腦有關的課程都表現很好,以為自己來資工系也可以用同樣的學習方式。後來我真的轉學到資訊工程系後,一開始的時候都跟不上大家,我連 BFS 跟 DFS 寫三天幾乎不眠不休都寫不出來正確的程式,看同學可以很快的寫完,我就覺得很難過,我看到以前寫的日記,內容大概每天都是好希望自己有一天可以跟助教出那些有水準的題目,跟同學一樣上機考拿高分,我大二的時候上機考考大概 100 多名,就是倒數的。

之後上老師的資訊科技產業專案設計這堂課就是要刷 LeetCode,我一開始第一個作業就覺得很累,因為相當於就跟上機考一樣,還要用我自己最糟糕的英文。我剛開學的時候都跟同學抱怨自己開始準備老師的作業就會開始覺得自己寫的程式很糟糕,反應不夠快,一直貶低自己覺得自己什麼都做不好。

學到什麼 :
後來我每次上課聽到老師都說什麼「看到是成大的校友就立刻點建立連結」,「你我都值得更好的生活」,「要一直去面試」等這些叫我們要勇敢一點的話,我就開始回憶起來自己進步的方式 :
一、因為我看到很多比我厲害的人,想認識他們,因此我都會積極主動找人講話。
二、透過認識比我厲害的人知道自己哪裡不足就花一堆時間去補。
三、要勇敢承擔風險,夢想要比別人還大。
我發現會進步的主因是我會在遇到緊張的時候勇敢決定放手一搏,像是一開始看到別人的 Linkedin 都會不敢點,後來都聽到老師說看到就點下去,現在我都養成一個習慣都在找哪裡我還沒點的。這是我覺得在這堂課對我很受啟發的一句話「你今天不按,明天別人根本當沒你這個人」。

學習找到綠點(一) : 這句話不只用在 Linkedin 的點擊上,我還將這個精神貫徹所有的事情。之後我在研究所推甄的時候請老師幫我看申請資料。之前覺得自己的經歷沒有什麼特別之處,所以我沒有勇氣拿給別人看,後來因為老師上課很多鼓勵的話,我開始厚臉皮,找到我有值得被別人認識的自信,所以我就請老師幫我看申請資料。

學習如何展現自己的專業能力給別人(一) : 後來老師在幫我看申請資料的時候有教我怎麼展現自己的專業能力給別人看,但我覺得我現在還是沒有學習得很好,不過我至少學到一件事情就是「不要用形容詞,所有都要是人事時地物的具體描述」。

學習看清自己的能力(一) : 原先我打算在大四升碩士的暑假,把我的英文學習好還有認真做中研院的研究。然而我聽到老師上課說一有空閒的時候就要去找工作機會,不論是否是找到更好的工作機會,也可以視為一種練習面試的機會。我聽完後得到啟發覺得這是一個需要持續培養的資訊能力,要不斷地更新自己的履歷,因為更新自己的履歷也是審視自我有沒有進步的時刻,看清自己的能力。此外要持續寫 Leetcode,演算法與資料結構這些最基本的東西。而面試也是一種訓練梳理好邏輯思維到清楚表達溝通的能力,因為這就是工作的縮影:處理自己的思維,實作,並且跟同事合作溝通。多花時間磨練這些能力,絕對會有派上用場的時刻。

期間我收到 Google interview (Software Engineer, University Graduate, 2024. Google) 的邀約,這是以前的我從來沒想過的事情,同時也知道這是一個契機能讓我在未來有機會擁有更好的生活,雖然敗在 phone interview 上,但我得以踏出自己的第一步,並且起碼能夠回答並以 C++ 實作出面試的題目內容,雖然面試絕非只是寫題目而已,我還有很長的路要走。

關於「校友交流」 - 學習找到綠點(二) : 因此在這次作業中老師要求我們尋找Linkedin上的學長姐討論自己的狀況,改變了我原先的規劃,我覺得我今年也要去實習,要尋找自己更多的綠點,去認識更多厲害的人與不同的工作環境,同時學習新的技術。要把握自己的每個假期去學習。所以我不只找了 Felix 請他幫我內部推薦 Google 的實習,還有與學長 Mel Huang 分享我的近況,也請他幫我內部推薦 Nvidia 與請學長幫忙我找認識的人內部推薦到 Yahoo 的實習,在這個過程中發現校友的力量之大,也謝謝他們很善良。而 Felix 在分享的時候跟我推薦的論文 "Teaching Arithmetic to Small Transformers",我也將這個點子與其他同事討論,研究如何設計一個Detailed Scratchpad 讓接在後面的 LLM 更容易去理解。這些事情是我在這堂課學到對我影響很大的事,與人交流的重要性,同時保持開放的心態去學習接收新知,這是在資訊產業中特別的文化 : 溝通互動分享。

學習看清自己的能力(二) :
這堂課中我發現要去瞭解產業趨勢的必要性,老師上課說「那些大公司打架的時候就是我們的工作機會」。觀察大公司現在競爭什麼領域,那些領域勢必有他的重要價值存在,掌握了一個技術可以彎道超車,而大公司為了競爭勝利,會在那裏投資大量的金錢與人力。而我們就可以從中找到自己的職缺,趁機會進入大公司。同時,也思考自己與現在的就業市場所嚮往的職缺還有多少差距。取補足自己的不足,讓自己在機會來時有能力抓住,這是學習看清自己能力的重要。由於我剛好這學期在準備研究所推甄,即便我覺得自己有高機率不會去清大或交大讀研究所,我仍然覺得自己一直去認識很多實驗室,也約了很多教授做面談,除了留給自己後路以外,我也把牢記老師上課所說「要把面試這當作鍛鍊自己的機會」,不僅可以瞭解該領域在做什麼,也藉次加強自己如何在專業人士面前展現自身專業能力。雖然要約教授面談會需要花費時間去看過教授的著作,但卻也無形讓我累積很多問題,知道自己問了哪些問題除了可以滿足求知慾外也可以展現我有做足功課並且該問題是需要有相關的背景知識才能夠問得出來的。這是我在面試過程中學習到最多的。而面試最後教授都會問有什麼想問的,我就勇敢的提問他對電腦視覺跟電腦圖學之間的關係的看法,最後那位教授的想法也影響我,讓我面試其他教授的過程將其轉化為我的想法。

學習找到綠點(三) : 我在跟老師吃飯的時候,發現老師有一個口頭禪就是,「那我很好奇。」,我覺得這是一個很好的交談技巧,希望交談對象更詳細的說明,不只補足知識盲區,投入談話中也讓別人知道自己感興趣的地方,如此交談對象也會更願意多說一些細節。此外,我還在品謙學長看到很振奮人心的過往,我覺得學長就是意識到自己值得過上更好的生活。因為要先相信可以過得更好,才會有更多努力的動力,他雖然文憑沒有其他人好但透過積極的學習態度現在的實力比很多人強。同時為了讓自己過得上更好的生活,就又要看清自己的能力,為了讓自己能夠有自信地說出「因為我,所以我值得」這樣的話會讓保持進步的動力去強化「因為我」的事實,這也讓原先沒有自信的我找到克服貶低自己能力的決心。不要貶低自己的能力,當發現自己有不足,就是趕快花時間強化弱點,給自己更多證明自己值得更好的生活的例子。只需要專注在努力上,不需要將自己的情緒考慮進去,因為貶低自己的負面情緒往往來自於意識到自己有多糟糕,同時也看不到希望。而之所以看不到希望,是因為都沒有在進步停留在原地,因為停留在原地淺意識說這絕對不會成功。所以要避免負面的情緒唯一治本的方式就是給自己信心,而給自己信心就是用行為證明自己還在進步,付出心力去走向成功,當知道自己走在進步的道路上,相信有一天會付出會得到回饋就不會再有負面情緒了。持續努力直到能夠完整地說出因為我付出過了什麼什麼,所以我值得過上更好的生活的那刻。

這些是我在這堂課學到最有意義的事情,了解資訊產業的生態是要不斷地認識他人(綠點),尋找自己的機會(綠點),培養自己的能力,讓自己不斷地進步,這樣不僅讓自己在任何狀況都可以應對處理,與此同時也要清楚快速地展現自己的專業能力給他人看,如此才會吸引更多綠點願意幫助自己,這是一個正循環。這堂課讓我開始認識科技產業的文化,因為這堂課我收穫了很多,交到很多好朋友,認識很多有膽識的前輩,讓我知道自己在就業前到底還要準備什麼,看到前輩們有過人的勇氣與幫助別人善良的心,讓我也想趕快去科技業經歷很多特別的機遇再回來分享還要幫助別人。

關於我在本課程的投入,請參見以下超連結: (檢討是必要的!)

  • 作業一 / 檢討
  • 作業二 / 檢討
  • 作業三 / 檢討
  • 作業四 / 檢討

作業一檢討
關於 REACTO 流程 :
在做這個作業的時候一直想著 REACTO,也因此在想下一個想法,或思考要講什麼的時候變得比較順,尤其是在英文題的時候,REACTO就是一條帶你走向面試終點的繩索。起初在練習的時候由於不熟悉流程,我看了多次REACTO的影片,還把網頁的內容都抄寫一次以確保自己對整個流程瞭落指掌。也因為我前期都覺得自己有點像是提前預知答案上場作答所以一直在練習怎樣講得順。

關於題目包裝 :
後來聽老師在作業一的檢討後得到要將題目包裝的啟發,我也開始嘗試將題目包裝而不是用原先Leetcode的題目,讓面試的過程增加了互動溝通就不會那麼制式的走流程。同時包裝題目也讓面試者比較不會是被答案來通過測試,考驗臨場反應。

關於程式環節 :
在作業一,我花了很多的時間講解我的思路,同時也會用pseudo code的方式記錄,讓自己在寫code的時候可以方便回去對應,此外不只是回答此題的複雜度外會給予解釋。由於解釋每一行程式碼帶給整體演算法的複雜度後,我便可以分析哪些地方是已經沒有機會去優化,哪些地方是還可以優化的,而不是只是給出另一個優化版的程式然後說這個程式複雜度為何,因為根據老師上課的分享,我學習到一個精隨就是要多溝通讓面試官知道你的思路是正確的最有效的方式就是將我的想法清楚的表達出來。我嘗試過後也覺得這是最適合我的方法,可以讓面試官先跟我順過一次思路,以便我在寫程式的時候,面試官可以快速理解我的程式目的。同時我也可以在寫程式碼的時候有清楚的想法參照。

關於英文台詞 :
雖然我在作業一的英文解釋上仍然沒有很流暢,但是我在練習的時候發現一件事情,如果頭腦記住一些描述一件事情的文法,情急之下都會拿那些句子出來描述。所以我在準備英文面試的過程除了多去講以外,平常也可以擴充自己的英文資料庫,讓自己多學習一些常用的句子,像是 "There is an array, and the element stored at index 0 is","One number modulo another is" 都是常使用的。

作業二檢討
關於他評回饋環節:
在作業二除了選一道同學的題目給自己作練習外,還需要對其他五位同學以上作評論。我做評論的對象為 "祥變牆他評02"、"麻花捲-tasty他評02"、"塔塔-Jennifer他評-02"、"肯尼-Ken他評02"與"矮鴨-Oopsy"在他們的評論中也給予時間點的feedback。由於有了第一次經驗與看過許多人他評的回饋,讓我可以更知道哪些問題是對同學比較有用的,像是在"祥變牆"評論「可以嘗試快速用虛擬碼在五分鐘內釐清思路。直接說有點困難會讓對話難以繼續」、「將方法寫在文件檔裡面,方便 interviewer 了解interviewee再說什麼,之後 interviewee 實作過程中也可以回去看」,是因為我有自身的經驗所以分享給別人用,也會在他人的身上看到自己的影子。同時,老師說給予別人建議不需要再加上「我建議」、「我認為」、「你可以」的客套話,因為這無助於溝通。這件事情讓我學習到很多。我會在往日當身為給予建議的一方時,大方地建議評論,而不是扭捏委婉地說。

關於程式環節:
由於有了第一次作業的經歷後,我現在變得比較會包裝題目。我將題目巴斯卡三角形包裝成 n 個同學去排隊抽籤,總共有 m 個籤總共有幾種的排列方式。希望透過這個題目設計順便看面試者如何去用這樣的思維解題。為了講好這個題目的思路,我用這樣的排列組合數量為

n1 個學生 m 個籤 (第一位學生沒中籤)的排列組合數量 +
n1
個學生
m1
個籤(第一位學生有種籤)的排列組合數量。透過這樣的方式讓題目變得不再制式地靠公式,也可以真正去反映出面試者是否真的理解巴斯卡三角形意義。最後也再每次的作業給予總體初步檢討。讓自己多一次審視自己的機會。

作業三檢討
關於尋找職缺:
在尋找職缺,分析他們需要的能力後,清楚知道自己缺乏的能力 : 前後端,K8s,分散式運算與資料庫設計。由於這個環節我更知道老師上課說要我們多去嘗試面式的原因。因為看到職缺,可以知道現在企業都想要什麼能力的人,同時也藉此不斷檢視自己與夢想的職缺還有多少的差距。唯有學會看清自己的能力,才能知道自己要著力的地方在哪裡。這就是練習面試最大的目的。

關於設計面試題目:
我印象最深刻的是作業三的設計題目,在這次的作業中我將自己對於那個職缺需要的能力進行分析,像是分析 Appier Software Engineer, Machine Learning 的職缺,由於 Appier 是一個business to business 的企業,會將自身的服務賣給其他企業。同時我也詢問過在該職位上的前輩他的工作內容,是做推薦系統的,因此在包裝題目的時候我將自己在圖機器學習學習到在圖上節點如何 propagate feature 給 neighbor 的知識用在推薦系統的任務上面。還有像是Mediatek深度學習與機器學習的職缺需要一些硬體 IC,我設計了一個 VLSI layout 布局的成本的提問。將演算法的複雜度問題用在布局上面,這道題目不是考驗面試者的解題能力,而是可以從回答過程中看出他是否理解演算法優化,該下手的地方是哪裡?是可以透過分析數學化後的式子尋找突破口,而不像以往的 Leetcode 那樣只是背解答,與換演算法與資料結構,來降低複雜度。

關於理解職缺的需要:
我額外去尋找一些資訊以理解這個 Mediatek 這種 IC 設計公司為什麼會需要 AI 技術的人才,並把它融合道面試題目中,詢問面試者「該演算法能夠大幅度減少 VLSI layout 布局的成本,想請問身為機器學習的系統工程師要如何實現?」。由於有做過功課便可以說明「透過強化學習讓機器學習去預測晶片最佳電路區塊位置與形狀,以大幅縮短開發時間並建構更強大晶片,因為現在晶片設計越趨複雜,人工設計很難在短時間內達成效果,而透過模型預訓練技術在原先的晶片設計上,當需要更複雜的晶片設計時,能夠運用原先學習過的參數微調到新的晶片開發上」。讓我知道我在面試前除了將自身的能力準備好,也可以透過企業的角度去思考這個職缺存在的意義,除了讓在面試時展現對這個職缺與這個企業的了解外,還可以藉機知道這些產業現在的趨勢,與大企業想要往哪個領域發展,同時再多思考這個職缺對於這個企業的重要程度為何?一舉多得。

作業四檢討
關於他評回饋環節:
這次作業我給對"哈囉hi"與"追光者"給予他評,有了上次給予他人他評的經歷,我這次給建議都是直接瞭當,沒有無意義的溝通語助詞。同時也看到同學對自己的自我初步評估,像是分析滑鼠游標一直轉圈,還有擺頭的原因,也因此我給予別人回饋的時候也會後面補充說明這樣做有什麼優點與缺點。也因為老師上課說都是自己的想法為什麼還要說「我覺得」,雖然我這已經幾乎是口頭禪了,但是認真思考起來很沒有意義。我在以後面試的時候如果是我認為對的事情我會盡量嘗試直解了當地說「是」。如果不確定的話,也會提出疑問比如「但我對有疑慮,疑慮在於」。讓自己嘗試清楚有效地溝通。

關於面試同學的環節:
在這個環節中,我跟同學有私下練習了數次,最後一次才成為錄影的內容。在私下練習的時候,原先同學並沒有很在意為什麼一個數字尋找開根號的解可以直接從該數字的一半以下去尋找,而是直接更改程式碼。由於我當面試別人的人想看到同學思考優化的想法是從何而來,所以我就問他。因為我也忘記以前高中是怎麼學的,我與同學花了很多時間在尋找證明這個優化方式是沒問題的數學推導。我在這個過程中學到面試的時候要真的清楚明瞭每一句講的話的由來,不然會被面試官認為是自己突如其來的想法,一問卻發現完全不知其由。而我認為這個準備的方式就是平常對於學問多保持好奇心,要知道原理的由來,同時觸發思考可以應用在哪。加深知識點與知識點的連結。此外,在最後一次錄影的時候,我看到同學程式碼寫錯的時候,想出一個問題去引導他去改正的瞬間,讓我學到提問要如何觸發思考且不透漏正確答案的方式。

關於同學面試我的環節:
在這個環節我表現得不好,因為對於一個演算法我會試著用很多的思考方式切入,以至於我會沒有辦法控制時間,因為需要花很多時間去描述特殊的想法的由來,並且用數學邏輯證明他是真的可以確實執行的,在先前的所有作業我都要求自己可以先描述想法後用數學推倒或是考慮很多例子確認想法執行順利,寫出虛擬碼後再寫程式,對於程式的複雜度再詳細說明由來。然而這次作業四發現這樣的過程讓我缺少與面試官的互動,可以解決這個問題的方式一:先詢問面試官接下來的環節是否必要,比如問「我可以寫出虛擬碼嗎?」與「需要對於複雜度提出細節說明嗎?」這樣至少可以多做互動不會讓自己一頭埋進去講導致面試官難以插話詢問問題。因為我的夥伴說他都找不到時機問問題。所以我認為我可以講話的時候學習多一些停留與停頓讓別人有機會與我互動,這樣也可以避免我一直講,講錯了還找不到正確的方式。

由於身為大四升碩士的學生,我的夢想職業是去皮克斯擔任動畫師,因此我在未來碩士階段我規畫加強自己的英文能力預期在碩士畢業後能夠去美國再讀一次碩士比較容易得到簽證才可以去皮克斯上班。但因為我對電腦科學這個領域很感興趣,對於能夠學習與掌握其中有趣的技術有熱忱,我喜歡探索演算法與資料結構的巧妙運作,也很驚豔能夠運用日常的經驗與韌性的思維設計電腦系統的想法,看到自己能夠運用AI的技術完成人工不能做到的事情很有成就感。我認為電腦科學是一個很彈性的領域,他可以是專業也可以是工具,可以為電腦科學的技術做出貢獻是專業,可以運用電腦科學的技術在其他領域解決問題是工具,這讓這個產業會與其他產業不斷的合作。但最讓我興奮的事,我希望資訊素養是我的專業能力,培養這個能力間接強化培養我遇到問題解決的能力與挫折面對的勇氣,我希望能運用這個能力去實現我想完成的事情。這也是我除了增進自己電腦圖學的能力外,也想去了解其他電腦科學的技術,認識其他工作環境的主因。而這堂課在每次我猶豫不敢踏出去的時候,都會聽到老師的聲音叫我們要一直去面試、有空就投履歷、看到 Linkedin 校友立刻按下去拓展人脈、不斷地溝通、學習展現自我的專業能力是一輩子的功課。因為這些鼓勵人的話,所以我在今天暑假也想要再去實習一次,讓自己有更多機會去磨練。以下是我目前已申請與預計要申請的職缺。

附件是我的簡歷,針對的工作職缺是

  1. Google 職務描述和自身符合狀況分析
  2. Qualcomm 職務描述和自身符合狀況分析
  3. MediaTek 職務描述和自身符合狀況分析
  4. NVIDIA 職務描述和自身符合狀況分析
  5. SiFive 職務描述和自身符合狀況分析

:warning: 本範例沒有展現相關的內容,但學員務必誠實面對自己並詳述優缺點分析

繳交方式

  1. 2025 年 1 月 8 日起,以國立成功大學提供給學員的電子郵件信箱寄送到 <jserv.tw@gmail.com>,信件標題固定採「資訊科技產業專案設計 (2024) 學員自我評量: XXX-FFF」這樣的格式,其中 XXX 為學員的正式姓名 (應該跟選課系統上列表一致),而 FFF 是學員的學號。信件內容需要符合前述「評分規範」,並儘量以純文字表述 (可接受額外的投影片來加強表示)。若學員提供資訊不齊全,將會造成授課教師無法完成學期評分
    • 自評分數務必使用整數,且要反映出你的實際產出,自評內容可能會由授課教師提供給公司行號的主管參考,請斟酌
    • 信件「內文」就該包含 完整的自我評量,超連結的列出只是佐證
  2. 務必在 2025 年 1 月 20 日 11:59AM 前「寄出」,學員最遲會在 2025 年 1 月 20 日 22:59 收到來自授課教師的確認信件
    • :warning: 授課教師可能會要求學員改進自我評量和個人簡歷,請務必及時回信