貳、實習期間完成的進度 :
專案一「遠東銀行」
NewRadar:
新增客製功能 :
(一)職務代碼放行/匯入
客製功能介紹 : 1.未放行職務代碼的增(檢查重複)刪改查功能
2.整批上傳的功能(檢查重複)
3.放行的功能,放行後畫面Grid裡的那筆資料會消失
4.查詢已放行職務代碼的功能
這是我下部門後,第一個接觸的專案及新增功能,這隻功能我大概寫了10天左右,雖然最後delay了幾天,但這支功能對我日後定下許多基礎知識。
而這支功能讓我卡最久的莫過於「整批上傳」、「放行」功能
整批上傳 :
在上傳前要做資料檢查的部分,檢查要先設想好User們上傳會遇到什麼情況,在每種錯誤時,要秀出User看得懂的訊息,所以在這段檢查讓我想了非常久。
放行 :
我這裡使用了ResultModel去包裝我想回傳的錯誤資料,可能是資料重複或是資料不正確。因為我放行時是要將這個table的資料新增進另一張table,所以我使用了Clone,Clone是複製 List 中的所有元素到新的 List並可指定新 List 中元素的 Type。
(二)待辦事項參數設定
客製功能說明 : 當有未放行的職務代碼時,要顯示在首頁的代辦提醒上,讓User知道要盡快處理。
(三)JD(職級)代碼維護
客製功能說明 :1. 新增一個「批次上傳職位說明書」的按鈕。
2.說明書檔案名稱:JD代碼,副檔名格式不限。
3.每次重新上傳同檔案名稱的說明書,會刪除上一個同名檔案。 4.若該筆JD代碼有職位說明書,此欄位會出現下載圖示。
這支功能最難的地方就是檢查的這一塊,一開始要檢查相同檔名是否存在,因為每次上傳檔案的格式可能都不一樣,所以在這裡只能取檔名,而我使用的方法則是GetFileNameWithoutExtension去除檔名後再到後台去檢查,而做完刪除後則是要檢查檔案能不能上傳,如果不能上傳,就要顯示給User看那些檔案不能上傳,而我使用ResultModel去包裝回傳的錯誤資料。
(四)離職結算功能(改善)
客製功能說明 :1.存檔旁邊新增一個按鈕,調整薪資項目時不馬上重算
等User調整完所有薪資項目後按下該按鈕時才重算。
2.存檔前檢查是否有按過重算按鈕,沒有則跳出提醒。
修改Bug :
(一)薪調產生申報檔,名字有難字,出現?號,勞保局網站無法申報
修改說明 : 在撈出資料後,將撈出來名字是?轉換為*
(二)所得資料檔/申報書(薪資所得申報上傳檔格式)
修改說明 : 將副檔名改成txt,將所得人地址補上去
(三)績效考核維護整批上傳
修改說明 : 編輯畫面的單位控制項應該調整為與樹無關的單位(因為樹只會帶出 現有的單位)控制項(RadarOrgFlatPicker),以免歷史資料無法顯在 編輯畫面。
Portal:
(一)基本資料頁籤-照片未顯示&JD說明書無法下載
修改說明 : 在後台(NewRadar)新增兩個路徑讓前台(Portal)能到
後台(NewRadar)抓取檔案,並將檔案轉為Stream傳回前台。
這個修改是我目前遇到最難的問題單,因為這涉及到前台與後台連結的關係
從前台發送到後台撈資料,後台要建立對應的Action名稱
後台接收的Action :
而從後台回傳的型態我使用了Stream,將我要回傳的相片檔或是說明檔轉成Stream,讓前台進行讀取檔案的動作。
參、學習收穫 :
技術面
Debug/尋找問題點的技巧 :
-
剛進部門時,最困難的事不是自己寫程式,而是去看懂別人的程式,找出要修改的功能和程式是哪一支,一開始都會找不到程式尋求其他正職的幫忙,但現在接到問題單,已經不會花太多的時間在找程式上了。
-
每次遇到自己寫的網頁噴錯掛掉,我總是會去問其他正職們,尋找問題點也是,剛開始看到問題單,我也只會去問問題在哪裡,但現在我學習到了很多技巧,在程式裡設中斷點,或是去看log檔裡出現了哪些錯誤。
-
在網頁上,我也學會了如何使用F12,可以看Console噴了哪些錯,也可以看Network看我的Action有沒有被call到,看Response回來的是不是我所需要的資料。
網頁程式/SQL撰寫能力 :
-
1.前端網頁設計 :
我的部門在前端用Angular搭配TypeScript去寫前端網站,這個方法讓撰寫網頁更方便也更快速,而且 分層清楚,能清楚知道寫網頁和寫功能的差別。
-
2.後端程式
在前端網頁設計完後,就是要去後端連進資料庫撈資料,而我的部門在後端的基礎做的很好,例如最基本的CRUD中的新增功能,我們只要call個function並且將我要新增的資料弄成一個model傳進function就可以直接執行新增的SQL,這樣我就不用去自己寫SQL,我覺得非常方便。
-
3.SQL/View/Function/Stored Procedure
在SQL方面,我是最近換專案後才開始比較常接觸,包含自己寫一段function或是Stored Procedure,剛開始總是不太會寫,但是SQL有一個功具非常好用 : SQL Server Profiler,這可以去錄我跑的SQL,看它執行的跟我想的是否一樣,也可以快速找到function或是SP的問題在哪。
Git專案管理:
在面對龐大的專案管理和程式碼,Git是我進公司後所用到方便專案管理的方法,在我每次寫完程式,我都會先Commit到自己local的暫存,再Push上Git,它會記錄每個分支所修改的程式,在Commit時也能和修改前比較程式碼,如果不小心整個網頁弄壞了,也可以用Revert,讓專案回復到我修改前,不用怕寫的程式遺失,也能更加有效率。
非技術面
學習如何問問題 :
剛開始進部門時,每次問問題都會不知道要怎麼表達我的問題,都只能請其他正職來幫我看我的程式,但現在我學會了如何掌握問題點,就算有問題也不用每次都請他們幫我看。
時間安排 :
我們的客製功能都會有上版期限,剛開始我幾乎每支功能都delay到預估時間,但現在,雖然偶爾還是會delay,但我比較能掌握時間的分配了。
肆、自我評估及心得感想:
剛開始進公司時,新人訓練是暑假就有上過一次的,所以複習一下沒有什麼太大的問題。
後來下部門後,已經沒有自己的同學一起了,我開始自己努力學習,有問題就要問,在完成第一支客製程式時,我感覺我有很大的進步,後來的工作也慢慢比較穩定了,現在已經不再覺得實習是一件很痛苦的事情。
雖然現在還是會有許多問題,但是只要勇於發問,部門的大家都會很樂意幫我解答,在這裡真的學習到很多。
在面對規格書時,不要只是乖乖的照規格書做,有問題都可以像SA或是PM討論,因為規格書不一定完全正確,自己有時候也會誤解規格的需求,這種時候就是要去問,請SA或PM詳細說明。
我覺得能校外實習是件很棒的事,因為能先適應之後出社會的生活,了解自己的不足,養成自我精進,現在科技越來越進步,我覺得我自己也要越來越進步。
伍、對系上的建議 :
謝謝系上幫我們安排這麼多間公司和職務能選擇,還可以直接在學校面試,幫助我們提早體驗出社會的生活,了解職場的樣貌。
有聽說其他學校是大三在校內做專題,大四才是校外實習,我覺得在校內跟老師作專題對於我們以後考研究所是很有幫助的,而校外實習是對出社會很有幫助,而且在作校內專題後在出來實習,也會比較容易上手,所以我覺得「專題+實習」並行對於學生會比較有幫助。
何昶毅
何昶毅
壹、工作內容介紹 :
人力資源系統:
我的部門主要視負責人力資源系統(R.A.D.A.R),RADAR主要是給公司的HR所承辦的,而RADAR裡也包含了一些模組,例如Portal 就是給員工使用的,而我的工作主要是維護系統,可能某些功能會有Bug,要去修改,或是User想要客製一些功能,我就要完成他們的需求。
PM交付問題單 :
我們公司有個JIRA系統,而PM會分配問題單及追蹤我們處底的進度,而當我們的單子處理完成後,我們會紀錄問題單處理的過程和總花費的工時,也會附上一些處理文件,例如:單元測試報告、規格書報告等等,或者附上Git的連結(Git上會有修改的程式內容)這樣能方便讓之後的維護者能盡快了解問題單,或是讓別的專案有相同問題的可以直接參考這隻程式的處理方式等等。
每日的Stand up meeting :
在我的部門,每天的例行公事就是下午的Stand up meeting,這個meeting就是我的部門的正職和實習生會在下午1點進會議室開會,進行的過程是每個人輪流發表,昨天下午和今天早上做了什麼、今天下午準備要做什麼事,在這期間有遇到什麼問題能提出來,大家會教你該如何去做。我們的Stand up meeting原本是訂在早上9點開,後來才改成下午1點,因為早上剛到公司要回想昨天做的事情,會有點吃力,但改在下午後,我們就可以在早上先幫自己的大腦暖機,也可以回想昨天做的事情,這樣開會就會比較快進入狀況,也能盡快完成。
目標:
完成PM交付的每一個task,並在規定時間內成。
規範:
1.符合公司規定的工作。
2.依照部門規定的格式撰寫程式。
職掌:
我所在的部門是人力資源部門的產品導入分部,但我目前還尚未接觸到客戶,只有在負責撰寫客戶所要的客製化功能。
貳、實習期間完成的進度 :
專案一「遠東銀行」
NewRadar:
新增客製功能 :
(一)職務代碼放行/匯入
客製功能介紹 : 1.未放行職務代碼的增(檢查重複)刪改查功能
2.整批上傳的功能(檢查重複)
3.放行的功能,放行後畫面Grid裡的那筆資料會消失
4.查詢已放行職務代碼的功能
這是我下部門後,第一個接觸的專案及新增功能,這隻功能我大概寫了10天左右,雖然最後delay了幾天,但這支功能對我日後定下許多基礎知識。
而這支功能讓我卡最久的莫過於「整批上傳」、「放行」功能
整批上傳 :
在上傳前要做資料檢查的部分,檢查要先設想好User們上傳會遇到什麼情況,在每種錯誤時,要秀出User看得懂的訊息,所以在這段檢查讓我想了非常久。
放行 :
我這裡使用了ResultModel去包裝我想回傳的錯誤資料,可能是資料重複或是資料不正確。因為我放行時是要將這個table的資料新增進另一張table,所以我使用了Clone,Clone是複製 List 中的所有元素到新的 List並可指定新 List 中元素的 Type。
(二)待辦事項參數設定
客製功能說明 : 當有未放行的職務代碼時,要顯示在首頁的代辦提醒上,讓User知道要盡快處理。
(三)JD(職級)代碼維護
客製功能說明 :1. 新增一個「批次上傳職位說明書」的按鈕。
2.說明書檔案名稱:JD代碼,副檔名格式不限。
3.每次重新上傳同檔案名稱的說明書,會刪除上一個同名檔案。 4.若該筆JD代碼有職位說明書,此欄位會出現下載圖示。
這支功能最難的地方就是檢查的這一塊,一開始要檢查相同檔名是否存在,因為每次上傳檔案的格式可能都不一樣,所以在這裡只能取檔名,而我使用的方法則是GetFileNameWithoutExtension去除檔名後再到後台去檢查,而做完刪除後則是要檢查檔案能不能上傳,如果不能上傳,就要顯示給User看那些檔案不能上傳,而我使用ResultModel去包裝回傳的錯誤資料。
(四)離職結算功能(改善)
客製功能說明 :1.存檔旁邊新增一個按鈕,調整薪資項目時不馬上重算
等User調整完所有薪資項目後按下該按鈕時才重算。
2.存檔前檢查是否有按過重算按鈕,沒有則跳出提醒。
修改Bug :
(一)薪調產生申報檔,名字有難字,出現?號,勞保局網站無法申報
修改說明 : 在撈出資料後,將撈出來名字是?轉換為*
(二)所得資料檔/申報書(薪資所得申報上傳檔格式)
修改說明 : 將副檔名改成txt,將所得人地址補上去
(三)績效考核維護整批上傳
修改說明 : 編輯畫面的單位控制項應該調整為與樹無關的單位(因為樹只會帶出 現有的單位)控制項(RadarOrgFlatPicker),以免歷史資料無法顯在 編輯畫面。
Portal:
(一)基本資料頁籤-照片未顯示&JD說明書無法下載
修改說明 : 在後台(NewRadar)新增兩個路徑讓前台(Portal)能到
後台(NewRadar)抓取檔案,並將檔案轉為Stream傳回前台。
這個修改是我目前遇到最難的問題單,因為這涉及到前台與後台連結的關係
從前台發送到後台撈資料,後台要建立對應的Action名稱
後台接收的Action :
而從後台回傳的型態我使用了Stream,將我要回傳的相片檔或是說明檔轉成Stream,讓前台進行讀取檔案的動作。
專案一「高鐵」
NewRadar:
新增客製功能 :
(一)一二周建檔
客製說明 : 此功能提供: 新增、修改、刪除、查詢、計算等功能。
說明:這支功能是我和另外一位正職一起撰寫的,我負責畫面即增刪改查等功能,他負責邏輯比較複雜的計算加班時數的部分,最後再合在一起,這是我第一次與別人合作完成任務。
(二)薪資結構表設定
客製說明 : 客製說明 : 此功能提供: 新增、修改、刪除、查詢等功能。
(三)辦公大樓維護 : 新增英文地址的欄位。
(四)新增排程
客製說明 : 將提供班別代碼基本資料的功能新增進每日排程裡。
(五)員工/主管桌面
客製說明 : 將畫面顯示改成客戶想要的頁面,及加上功能超連結。
參、學習收穫 :
技術面
Debug/尋找問題點的技巧 :
-
剛進部門時,最困難的事不是自己寫程式,而是去看懂別人的程式,找出要修改的功能和程式是哪一支,一開始都會找不到程式尋求其他正職的幫忙,但現在接到問題單,已經不會花太多的時間在找程式上了。
-
每次遇到自己寫的網頁噴錯掛掉,我總是會去問其他正職們,尋找問題點也是,剛開始看到問題單,我也只會去問問題在哪裡,但現在我學習到了很多技巧,在程式裡設中斷點,或是去看log檔裡出現了哪些錯誤。
-
在網頁上,我也學會了如何使用F12,可以看Console噴了哪些錯,也可以看Network看我的Action有沒有被call到,看Response回來的是不是我所需要的資料。
網頁程式/SQL撰寫能力 :
-
1.前端網頁設計 :
我的部門在前端用Angular搭配TypeScript去寫前端網站,這個方法讓撰寫網頁更方便也更快速,而且 分層清楚,能清楚知道寫網頁和寫功能的差別。
-
2.後端程式
在前端網頁設計完後,就是要去後端連進資料庫撈資料,而我的部門在後端的基礎做的很好,例如最基本的CRUD中的新增功能,我們只要call個function並且將我要新增的資料弄成一個model傳進function就可以直接執行新增的SQL,這樣我就不用去自己寫SQL,我覺得非常方便。
-
3.SQL/View/Function/Stored Procedure
在SQL方面,我是最近換專案後才開始比較常接觸,包含自己寫一段function或是Stored Procedure,剛開始總是不太會寫,但是SQL有一個功具非常好用 : SQL Server Profiler,這可以去錄我跑的SQL,看它執行的跟我想的是否一樣,也可以快速找到function或是SP的問題在哪。
Git專案管理:
在面對龐大的專案管理和程式碼,Git是我進公司後所用到方便專案管理的方法,在我每次寫完程式,我都會先Commit到自己local的暫存,再Push上Git,它會記錄每個分支所修改的程式,在Commit時也能和修改前比較程式碼,如果不小心整個網頁弄壞了,也可以用Revert,讓專案回復到我修改前,不用怕寫的程式遺失,也能更加有效率。
非技術面
學習如何問問題 :
剛開始進部門時,每次問問題都會不知道要怎麼表達我的問題,都只能請其他正職來幫我看我的程式,但現在我學會了如何掌握問題點,就算有問題也不用每次都請他們幫我看。
時間安排 :
我們的客製功能都會有上版期限,剛開始我幾乎每支功能都delay到預估時間,但現在,雖然偶爾還是會delay,但我比較能掌握時間的分配了。
肆、自我評估及心得感想:
剛開始進公司時,新人訓練是暑假就有上過一次的,所以複習一下沒有什麼太大的問題。
後來下部門後,已經沒有自己的同學一起了,我開始自己努力學習,有問題就要問,在完成第一支客製程式時,我感覺我有很大的進步,後來的工作也慢慢比較穩定了,現在已經不再覺得實習是一件很痛苦的事情。
雖然現在還是會有許多問題,但是只要勇於發問,部門的大家都會很樂意幫我解答,在這裡真的學習到很多。
在面對規格書時,不要只是乖乖的照規格書做,有問題都可以像SA或是PM討論,因為規格書不一定完全正確,自己有時候也會誤解規格的需求,這種時候就是要去問,請SA或PM詳細說明。
我覺得能校外實習是件很棒的事,因為能先適應之後出社會的生活,了解自己的不足,養成自我精進,現在科技越來越進步,我覺得我自己也要越來越進步。
伍、對系上的建議 :
謝謝系上幫我們安排這麼多間公司和職務能選擇,還可以直接在學校面試,幫助我們提早體驗出社會的生活,了解職場的樣貌。
有聽說其他學校是大三在校內做專題,大四才是校外實習,我覺得在校內跟老師作專題對於我們以後考研究所是很有幫助的,而校外實習是對出社會很有幫助,而且在作校內專題後在出來實習,也會比較容易上手,所以我覺得「專題+實習」並行對於學生會比較有幫助。