top of page

壹、工作內容

一、工作詳述

我目前是在日月光中壢分公司(簡稱ASECL)ERP部門的DC(Data Center) Team,而整個IT部門有分為兩大類,分別是  ERP(非產線相關)及CIM(產線相關),ERP為企業資源規劃系統,CIM(電腦整合製造)則再細分為MES製造執行系統用來管控生產流程與 FA工廠自動化用以接收來自產線生產的過帳與機台資料,再傳送至後端系統分析統計。ASECL導入SAP五大模組MM/SD/PP/FI/CO,提供Supporting人員更嚴謹更完善的系統功能。DC(Data Center) Team主要是接收並整合來自各系統的資料,系統根據內部人員及外部客戶的需求將資料彙整到HDB (History database:報表管理系統,彙集各類業務系統資料的平台),FAWeb公司內部網站除了呈現以提供給各級主管能夠即時掌握及查詢工廠的運作情況之外, 也是我目前在工作上主要會接觸到公司的內部網站。

(圖一為公司內部網站FAWeb登入畫面)

     (1)FAWeb Coding

FAWeb為公司內部網站,工程師接到需求後,會把一些修改網頁的任務交給我,而我要到正式區(PRD to local)抓報表程式,根據需求修改網頁報表,目前最主要的需求都是需將原本是VB的程式翻成C#以及要做新增、刪除、修改與複製等功能的報表或是需卡控不同的登入者,根據擁有不同的權限的使用者會呈現不同的報表內容,並且須符合公司規定的Coding Standard。在本機修改完程式後,需放到QAS測試區測試,QAS連到的Data Base也是屬於測試環境的資料庫, 若在QAS沒問題後,會再放到User Test區測試,並且撰寫UTR(User Test Report),再寄給工程師驗證沒問題後,最後才會正式上線。

6.2.jpg
2222.png

