Welcome to GSS
新訓成果
工作詳述
(1) 新人訓練
為期一個月的新人訓練包括了六堂課程:環境設置、SQL、基礎前端、.Net的MVC架構、進階前端、後端,新訓進行方式是看線上的教材影片,寫作業,之後會有Code Review,也就是前輩跟學長姐會一起一行一行地看每個新訓參與人員的程式碼,檢視過程中會提出問題讓你思考後再說出可能會比較好的解決辦法,一場code review完,若是確實了解並改進他們所提的問題的話是會進步得非常快的。
(2) 部門的專案新人訓練
我分發到的部門是金融事業處,是幫銀行寫貸款的系統,信貸或房貸…等等,因為每個部門所使用到的底層和技術都是不太相同的,所以還有再一次的新人訓練,我覺得這是很好的設計,這次學習的方面是偏向該專案所用的底層與套件的用法,基本上也是上課、寫作業,然後code review,但就接觸到了真正專案實際在用的程式架構會怎麼樣,也學到了IIS伺服器,架設網頁等等的知識。
(3)不同專案的新人訓練
因為每個專案所使用到的底層和技術都是不太相同的,所以還有再一次的新人訓練,我覺得這是很好的設計,我先上了一個專案的新人訓練後接著上另一個專案的新人訓練,這次學習的方面也還是偏向該專案所用的底層與套件的用法,基本上也是上課、寫作業,然後code review,這次還有接觸到表單套件的用法,也就是直接從網頁產出表單然後是word或是excel檔等等的知識。
(4) 第一個專案
是我接觸到的第一個專案,專案基本上已經開發完成了,所以工作內容基本上就是客服人員接收客戶的問題回報,利用公司系統把問題單給PA或SA,他們在看有哪些問題適合給我做的,再利用公司問題單的系統指派工作給我。
在這個專案做的工作主要是改前端控制項的小問題,像是:修改預設值設定、或是客戶要求變更文字之類的,還會要修改關卡的頁面權限。
(5) 第二個專案
這個部門的人數規模就比較多了,應該是屬於開發到了一定程度的專案,工作的難度比較高,學到了很多東西,像是使用SVN和SOURCETREE進行版本控制、GIT的基本操作,舉例來說PULL、COMMIT、PUST、BRANCH、FETCH、MERGE和解衝突的方法,工作內容也是由PM指派給SA,程式要做出一個功能這個專案的方式是會要先寫規格,在照著規格去開發。
接觸到了非常多方面的工作,不管是改網頁,寫JavaScript、寫SQL語法,也算是又復習了一次MVC架構,要自己寫一支SQL語法的程式,然後要怎麼讓程式可以讀到他,要在哪裡宣告他的定義才能使程式讀得到它。
(6) 第三個專案
現在的工作是在用最新的部門底層去把頁面的畫面拉出來,就照著SA開的畫面照著做,由於是新的底層,常常會遇到問題卻根本不知道問題出在哪裡,也很難看出是設定的問題還是程式的問題,但現在已經慢慢地越來越上手了。
(7) 第四個專案
這個專案所使用的底層跟第三個專案用的底層是一樣的,但不一樣的是,這個專案是從最開始的開發階段我就加入,人數的編制上相比其他專案來說是偏少的,就只有一個PG、一個SA、兩到三個PG而已。
我的工作從只要努力熟悉動態底層的用法,變成要一直跟PG、SA確認清楚他們想要畫面到底是什麼,也要帶晚我一屆的新實習生,並解決他的bug,感覺與同事間的溝通突然變得更加頻繁與重要,時間的控制也更加困難,原本只有自己做較能夠預估做完單子所需時間與期限去作拿捏,但現在可能突然就要放下自己的工作,去教學後輩跟幫他debug,但單子期限還是擺在那邊,要怎麼時間管理達到準時完成,也是一個新的學習。
(8) 支援專案_1
我所在的部門是在幫銀行做關於信貸方面的網頁,讓他們可以輕鬆登記查找銀行客戶持有的資產或信用,來決定客戶可以有的貸款額度等等。
這次支援要修改的則是四個房貸契約書的樣板調整,簡單說就是銀行會寄樣板給我們,我們就要把網頁會產出的契約書表單改成跟客戶要求的一樣,但並不是複製貼上修改樣本檔案這麼簡單就可以完成的事情,客戶給的修改後的版本樣式跟測試機上的完全不一樣,我們要同時符合程式可以把資料帶值進去的格式,又要符合客戶的要求,舉例來說,修改後的表單每一行字的頭尾都得跟客戶的一樣,也就是因為格式不同所導致的換行要一行行人工去修改字體間距和行高才能達到需求。
(9) 第五個專案
這個系統已經算是完成很久的專案了,只是最近跟客戶談了一些新功能,這專案的SA給的單子不會說得很清楚,常常必須再去跟他確認清楚意思,或是去問這專案的PG前輩,也學到了不懂就問,不要做到後面才發現邏輯跟單子上的完全不一樣。
也因為新功能的開發,原本既有的頁面所套的浮水印模板全部都要更改程式,才能吃到新的浮水印設定,改了一百多個頁面程式其實都是在做重複的事情,先用編輯器的全部取代再一個個頁面慢慢檢查有沒有例外或錯誤。
(10) 支援專案_2
這段時間就有個主管直接寄信給我幾支FN跟SP去轉成MS SQL語法並存入DB,原以為是簡單的工作越作卻越發現其實並沒有我想像的那麼簡單。
原因是其實Oracle裡Function扮演的腳色跟MS SQL的Function其實不太相同,且語法的差異也很大,Oracle裡能夠很輕易的使用For Loop去對Select出的資料逐行去做動作,但MS SQL沒有For Loop,只有While Loop可以使用,MS SQL得要費更大的周章才能做到Oracle輕易就使用出來的結果,而且我也沒有問到部門前輩有做過類似的轉換過程,所以就得慢慢一句句語法檢查它在MS SQL裡面可不可以用,不能用的話要用什麼語法去代替它,同時學到了兩個資料庫作出同樣功能語法的差異,而且又都是自己查的,學到了非常多東西並且印象深刻,幾百行的程式最後改好建置通過寫進去DB的成就感很大。
實習期間完成之進度
新進人員新人訓練
學習 SQL、MVC、kendoUI、Ajax、單元測試。
部門新人訓練
學習 底層UI、底層架構&Spring.Net三層式架構、OPNI、ASPOSE
另一專案新人訓練
學習 底層UI和架構、SC、NBase
專案的部分
修改了三十二張問題單、做出二十一個畫面、修改Stored Procedure
支援專案
修改並校對報表合約共四張、六支Oracle的Function轉成MS SQL的FN、
四支Oracle的Stored Procedure轉成MS SQL的Stored Procedure
心得感想
到目前我覺得選擇去校外實習是很好的決定,因為是以實習生的身分去工作的,所以犯錯比較不嚴重,就像我曾經誤刪了前輩硬碟裡的VM,還有前輩借我的筆電的使用者帳戶,如果是正職犯這種錯誤的可能就比較不那麼容易被接受了。
校外實習還有另一個好處是,可以先了解在業界是如何規劃並開發一個大型專案,以及在多人協作下要如何進行版本控制。在叡揚了解到一個大專案的規劃和開發是可以有條理且簡潔的,我覺得不只在程式上,也在整個開發過程中的大小事上面學習到了很多,像是開會流程、如何跟上司彙整進度、跟同事間的信件往來…等等,也可以較早開始適應每天重複的上下班生活,可以趕快體驗到這樣的上班生活究竟是不是自己所想要的。
最後我很感謝我們的主管肯尼,從實習面試到新訓,都待每個實習生很好,常常會關心我們,下部門後有問題找他,他都會很願意的替我們解決問題,我覺得他是非常重視我們這些實習生的,能夠認識他令我學習到待人處事的方法以及做事認真的態度,不過我下的部門幾乎每位同事也都很客氣,去問前輩問題時,旁邊的人自己主動還會移出一點位子讓你好把筆電放在桌上問題,如果我以後要教導後輩的人時,我一定要帶他們如當初我的前輩待我時的好。