
Work Content
工作詳述
我是在日月光中壢分公司的ERP部門
DC (Data Center)Team
FAWeb是公司內部網站
除了提供各級主管能夠
及時掌控工廠的運作情形外
也是我目前在工作上主要會
接觸到公司的主要內部網站

固定
工作事項

以Audit(由正職的學長製作而成
用來檢查公司的coding standard規則)
進行檢查的工作,檢查上線的C#程式是否有Audit錯誤
公司有一套自己的coding standard規則
每月大概有100支左右的程式由我們
將前一個月的所有程式抓到當月的資料夾
用Audit檢查程式是否有Audit錯誤(少量,但可多支程式)
看完檢查結果並篩選掉Pass的程式
將Error和Fail的程式統計數量打在共同的表格
並寄信給工程師和工程師主管告知錯誤的地方和原因
如果沒有則不用
最後將此月份有幾支Error、幾支Fail登記到公用的Excel表格上
其他工作事項

「VB的程式改成C#程式語言」
雖然只是把VB的程式改成C#語言
但是其實底層的程式是完全不相通的
但也不能直接開一個空白的檔案
這樣就沒有其他C#一樣的底層
所以我拿之前上課用過性質差不多的報表去改
將應該要有的控制項以C#語言寫下
程式完成後,在測試區測試自己的程式是否正常、完整
「將網頁改版為以C#語言呈現」
將原本沒有C#語言的報表網頁,以程式的方式呈現出來
需與原本預設網頁呈現的功能、查詢方式和結果相同
在一支報表上查詢需要寫程式的報表名稱
以Visual Studio寫出與那支報表所寫內容一樣的功能
最後確認相同後,將程式上傳至測試區進行測試
確認是否符合主管要求,與功能是否正常


Last Step & Report Generator

我的工作來源皆為我們部門的主管發放
每一項工作通常會給我們多支程式做一次性都修改
而工作分為幾個階段,這些分類通常會在工程師給我們工作時
寫在公用的表單上,我們會在每一步推進時,就修改公用表單

finished work

工程師或主管會給我們程式的工作,我會根據User要求來做出對的報表,協助工程師完成開出的需求、匯報進度,並且做開單上線。

學習者
剛進公司時公司給了我們很多學習素材,但是在我們工作的時候也會遇到問題也會有不一樣新的知識,其實工作中的學習比在學校學習到的更多,所以我不只是來工作,更是來公司學習。
就像在工作中,如果有不懂或沒看過的,我會先上網查詢,等到真的確定查詢不到時,才去詢問別人,每一次的詢問當作一次經驗,在我下次遇到一樣的問題或者別人遇到一樣的問題時,我就可以自己解決。
輔助者
Learning
一、 公司主要運作介紹
認識日月光廠內半導體的生產方式和廠房業務如何與IT部門做連結,進一步的認識半導體是怎麼製作出來的,從原物料到成品,只是一個小步驟就可能對整個公司的成本有不一樣的影響。
一開始進公司我的學習是由主管和學姊們給的影片和PPT,自主觀看影片補充公司的相關知識,後面有其他部門的主管給我們一堂講解半導體製作流程的課程。
二、 coding standard課程
coding standard是構成網頁報表的程式方式,剛進入公司去上了為期三周的課程,每週上完都有一個小作業讓我們練習,而每週都是接續上週更深的學習。
第一週 ,介紹 程式的 架構還有簡單的 架構還有簡單的 coding standardcoding standard coding standard coding standardcoding standard coding standard 運用,使最常的一支報表學習 運用,使最常的一支報表學習 運用,使最常的一支報表學習 運用,使最常的一支報表學習 SessionSessionSession Session 如何取值並且暫存訊息,也學習連接規定的資料庫和一些查詢產生時可以有 的不同樣式 。例如: 改變報表內特殊範圍的數值要不一樣字顏色或底。




