工作內容

一、 工作環境介紹

因為疫情的關係,導致我們的新人訓是採取work from home的方式,所以只有在報到第一天的時候進到位於台北市中山區的世界之頂大樓,以及台銀大樓進行報到和實習的講解。新人訓完後緊接著就是分派部門,我被分派到的部門是BDBU--雲端與巨資事務處底下的產品部門,原本是在台銀大樓,但那邊退租之後就到了世界之頂商業大樓,而在這裡的座位相對台灣銀行大樓多了隔板,個人比較喜歡具有一點隱私的世界之頂大樓,且附近就是晴光市場,飲食方面可說是完全不用擔心,有很多選擇,且兩邊離中山國小捷運站都很近,茶水間、廁所、辦公區域、甚至咖啡機和零食區等等皆相當完善且乾淨。


二、 工作詳述

(1) 新人訓

在叡揚資訊,只要是剛進來公司的實習生都要接受為期大概三個禮拜的新人訓,而我們當然也不例外,新人訓除了會教導實習生一些基礎的程式能力,例如SQL語法、前端的版面編排語法像jQuery, HTML, CSS等等、還有後端的的資料控制,以及最後的對我們來說比較特別,學校不會教的factory,和利用工具來評斷自己寫的程式寫得如何,有沒有多餘的程式碼,達到讓程式碼更精簡的目的、還有測試程式碼的環節,透過…來瞭解這段程式碼能過程成功且正確的運作。而受到疫情影響,所以我們總共三梯所有人都是採取線上受訓,線上的好處就是如果有聽不懂的地方就可以重播一次到聽懂為止,不過在新訓的時候,說是很辛苦但也是收穫滿滿,常常跟同學待到半夜才慢慢回到宿舍去,但其實短短的這個時間就收穫到在學校比不上的學習經驗了。

(2) BDBU

我被分派到的部門是雲端與巨量資料事業處底下的產品部門。進到部門後前輩首先叫我看看一些關於Kendo chart, AngularJS,還有解說系統等等,讓我先熟悉一下第一份的工作內容會是什麼樣子,到了下個禮拜主管才派給我第一份單,我覺得相對於其他同公司的同學來說,我的工作內容稍微比較簡單易懂一點,簡單來說就是做碳盤查系統裡面的指標管理系統裡的一支新功能,而第二份單也是做功能,不過目前還不太了解部門裡的工作跟雲端有什麼關係,之後會再找機會來去詢問主管及前輩。


三、 實習期間完成之進度

(1) 三年級下學期-碳盤查指標系統-ECF能量指標分析

第一支程式主管有說會比較輕鬆一點,簡單說就是讓工廠的人能夠看到時間內什麼樣的機器所消耗的能量有多少,其中有用到Kendo UI的drop down list可以選取廠區或時間,以及用Kendo chart和grid來表現出詳細能源使用的資料。

(2) 三年級下學期-碳盤查指標系統-SEU重大能源指標分析

第二支程式就相對多了一些複雜的地方,除了一樣有一些條件列來篩選出資料以外,還可以選擇用比率或是絕對值來看出圖表呈現的資料,以及在grid的部分,有checkbox可供使用者打勾,代表此措施有一些重要的細節需要紀錄,紀錄好之後擁有存檔功能,會存進資料庫裡。

(3) 暑假期間完成進度:

在暑假剛開始的時候因為另一個實習生離開了所以我負責做完他要做的基線功能,而在暑假期間我被分派的工作內容大都是之前已經做完功能的bug的修改,以及主管覺得要另外新增的小功能,例如下拉選單的呈現等等。還有關於平台內部的功能優化,例如首頁公告要設定是否置頂,以及在公告內容套用kendo Editor等等。

(4) 暑假期間心得:

因為整個暑假在家工作的關係其實輕鬆很多,雖然在問前輩問題時會有點困難,畢竟現場要操作畫面會比起線上來說還要方便很多,也能比較快找到問題在哪裡。接下來關於工作的內容,因為比起上學期一直都在做新功能來說比較不一樣的是,修改bug需要去看別人寫過的程式碼,相對看自己寫過得來說難免會有點困難,尤其是又直接修改而不是像之前一樣的參考,也是一個很寶貴的經驗,畢竟程式也不會一直都是自己寫,也需要具備能理解其他人寫的程式碼的能力,不過在那之前一些程式的Code Guileline要搞懂,寫程式也要習慣寫註解等等,方便自己看也方便他人看,提升寫程式的能力。

(5) 四年級上學期心得:

下學期的時候基本上跟上學期差不多,工作內容包括了完成了兩支功能跟檢查現有功能有無問題及改善現有功能等等。完成的功能為供裝狀態查詢,此功能是提供給客戶查看雲端的訂單開通及供裝進度,第二個功能是能耗碳排儀錶板(集團版),基本上就是以現有的能耗碳排儀錶板為基礎,建立集團版的的能耗碳排儀錶板,讓客戶可以查看多公司數據。檢查功能的部分由於使用的客戶不一樣,使用目前客戶的資料時可能會有一些功能產生錯誤,在找出錯誤之後就是進行修改及改善。


四、 工作當中扮演的角色

一進到部門之後的前兩天其實主管沒特意叫我做什麼,前輩也只讓我看看之後可能會用到的技術以及正在做的系統大概是怎麼運作的,接下來主管直接派了一份工讓我做,內容是在指標系統裡面做出一支功能。第二份其實也是,目前為止都是在做指標系統裡面關於碳盤查的功能,在做到個段落之後或是做完整支功能的時候要push到git上,讓其他前輩把我做好的程式推上測試機。而部門裡面每天早上都會開早會,大家會報告自己今天的進度,主管也會詢問關於一些工作的事情,也會對做完的功能做測試紀錄讓我修改。


學習

一、 新訓過程

(1) 新訓心得

新訓的過程通常都是先上課兩天,最後一天會安排台北或是高雄的講師來幫我們做code review,而每天早上9點和下午3點都會開會短暫迅速的開會討論一下每個人的進度如何,偶什麼問題等等,而由於線上教學的關係無法實體的關注到所有同學的進度,所以需要密切開會或是向講師和前輩提出問題討論,而讓我不太習慣的是,講師們都說要頻繁的問問題,因為畢竟都是學校沒有教過或是沒有教的那麼深入的東西,如果有問題沒有提出來,那麼就不好讓他們掌握我們學習的進度或是學習的狀況。但我問問題的頻率不高,在MVC的課程的時候也有趕不上大家的進度等等,讓講師有點頭痛,因為我認為只要多花點時間自己也能找出解法,或是覺得也多花點時間就能補上進度,但是其實完全不是這樣,就像前面提到的,如果我有照實的提出我的問題或是學習的狀況,那麼在新訓的過程也會相對好過很多,也不會讓講師覺得我很難搞,甚至是說,就算是沒有問題也是可以向講師或是向前輩們提出來討論,講師有跟我們提到很重要的一點,就是不怕你問,我們現在是實習生,是在學習的時候,如果在新訓的時候沒有多多提出問題,拿出熱情讓大家知道自己有想學的心,那麼真正在部門工作後也不會問問題,這樣造成的問題和影響會更大,對專案的進度或是公司的名譽等等的都是。

(2) 新訓的學習成果

在新訓期間學到了很多,不管是前面提到的心態,心得的部分,在技術上也學到了很多技術,像是SQL,有關前端畫面的CSS, jQuery,後端部分的jQuery, Ajax,程式的共用處理,測試程式,和一些專門檢測程式碼的工具例如Jenkins, SonarQube等等,也有其他基礎的部分也有教給我們,像是變數和function的命名規則,寫註解,還有利用git做版本控制等等,除了為了未來有團隊協作的可能,具備這些知識將可以在團隊裡面跟大家好好配合以外,對於自己當下寫的程式碼也有許多好處,程式碼若具有大家都懂的命名、良好的註解、在寫到一定的程度的時候就push上雲端,將可以在任何人,包括自己,在任何時候看懂程式碼的時候就可以瞭解到這段程式碼在寫關於哪個方面的,這支function又有什麼功能,配合註解的解說,儘管前面提到的程式技術可能都只記得基礎的,會忘掉大部分,但是關於這些基本的先備知識一定會記得牢牢的,畢竟複雜或是艱深的部分需要用到的時候再上網找就好,重要的不是會多少,而是有能夠應對人和狀況的技能才是最有用的。

二、 專業技能

(1) 學習到如何延續前面寫過的人的程式碼

因為在學校做作業或是自己做專題,通常都是自己從頭且從零開始寫,或至少是接手由其他同學先寫過的程式,在這樣的情況下,並不會有銜接上的問題,自己和同學之間所學的東西基本上也會差不多,所以接著寫下去也不會有問題。但是在實習中我所要做的是之前由公司其他的部門所寫過的系統,讓我在寫新的功能的時候遇到了一些問題,舉例來說,公司裡面都會用到前面有提到的Kendo UI,而Kendo UI有自己的原生語法,但是到了我手上的這個系統,並不能使用其原生語法寫出想要的功能,要使用前一個部門定義的方法才能寫出來,變成我要常常去其他已經寫完的功能裡面查看程式碼,來去搞懂這個功能應該要怎麼寫才對,其中就很常按F12來去看源頭為何,總結來說一個功能就會花更多時間來去解決。但這也讓我訓練了對程式的邏輯觀念,才不會在程式碼中迷路。