(圖二為將舊的VB網頁翻寫成C#網頁,同時須符合公司的Coding Standard)

6.3.jpg
6.4.jpg
6.5.jpg

(圖三為UTR的測試內容,將寫好的網頁經由書面文件再做最後確認)

(註:寫測試文件時,要先用此確認程式無錯誤)

(2)SPD掛號系統(SPD Committee Analysis System)

此系統涵蓋了IT部門與SPD成本分析部門與HR人力資源部門。若User需要變更程式功能或是有額外的需求,就會由我跟三個部門的負責人溝通協調,其中有接到一個需求,內容為只有權限的User才能夠編輯此掛號系統的內容,其他沒有權限的人只能查看不能做編輯,而若在編輯區填寫指派Owner的員工編號則會用寄信的方式通知指派Owner。 此系統由以下五個專案維護

• FMI011:查詢Program相關訊息
• FMI013:編輯與維護Program詳細資訊
• FMI015:編輯與維護Program成員名單
• FMI017:Program成員成績上傳
• FMI018:成績查詢

 

3.3.jpg
3.jpg

(圖五為FMI019寄信功能的信件內容)

(圖四為FMI019查詢條件及編輯頁面)

(3)ErrorLog寄送

6.6.jpg

在執行報表工作中,通常在測試階段中會有執行紀錄也會有執行錯誤的紀錄,我是負責將這些錯誤資訊整理成一個表單,分別在上班時段及下班時段寄送整理完的表單給有在執行錯誤名單中的工程師,而工程師可以憑藉著此封信件的內容進行處理及修正錯誤,就可以縮短需自行上網站查看是否有執行錯誤的時間。

6.7.jpg

(圖六為ErrorLog信件內容,先製成表單後再寄出信件)

二、實習期間完成之進度

目前已在三個月內完成了

•兩支FAWeb Coding,手上還有一些項目正在進行

•兩支SPD掛號系統

三、工作中扮演的角色

工程師會指派任務給我們,而我們就要根據使用者的需求去撰寫網頁報表,像是修改SQL欄位或資料內容的抓取、新增卡控條件、卡控查詢日期區間、增加Result頁 、新增Query頁的查詢條件…等,撰寫完先自行測試過後,得經由工程師以及使用者測試過後,確認無誤後即可上線。

(1)在旁學習觀摩的角色
剛開始進到公司,公司不會立即給我壓力,反而會給我時間讓我慢慢熟悉公司的各個系統及在操作上要注意的事項,但因為還在熟悉的階段,所以一開始公司並不會給我太困難的工作,因此我多是以一個在旁學習觀摩的角色,並且在旁協助主管處理新人教育訓練課程的相關事宜,像是幫忙借教室,並通知上課的學員及講師上課需準備的教材、時間以及教室地點,還有撰寫簽到單等等的工作內容。
(2)協助工程師將開出的需求完成並且做上線的動作

而訓練課程上了一個月後,也開始慢慢接手需要撰寫程式的案子,但主要接的案子都是比較不急著上線的工作內容再加上在學校沒接觸過的是公司自己規範的「Coding Standard」,所以必須要從頭學起,因此可以邊熟悉在程式撰寫時所需要注意的部分,邊慢慢地完成工程師所交代的任務。

​(3)實習工程師的角色,學習並瞭解正職工程師所要做的工作內容有哪些

而目前已經在公司實習三個月,漸漸已經熟悉以及適應公司的工作內容及模式,主管漸漸開始會讓我接比較急著上線的工作內容,像是前面有提到的SPD掛號系統,內容就是要與其他部門的User開會,根據他們所開的需求去做一支符合他們期望的網頁,在撰寫期間會不斷與User確認是否有符合他們想要的內容,月中主管要求我在月底要將網頁撰寫出來(兩週內),並讓工程師以及User去做測試,測試完沒問題的話就會做上線的動作。

貳、學習

一、技術面
(1)多種程式語言、多行程式碼

在這三個月的實習,對我來說在技術的方面學到了非常多,像是學到C#與ASP.NET網頁的開發、Oracle與SQL語法的使用、Excel功能熟悉與讀懂VB程式邏輯...等。平常在公司所看到的程式基本上都是上百行上千行,比起在學校最多也只看過幾百行來說一開始不太能適應,但經過這幾個月後,已經漸漸能適應看這麼多行程式。而在SQL的部分,一開始因為在學校所學的資料庫都能吸收得進去也有實作過,因此認為自己最有把握的應該就是SQL,但經過這幾個月,我發現自己並沒有把它學的很深入,在學校所學的部分只是一小部分,因此需在這方面做加強,目前已經慢慢地上手,SQL語法比以前更進步了,也認識除了在學校所學的用資料庫MYSQL和MS SQL SERVER來寫SQL的軟體之外,還有Oracle軟體。

 

 

 

 

 

 


 

(2)如何Debug
另外,在學校老師曾有簡單提過要如何使用中斷點來做程式的debug,但當時因為不太會使用所以都沒有好好的運用它,導致須一個一個去找錯誤,而這樣會造成在撰寫程式時的效率很差,但現在只要在執行程式碼時有遇到錯誤,就會使用中斷點一行一行的去找到錯誤進行修正。
(3)圖形化程式語言Sikuli
其中,最令我印象深刻的是我學到了在學校完全沒接觸過的自動化流程機器人的軟體「Sikuli」,它是一種圖形化程式語言,不需要寫出一行行程式,而是用螢幕截圖的方式將截出來的圖形組合出程式,我們可以利用它圖形辨識的功能來達到取代人力手動輸入資料的時間,進而節省人力耗損的部分。它只需要簡單的幾個函式就可以將程式組合起來,像是find(圖片):在搜尋範圍內找出最佳比對結果、doubleClick(圖片):滑鼠左鍵雙擊還有type(圖片, text):點擊圖片取得焦點後,鍵盤輸入 text等等的常見函式。而雖然我只參與到前面的學習Sikuli的部分,並沒有全程參與此次專案,但我覺得這卻讓我對於自動化機器人有了新的認知,比起平常只會看到機器人要怎操作、錯綜複雜的理論,多了實際操作後再將理論合併後,感覺更能夠來的淺顯易懂。

 

 

 

 

 

 

 

 

 

 

 

 

                                                                              (此圖為Sikuli操作介面)


二、非技術面
(1)如何報告主管想聽的內容
每周都有一天需要開早會,而開會內容是要向主管報告一週的工作進度,在向主管報告時剛開始都會找不到主管想要聽的重點是什麼,有時候甚至會將工作上遇到的問題點報告給主管,雖然主管都會很有耐心地替我們解答但我發現其實主管希望的不是將問題丟給他,然後詢問他要如何處理,而是希望我們能夠在遇到問題時,想辦法先找到一個解決方案,再來詢問這種解決方案可不可行,而在這之後每當在開會前一天,我都會事先想好明天要將什麼內容及工作進度呈報給主管以及當遇到問題時的解決方案,這讓我學會如何敘述主管想要聽的內容,而我認為這點不管將來在哪個公司、從事什麼行業都能夠受用。
(2)描述問題的技巧與如何解決問題
在接手撰寫網頁的時候,時常會遇到很多的問題,像是寫的內容有沒有符合公司Coding Standard的規定或是程式不知道要怎麼寫才能夠不影響效能等等,在剛開始會不好意思去詢問工程師,怕會影響到工程師的工作速度及進度,於是會一直糾結在同個問題點上,導致會影響到自己的工作進度,因此,我認為應該要先試著在網路或書籍上看能不能解決問題,若是還是找不到如何解決的話,就會先寫一個我覺得可以這樣解決的辦法,然後再詢問工程師,如此一來,工程師就能夠馬上知道我哪裡寫錯或是應該要如何解決,而不用還要先了解我的問題點再幫我想如何解決,可以快速提升自己的工作效率。

images.jpg
sikuli.png

參、自我評估與心得感想

在前面有提到過在公司所接觸到的程式基本上都是上百行上千行,這對最多只看過百行左右程式的我,一開始會有不適應的問題,經常一行一行的看,看到一半邏輯就會被搞混了,但漸漸的我已經開始能掌握哪些程式碼是重點,邏輯能力也漸漸的進步了,而在最近接了一個案子,還自己撰寫了將近兩千行的程式碼,這也讓我慢慢的在工作中找到成就感及樂趣。

 

目前的工作內容前面有提到過其中一項是將VB轉C#的網頁,要先將以前工程師所撰寫的VB程式(32位元)轉成C#(64位元),必須要將VB的程式看懂才能根據裡面所寫的內容做修改,而我對VB的語言不是很熟悉,再加上程式碼又有很多同義卻有不同的寫法,都必須一個一個看懂它,因此這對我來說是一個挑戰,也是能夠同時鍛鍊自己加強程式語言的方面,也讓我了解到自己在程式方面的不足,而在公司六個月報告時我也對自己設下了目標,若有機會的話,希望自己能了解DataBase中資料的意義, 還有Coding Standard背後的運作,像是dcGrid, PageBase等等。

 

另外,雖然主管不會給我們實習生壓力,但自己會產生必須做好的無形壓力,除了能夠體驗出社會心境上的感受外,同時也能訓練自己的抗壓性,且每完成一項工作就會獲得一些成就感,這也是我持續認真工作的動力。很慶幸學校與公司能在我大學期間給我這種難得的實習機會,讓我在出社會前先體驗職場生活,才明白自己其實在各方面還有很多的不足。因此有了這次的實習經驗,將來在出社會時可能也比較不會那麼害怕。

暑期實習

壹、工作內容

        工作詳述

​      在暑期的工作內容大致上都是延續前面所提到的工作內容,而工作內容的分類可由原先的三項加至四項

​        (1)FAWeb Coding

前面有提到過,此項工作內容主要是將工程師所提出的需求由原本是VB的程式翻成C#以及要做新增、刪除、修改與複製等功能的報表或是需卡控不同的登入者,根據擁有不同權限的使用者會呈現不同的報表內容,並且須符合公司規定的Coding Standard,而在暑假期間除了有接觸基本的新增、更新、刪除等功能外,還有當報表原有的新增功能出現異常以及當需要去修改某個欄位的資料,如何準確地將錯誤去做修正且不影響其他已有的功能。

 

以某個報表為例,原先此報表已有新增、更新及刪除的功能,但在新增方面的功能出現異常以及用戶想要在更新視窗的某個欄位中新增下拉式選單的內容,因此,我們必須將去找出程式所出現錯誤的地方去做修正並且滿足工程師所提出的需求。

 

 

(除了基本的新增、更新及刪除的功能外,還須將原先有的功能在出現異常後去做錯誤導正,上圖為工程師要求在更新視窗中的某個欄位裡新增一個下拉式選單的內容)

(2)SPD掛號系統(SPD Committee Analysis System)

而在暑假期間有一個需求,內容為需要將***F013此支報表新增一個刪除的功能以及在按下更新後某個欄位中須由原先的textbox的方式去帶出欄位中的資料改為以下拉式選單的方式去呈現。

(上圖為***013此支報表新增一個刪除的功能)

(上圖為某個欄位中須由原先的textbox的方式

去帶出欄位中的資料改為以下拉式選單的方式去呈現)

再來工程師提出希望能讓某個欄位的資料去作維護,因此後來又撰寫了一個報表***020,目的是可以讓使用者更加方便的將資料做更新,而此支報表比較特別之處是以往比較常撰寫到新增功能的部分,而這支程式會運用到瀏覽檔案及打開上傳檔案,直接將資料上傳至資料庫中。

                                                                              (左圖為針對***013此支報表中的某個欄位的資料去                                                                                                          作維護,上半段圖為使用者可以在excel中更新好資料,再透過此支                                                                                維護的報表(下半段圖)上傳至資料庫中)

(3) ErrorLog寄送

而ErrorLog寄送由於是每次上班及下班時所需要寄送的信件,因此在暑假期間仍然有持續寄送整理完的表單給有在執行錯誤名單中的工程師,而工程師可以憑藉著此封信件的內容進行處理及修正錯誤,就可以縮短需自行上網站查看是否有執行錯誤的時間。

 

(4) Equipment Layout Monitor

日月光中壢分公司裡面有分為很多個廠,其中每個廠內的機台設備更是多不勝數,而我做的部分是將廠內機台目前所放在的位置以視覺化更美觀的方式呈現,並同時呈現每個機台目前的狀態,方便使用者可以得知機台位置、狀態以及產量等等資訊。

 

​                                                      (上圖為剛開始從學長那接手的原版網頁)

 

​                  (上圖為開會討論後將機台位置由原先的橫向改成直向和修改背景、元件等等排版的網頁)

(上圖為第一次改版的機台元件圖)                            (上圖為第二次經過開會討論後改版的機台元件圖)

                               ​(上圖為別的製程的機台元件圖)

 

        (上圖為點下機台後導向的頁面,主要顯示機台的機故狀態以及產量等等資訊)

由於機台位置經常會有變動的情形發生,若機台只要有變動就要請我們IT的工程師做更改會太過於耗時,因此額外撰寫一個維護的網頁,可讓使用者將更改過後的機台位置圖透過此網頁從csv檔上傳並自動轉換成網頁呈現。

 

  (上圖為輸入更改後的機台位置的CSV檔)

 

 

 

(上圖為維護機台位置的網頁***335,藍色字體為CSV檔的特殊案例填寫規則,

此網頁目的為了可讓使用者將更改過後的機台位置圖,

透過此網頁從csv檔上傳並自動轉換成網頁呈現)

(上圖為將檔案上傳並轉至網頁前,可先以表格方式預覽要上傳的CSV檔資料是否正確無誤)

二、實習期間完成之進度

                                                                                                     (其中被標註為紅色的為正在GOING的狀態

                                                            ,其他皆為CLOSE)

貳、學習心得

一、技術面

從開始實習到現在也已經半年多的時間,在程式的邏輯上也已經比剛進來的時候明顯進步了許多,像是C#、SQL和VB等等,目前也能漸漸地縮短理解的時間,更著重於如何撰寫才能更有效能以及辨別甚麼是不必要的程式。其中,比較特別的是因為Equipment Layout的部分需要去畫機台元件以及做網頁的排版,讓我接觸到平常比較不會碰到的軟體和程式,像是Photosop和css,而剛好這兩個我都不熟悉,因此在撰寫網頁的同時,也在網路上找了很多相關的資料邊學邊做,到現在已經能理解基本的架構及內容。而最近主管還讓我們學習寫ETL(將資料從來源端經過萃取(extract)、轉置(transform)、載入(load)至目標資料庫的過程),這對我們來說是一個全新的東西,背後的概念是須將SQL理解的很透徹,而目前我還正在學習要如何在不影響效能的情況下將它寫好,因此目前的目標是希望自己能撰寫一支完整的ETL。

二、非技術面

在這暑假期間,最特別的是能夠與使用者開會,討論要如何執行後續的部份、與使用者demo目前的進度,以及了解他們的需求等等,這讓我整個大開眼界,因為以往都是經由工程師那裡直接得知要如何去做程式的修改,並沒有參與到討論的部分,而這次能參與到此部分使我可以間接學習到要如何去從使用者的立場以及IT的立場中做討論及找到平衡。

​參、自我評估與心得感想

從開始實習到現在也已經半年多的時間,目前的工作內容以及節奏也已經漸漸熟悉了,在前三個月,我更注重在細節,學習去理解程式片段上的意思;而在後三個多月裡,因為已經比較熟悉的關係,現在更注重在大方向,學習如何撰寫才能夠提升整個程式的效能。而在前面有提到過現在有接觸到參與討論的部分,才了解到並不是當使用者說需要哪裡去做修正時都要遵循他們的需求去做修改,而是要先考量到其實用性及必要性,我希望未來我也能夠成為足夠有判斷力以及有實力的工程師。

四上實習

壹、工作內容

        工作詳述

延續在暑假期間所負責的project「Equipment Layout Monitor」,將廠內機台目前所放在的位置以視覺化更美觀的方式呈現,並同時呈現每個機台目前的狀態,方便使用者可以得知機台位置、狀態以及產量等等資訊。而在四上實習主要又新增一個可以讓使用者設定篩選條件的功能,依據篩選條件若符合條件的則將機台顯示出來,不符合的則隱藏起來,並根據每一排符合篩選條件的機台呈現出機台的位置、數量及狀態等等的內容。

                                                 (上圖為可以讓使用者設定篩選條件的彈跳視窗)

                                        (上圖為將符合篩選條件的機台顯示出來的畫面) 

二、實習期間完成之進度

   

  

 

​貳、自我評估與心得感想

以往只注重要怎麼將想要的結果呈現出來,並不是著重在如何提升整隻程式的過程,而經過這次的Project後,我開始會思考要怎麼將程式碼精簡,讓整個程式效能更好,並且會以使用者的角度來看他們會需要甚麼樣的功能,在操作上會比較容易理解,這是跟以往寫程式最不同的領悟,希望未來我能做個又有實力又能了解使用者需求的工程師。

​參、對系上的建議

建議系上在大一的時候就要跟學弟妹強調大三有校外實習這個選擇,如果有意願的人 ,從大一開始準備,像是程式、網頁的課,就要記得把作品、Project等等保留下來,這樣在投履歷的時候才可以放在作品集裡,而不會到了要實習面試的時候才再將以前的作品拿出來。我也建議系上可以在大二的時候先找廠商來演講介紹自己的公司,因為到了大三才開始找公司以及了解各家廠商的話,會因為不大了解公司的情況像是需要具備哪些技能(如哪個程式語言、用到什麼環境什麼技術等),而選錯或是進去後才發現不是自己想要的情形發生,而若讓學弟妹能夠提前先了解並可開始做準備,如此早點充實自己並累積實力,在面對實習面試的時候也能因準備充足有而所發揮。


最後,很感謝系上給我們這麼好的實習機會,能夠讓我提早體驗半個出社會的感覺,以及能夠知道自己喜不喜歡這種類型的工作,而不會到了要畢業後才來迷惘自己是不適合這種類型的工作,平常在學校大多以理論為主的課程,而現在有了這次的實習經驗後,透過自己實作後也比較能了解平常在學校所學的課程要如何應用在職場上、我們專業所學的科目在職場上都在做些什麼或是運用到什麼技術。

bottom of page