第二週,上一週堂課上的內容加強,再加上增加、刪除、編輯的功能使用,而且必ㄒ限制是有權限的人才能使用的,和一些控制項的連動,例如: Drop Down List選擇選項後,List Box的選項同時進行改變。
第三週,在報表內加入上傳Excel資料的功能,將資料一次以「.xlsx」檔進行上傳,並且把excel裡不重複的表格內容新增到SQL裡,當我們上傳Excel的內容不符合需求內容時,設定為只上傳符合格式的內容,Message Box就會顯示有幾筆資料上傳成功,幾筆資料上傳失敗。
三、 工作中學習
每次主管交給我的工作,我並不是每一個都已經學過、做過,當我在面對沒有看過的語法時,我學習到更好的查詢方式,以更好的態度面對不會的事物,再查詢完結果後,如果還是不知道的話,會去問前輩或者交付工作的主管,讓我學習到「不知道」並不羞恥,問問題是為了更好的學習知識,而我也還在學習到要用怎麼樣的方式面對主管、前輩之類的人才不會緊張。
接到將VB轉為C#語言的工作時,我多認識了新的程式語言,VB,在其他工作上我也更好的學習SQL的語法、C#的語法。
打程式時,不會是完全都沒有錯誤的,在做公司的工作時,也是會有需要找錯誤的,以前我都只會一個一個看程式錯誤,但有些錯誤並不是語法錯誤,以那樣的方式可能會找很久,問了學姊之後,知道了中斷點、監看視的好用,讓我冗長的除錯的過程變成比較專業的Debug。
在我們的程式內會有內嵌的SQL程式,而如果SQL有時候並不會有任何反應,只會知道查詢出來的result頁就是不對的,這時候我會設中斷點在 這一行或是在執行時以監看視查詢SQL,再把SQL放到Oracle檢查是否跟目標程式有什麼不一樣。
有時並非語法錯誤而是語意不通,我會上網查詢想要達到相同目的應該要使用怎樣的語法才合理呢?

四、Report Generator學習
由一支報表設定可以在固定時間點執行檔案或是自動派送報表的server,就像是Windows的工作排程器、SQL server的Job Schedule,可以用在定期送報表給指定User 或是監看特定資料之類的工作,學習如何把Report Generator的設定輸入,並且將Excel以File2File的方式把檔案轉為HTML檔。

(↑由此設定排程系統)
當我建立新的排程後,就會有新的BAT檔在公司的內部網路檔案夾中,就可以由裡面更改需要執行Report Generator或是要不要寄E-Mail給User,我學會使用Oracle不是只是拿來查詢資料或是建立資料庫,而是也能拿來設定各種參數,這些參數設定後,查詢過後的SQL可以套用參數指定的樣式(可能為把數據已折線圖、圓餅圖之類的方式呈現)。目前也還在深入學習Report Generator是如何運作與還有什麼功能。
如果報表並非一個SQL就能完成可使用TEMPLATE或Report Generator方法。
TEMPLATE方法:將一部分留給第二個工作表,並運用Excel的功能將它與第一張表作連接,將時間的SQL留到工作表二,在工作表的對應欄位下Excel指令”=sheet 2 !A1=0”,並按右鍵隱藏工作表二。
Report Generator方法:將2組SQL都指定到同一張工作表中,並用SQLDATAROW&SQLLOCATION去控制資料位置,指定第一五SQL位置從第六列開始,指定第二組SQL位置從第三列開始,以此類推的方式。
變數的運用,例如:需求檔名”20161121-ABCD”就無法用FILENAME-FORMAT,應使用STARTSQL宣告一個變數PARAMETER1,使用大括號放置在想要代替的位置(起始值=0)。

FILENAME {0}-ABCD
STARTSQL SELECT TO=CHAR(SYSDATE,”YYYYMMDD”)
FROM DUAL
~暑期~
一、ETL學習
ETL的目的是為了在每天特定的時間在資料庫裡自動生成表格,在Oracle這個資料課管理系統,寫上特殊SQL就可以有這樣的效果,大致上分為五個區塊:
1. 版本描述(主要是為了描述ETL目的,或版本、工程師、修改時間的資訊)。
2. 變數宣告(公用變數、一般變數)。
3. Cursor宣告(所有程序中會使用到的資料皆要在此宣告)。
4. 程序開始與結束。
5. Main SQL、錯誤處理區塊(可以對資料做Rollback處之類的處理,以供工程師事後分析來查詢)。


