我是在CIM部門的Central Team裡PDD組實習。
公司整個IT部門分為兩大類-ER和CIM。
Central Team分為以下的組別:
PDD(SA Team):負責廠內物料管理(BOM)及查詢(FAWEB)系統分析及需求訪談。
CCS(Project Team):負責廠內機台自動化程式(OLP)開發。
CMES(Project Team):負責廠內製造執行系統(MES)架構轉換 Client To Server。
CCIM SD(SD Team):負責將SA&Project 提供的系統分析文件依照系統流程做程式開發。
我目前主要工作為修改及測試FAWEB網頁上內容和完成工程師所交付工作。
主要工作為修改及測試FAWEB網頁上內容和完成指導員交付工作。
在9月轉組到PLM下的PDD組。工作內容目前大致相似。
公司介紹
日月光半導體製造股份有限公司為全球第一大半導體製造服務公司,自1984年起提供半導體客戶完整之封裝及測試服務,包括晶片前段測試及晶圓針測至後段之封裝、材料及成品測試一元化服務,以及完善的電子製造服務(Electronic Manufacturing Services, EMS)整體解決方案。
營運地點分佈高雄楠梓、中壢、南投、中國昆山、上海、山東、蘇州、深圳,還有馬來西亞、新加坡、韓國等地。
公司地點位於內壢家樂福附近,離內壢火車站近和元智大學都距離都非常近,附近也有許多公車可以搭乘,且周圍也有許多商店,生活機能是不錯的。
工作內容
從開學開始實習到五月中,不知不覺也實習了將近三個月的時間。從一開始對公司內部系統、工作常用網站和專門用語等事物都不了解,到現在已經漸漸熟悉和了解系統及網站之運作與功能。
部門主管在我們一進公司時,就幫我們每一位實習生分配一個指導員,讓我們有問題可以有一個專門的人可以問問題,這樣就不會有有問題,而不知道該問誰的狀況發生。而每位實習生的工作也大多是由指導原來安排,除了原先第一份工作是由全部工讀生一同負責,因為檔案有太多需要修改。部門大家之間氣氛也很融洽,不定時會有聚餐和休閒活動等。
在實習開始的當週,主管就直接分派任務給我們,讓我們從做中學習。一開始聽主管講解工作要做什麼時,以為應該蠻簡單的,就是單純改資料庫而已,但沒想到,當實際開始改程式碼時,因為對公司系統和網頁環境種種的不熟悉,所以先自己摸索和與其他實習生討論後,才開始了解網站的基本程式碼和功能,工作才慢慢上了軌道。
5月因為疫情大爆發,而暫停實習,到了8月初終於恢復實習。一回公司上班,就馬上接到新的工作-報表VB轉C#,這份工作開始難度變高許多,首先光看懂原本VB版本的程式,我就花了好多時間去理解,再把它改為C#版本,總會因為一些邏輯或小地方沒注意,導致在測試時,不斷跳出各種小問題,但因為小問題積多而延伸大問題,導致在找錯和解決問題時,總會花上不少時間。但在過程中,也學習到許多程式語法。
原本的部門是CIM部門的Central Team裡的CCIM組,因為前陣子這個部門在大改組,所以全部工讀生和一些正職,都一起轉到PDD組。原本聽到消息很震驚,因為都沒有聽到其他工讀生有被轉組,但還好新部門的主管再轉組前有先和我們介紹先介紹新的部門和轉組原因等,讓我們事先做好心理準備,且目前工作內容並沒有太大變化。
從恢復實習後,開始有了真的上班的感覺,因為之前都只會來公司上三天班。暑假學到好多新的程式用法,看程式的速度也加快很多,也因為這次分配的工作,讓我更加體悟到自己程式能力非常不足,常常花上許多時間在理解程式邏輯和程式的運作,碰上錯誤時,解決問題的能力也略顯不足。但透過多問多觀察,讓我有慢慢感受到進步的感覺。
實習逐漸進入尾聲,工作也漸漸比較上手,找錯能力也大幅提升,也慢慢知道哪些語法和用法是容易出錯,要避免使用。聖誕節,主管有安排我們工讀生和正職一起玩聖誕交換禮物,讓大家彼此認識。
程式撰寫
公司的許多網頁都是用C#來寫。目前實習分配到的工作,全部都有運用到C#。
實習時,發現學校課程所學的程式語言,真的只有碰到很基礎的觀念,要深入的運用,實在非常困難,這導致在工作時,有好多的用法和功能都沒有看過,所以在修改網頁時,了解每行程式碼所表達的意思無形中變成了工作的首要任務。
Debug
在公司所面對的程式碼普遍都是幾百行起跳,不再像之前學校課堂所遇到的程式碼只有短短幾行或一兩百行之內。當程式碼出錯時,常常要花很多時間找到錯誤是在哪裡。後來學會如何使用Debug找出程式碼中的錯誤,才開始會利用設中斷點,看每個變數的變化,找出是在哪出現問題。
筆記
在實習過程中,才發現筆記的重要性。每次當遇到不懂或沒看過的語法,都會把它們給記下來。之後,上網查詢,若再不懂才會詢問同事或指導員。當瞭解完意思後,並試著理解為什麼要用在這裡。
之後遇到同樣和類似問題和狀況時,也會先翻閱筆記,看能不能找到答案,這樣就不用去詢問別人。
心得感想
學習
資料庫更改
首先更改程式碼,把被分配到的程式中所有有關資料庫的語法(包括連線、新增、刪除和更新等),進行修改,並註解,寫更改原因。再把修改完的檔案放入測試區,進行測試。
測試原本報表所有功能(Insert、Update、Delete等)是否有順利連到新資料庫,並對比新舊資料庫內的資料是否正確。
最後彙整資料,紀錄每個檔案有使用到的Table,是否有新增刪除更新功能和Schema和Function紀錄,且回報新資料庫所缺少的Function和table等和測試報告截圖與統整。
新增報表欄位
網頁部分先新增權限項目、再新增五個選項,並於程式內寫入新增五個選項的卡控條件。卡控條件,只能輸入的工作編號,否則無法上傳資料成功,不符合卡控的資料列會反紅。
網頁報表呈現,先是欄位要增加新增五個選項之工作編號以及分機號碼欄位(共10個欄位)。且工作編號那欄,顯示資料為此工作編號的員工姓名。
因此呈現報表時,也需要經過一道程序。找出員工編號對應員工姓名。
資料庫存入資料為工作編號和對應分機號碼,上傳資料則為xxx_code、工作編號。所以,不能直接把資料存入資料庫裡,需要一道程序。利用工作編號,去其他Table找,此編號出的分機號碼,之後才可以把資料存入資料庫中。
報表由VB轉C#
這次工作,由正職工程師,幫我們實習生分配各自負責的報表,且提供我們可以參考的報表程式。我分配到的報表有:Insert、Update、Delete、Maintain和History的功能。主要是把這些功能分別轉化為C#,程式運作邏輯不用更改,只要改語言的用法。除了功能改寫,網頁部分也需要改版本,因為VB版和C#版網頁呈現有不同。但網頁呈現的排版還是要與舊版頁面相同。
因為我的報表VB版是用表格呈現,所以改成C#版本時,頁面調整了許多次。且我的報表卡控非常多,在改寫這些卡控Function也先花蠻多時間理解。
最後改寫完這些功能,便自己先在測試區做測試且做測試報告,之後正職工程師會再幫我們丟給User做更詳細的測試。