(2) 在部門中用到的專業技能

總結來說我在部門裡用到的專業技能大概有SQL,MVC,C#,Typescript, Angular等等,那SQL不用多說,怎麼樣才能撈出需要的資料,或者是需要符合什麼條件下的資料等等,都是不可落缺的技能,MVC的部分跟以往在學校學到不太一樣的是在畫面的渲染部分由JavaScript變成TypeScript為主,而剩下其他三者除了C#以外,我接觸到的都是實作的部分,理論部分反而不太了解,畢竟公司不是學校,每個人都有事情要忙不能手把手的交完實習生全部不懂的事情,前面也有說到我現在正在接觸的系統,之前是尤其他部門在做的,有很多他們自定的寫法,因此在學習這些不熟的東西就相對的難且一知半解,畢竟自定的寫法在網路上是找不到解答的,還是得找前輩解說才行。對於這些技術我也還有更多的努力空間。


自我評估及心得感想

當初會選擇校外實習,而不是選擇待在校內做專題的原因其實還滿簡單的,就是想要出去外面多看多聽,累積一些實務經驗,了解現在社會上的公司是如何運作的,而現在的客戶要的是什麼,公司想要的是什麼樣的人,我覺得能在畢業前事先知道都是非常難得的。而在實習差不多快半年的現在,在技術面上雖然的確是學到了學校沒有教過的內容,但是對我來說影響比較大的畢竟還是心態、也就是心理層面上的部分。首先在公司並不像在學校裡面一樣,我覺得更多的是壓力上會有更明確的東西推著自己,畢竟到了大學要學著自己掌控自己的生活及課業,在學生時期來說應該算是最獨立自主的時期,相對的也容易變的怠慢,不管是課業還是生活環境或生活習慣,皆須要自律才能不變的糜爛或隨便,甚至可以說不用對自己以外的人負責任。但在社會上,在公司裡就不一樣,要對自己的案子負責、要對同事們負責、也要對主管、對公司負責,其實對現在的我來說,面對一項新案子,在看規格的時候我並不能抱持著80%以上的信心可以完成它,但每個早上都必須要開早會,向大家報告自己今天會做什麼事,要在什麼時候之前完成等等,當然主管也會訂下期限,畢竟這不是學校的作業,而是要交給客戶的商品或是服務,完成了多少、介面好不好看、有沒有沒發現的bug等等都是自己要督促著自己,現在是對著比以前還要更多的人事物負責,比起對學校的課業我感覺我現在有著更大的壓力在推著我,讓我更有動力去完成我該完成的事情。這將近半年的時間下,我對我自己的評價其實並不高,雖然說是進了程式能力並不需要很厲害的部門,但是也讓我發現我對於寫程式並沒有更多的熱情或是實力存在,感覺上簡單的東西我卻要花比其他人還要更多時間去完成,但我沒有灰心,我覺得自己還能做的更好,在心境的調適上我也覺得應該能夠調適的更好,一旦讓自己在工作的環境上變得沒有壓力一點,我想工作能力應該也能變得更好,而且做久了,完成的案子多了,更加適應整個工作的樣子的話,整個累積起來的經驗和成就感也才是能夠達到我想出來校外實習所得到的東西。雖然實習還沒結束,但我想等到過完這一年,對於軟體業我應該也會有更多的認識,實習結束之後是否能繼續待在目前這間公司,或是要往其他領域前進,我也會有更多更完整的想法,畢竟我得到的經驗,能用在社會上任何地方才是我真正得到的東西。


對系上的建議

我覺得系上舉辦校外實習很好,讓很多學生如果想提早先出去累積工作經驗,或是實作能力強的學生,又或是還沒決定好畢業後要工作還是要考研究所的學生,都是十分有用的,提早讓學生們知道自己要往哪一個方向走,對於現在並不是只有讀書高的社會來說也不會讓學生覺得迷茫,這邊我有一些建議想要跟系上推薦,第一個是在三上的時候,我認為系上應該可以多一點跟廠商,跟公司的說明會,就算沒有邀請到公司芳來說明,讓多一點的學生以實際經驗來說明我認為也是讓學弟妹可以更好的理解這份工作在做什麼,也可以當作是一項參考的依據。第二是我覺得系上可以討論看看是否要把實習時間改成為四年級,雖然在三年級的時候離畢業還有一年,感覺可以讓學生有多一點時間可以讓學生可以考慮未來的出路,但是伴隨而來的有很多不方便的地方,例如居住方面,又或是我們跟四年級的學生來比,其實感覺是四年級的學生相對擁有更多競爭力,且畢業後若公司要續聘該學生也可以在時間上做一個比較好的銜接,以上是我的建議。