一、 BatchController學習
之前有學習ReportGenerator的參數設定方式,而BatchController是再進階一點的參數設定方式,這個項目可以不需要以「.bat」檔來啟動「ReportGenerator.exe」
只需要寫上BatchController.exe然後在寫參數LOOP_PROGRAM_NAME的時寫上Report Generator.exe並且可以一次啟動多次,等於可以一次搬動不同的檔案,或一次執行不同的事情,例如:搬檔案、寄Mail就可以一起完成。
自我評估&心得感想
一開始進公司時,面對種種的不熟悉我常常感到緊張,甚至是害怕;久而久之,發現大家人其實都很好,只是自己過於緊張,然而這樣的緊張,有時候會帶給自己不自信、容易做錯事情,雖然在目前為止並沒有犯嚴重的錯誤,但是如果我在自信一點,或許很多小小的錯誤就不會出現,就比較不會麻煩到別人了。
雖然我們是來學習的,但我們也是有領薪水的員工,一開始就抱持這種想法的我,也非常不想甚麼事情都麻煩別人;但是事實就是,在一個自己不熟悉的地方本來就會有很多事情是自己不知道的,這種時候問別人並不會有人覺得你麻煩,畢竟有問題就該勇敢提問。
來到日月光我見識到很多很厲害的程式師,也在這裡學習到很多;在學校雖然也學習了很多程式設計相關的知識,在公司雖然也可以用到一些,但是或許學校的課程就只是告訴我們要有程設的思維,但真正的學習真的是要在實習時的工作上才能真正的學會完整的寫一支程式呢!
真的很高興可以得到在日月光實習的機會,這一個學期的時間稍縱即逝,但我卻是收穫滿滿,學習到的不只是關於IT和程式上的知識,還有處事時的態度;遇到事情不能只是慌張而不作任何補救。是人大概都會犯錯,只是在犯錯過後,冷靜且盡力把事情處理好,並且下次不再犯一樣的錯誤,這樣就是最好的示範。
實習期間讓我更加認識自己,知道自己對於面對主管或者學長、學姊時會變的很慌張,常常會因此沒有辦法把自己想表達的事情完整的講出來,希望我在實習期間可以改善這樣的缺點;實習也讓我認識更多在同部門的夥伴,同時也希望自己在這段期間可以學習他們的優點,並且為自己做一些改變。
~暑期~
剛開始的工作或者練習都會因為自己的經驗不足,所以工作時間會比較長,但在許許多多的工作磨練下,一份工作所花的時間已經比原本還少非常多了喔!
希望有一天我可以把一份工作的時間縮短到跟很多前輩一樣短,也可以做到很多東西都已經不需要依靠Google或是之前的程式,可以自然的從腦袋裡挖出來寫。來到日月光我見識到很多很厲害的程式師,也在這裡學習到很多;在學校雖然也學習了很多程式設計相關的知識,在公司雖然也可以用到一些,但是或許學校的課程就只是告訴我們要有程設的思維,但真正的學習真的是要在實習時的工作上才能真正的學會完整的寫一支程式呢!
剛開始進公司也完全不了解半導體產業的任何事情,只知道「日月光」好像是一間很厲害的公司,而在多方的學習過後,我知道深刻體會到這個產業的重要性;如果沒有這個產業,我們的生活大概會回到上個世代的不便利吧!實在時沒辦法想像,沒有手機、電腦、或者各種電子用品的生活。
雖然在這樣的大公司,感覺有許多很好的福利,比很多其他公司實習生還要好的工作環境、學習資源,會讓人很想要留下來,不過我認為我自己還在考慮,這樣的工作是不是真的是自己想要的工作呢?實習是一個很好的學習方式,也是很好的生活體驗營,在還沒正式走入社會之前可以預先體驗職場生活。上大學時,常常說想要出去工作不想讀書,不過媽媽還是一直跟我說至少念完大學吧!我就勉為其難的念到現在,不喜歡讀書的我一直是以一個還行的成績度過每一學期,不過到工作上之後,我才發現我是真的不喜歡「讀書」時間,比較喜歡有薪水可以領的「上班」時間。

然後,希望報告的內容可以要求少一點,因為我們還有公司的工作、學校的作業,下班之後其實已經很累了,會很希望還是有一點時間可以休息,尤其是期中、期末時,更是左右為難,不知道到底應該先做學校的,又或是先做實習的東西。
對系上的
意見
