精誠隨想行動科技股份有限公司 1091748 張雅青
姓 名:張雅青
學 號:1091748
指導教授:林耀欽
一、工作環境
我的上班地點是—精誠隨想,位於台北市內湖區瑞光路258巷2號7樓,公司距離捷運港墘站約十分鐘的路程,附近也有許多美食小吃,不論是交通或吃飯都非常方便。上班時間是8:30 ~ 9:30,有1個小時的彈性時間,上班時間為8小時。
二、工作內容
我們部門是全端技術研發處,主要是在做前後端的開發,而我主要負責的是按照專案需求進行.Net的程式開發。每周三有舉辦技術分享會,會派一個人準備一個技術相關議題和大家分享,遇到開發上的問題,也可以提出來大家一起討論,時不時也會有Code Review來完善、精進程式碼。
1. 訂票系統 2/1 ~ 3/15
主管派發的第一項任務是做一個訂票系統,說是新人進公司的第一項作業,系統分為管理端以及客戶端兩部分。 1. 管理端的功能:登入後對場次進行新增、刪除、查詢、修改,須包含訂票的剩餘數量; 2. 客戶端的功能:可登入以及註冊會員,除了查詢場次外,登入會員後可訂票。 除此之外需要考慮當多個user同時進到系統內訂票該如何解決。
2. 簽核套件 3/15 ~ 6/5
開發的套件是用來提供使用者於開發專案時,使用本身的資料庫,快速建立基本的簽核系統,並提供建立流程、簽核、撤單,以及查詢簽核狀態與歷史紀錄等各種方法。
3. 暑假期間~
暑假期間到現在我主要的工作是網站API的開發以及撰寫規格書。
三、學習
1. 預存程序、單元測試以及Debug
與ORM(Object Relational Mapping,物件關聯對映)相比, 預存程序對於處理複雜查詢時速度提升且性能較高,預存程序編譯一次並直接從數據庫執行,但是ORM要出入多次資料庫才能完成指令,面對大量資料以及查詢時,使用預存程序較不易使伺服器癱瘓。
單元測試能夠測試一段邏輯是否符合程式開發者的預期,透過單元測試能過模擬出不同的情境以及產出,能夠測出一段邏輯中的錯誤以及未考慮到的因素,提升程式碼的品質,才不會出現改A壞B的狀況,也能更好的幫助程式開發者Debug。
2. 程式架構、Coding Style以及Code Review
對於程式開發而言,有一個好的程式架構十分重要,能夠讓程式易於理解與開發,每一層中的組件只處理與該層相關的邏輯,讓關注點分離,也利於單元測試,確保每一段邏輯都能夠正確執行。
在進行專案開發時,為了讓共同的開發人員以及維運人員更容易看懂程式碼,程式的易讀性就顯得格外重要,像是在公司開發專案時,參數、變數、方法、資料表欄位……等的命名規則都不一樣且命名要有意義,還有排版、括號、換行……等的規則,還有像是優先處理正項條件這類型的規則,都能夠讓程式碼更清晰、在修改程式時也比較好操作。
在開發程式時,難免會遇到瓶頸,Code Review時能夠更清楚開發者的想法,遇到的困難也能提出來一起討論解法。在我一開始的Code Review時,主管以及工作夥伴都會提供給我改進程式碼的意見,像是加註解、寫Log……等,遇到瓶頸時他們也會提出各自的想法,讓我的思路更清晰。
3. 程式規格書與溝通能力
一份程式規格書能夠促進後端、前端以及客戶的溝通,能夠更了解需求,擁有好的溝通能力,更是如此,在開發功能時,確保與同事溝通時的認知一致,達到資訊同步,也在遇到問題時,能夠及時提出與應對,讓工作效率提升。
四、自我評估及心得感想
關於自我評估的部分,一開始其實在做第一項主管派出的作業時,我在遇到問題,摸不著頭緒時,不禁在想,我是否能夠勝任這份工作,在學校將作業做出來是一回事,在工作上要做出一份符合領導以及同事期待的程式開發又是另一回事,第一次的Code Review是在第三週,令我印象深刻,同事們積極的提出意見、更好的做法,也詢問專業問題以及程式上的漏洞,當我回答不出來時以及思考自己想得不夠周全時,覺得自己的能力不足,學校的作業要求只是把程式開發出來,工作上除了須具備邏輯思考能力,要求的還有安全性、簡潔的程式碼、需要考慮到各種情況,以及運行速度、伺服器的負荷程度、效能……等,除了專業能力,心態上也需要一段時間適應。
在正式開始套件的開發時,需要學習許多新的知識,像是如何寫預存程式、如何做單元測試,這些都屬於自我學習,真正困難的其實是該如何寫出符合預期的程式碼,這時我認為"敢問"變得十分重要,也感謝前輩能夠不厭其煩的回答我的問題以及提供方向讓我思考,讓我能夠將這些知識內化成自己的,透過引導開發出符合預期的功能,也讓我產生了一些信心以及成就感。
至於心得感想的部分,我認為每天的程式開發都是一次次學習,十分充實,也讓我在開發程式時,思路更佳清晰,每週的週會,主管會讓一位前輩分享新的技術應用,讓我接觸到更多領域的資訊,也會關心我聽不聽得懂,會用更淺顯易懂的方式或者是舉例來讓我了解這些知識,前們也都很包容,能夠耐心的解答我的困惑,經過了四個月的實習,我感覺自己的各項能力都有所提升,雖然在有時還是會掉鏈子,但是我努力讓自己能夠不拖到前輩們的後腿,一天比一天進步,不論是成功、失敗或者是遇到的挫折、困難,對我而言,這些都是實習中很寶貴的經驗。
五、對系上的建議
首先,十分感謝系上提供這個機會讓我們能夠去校外實習,去了解到真實的職場、工作,真正的參與整個專案。在工作的同時,對於未來發展的方向有更多的認知,在畢業時不免對於未來有些迷惘,透過這樣的實習制度,讓我感覺更加踏實,知道自己適合甚麼、想要甚麼。對我而言,能夠將所學運用到工作上, 將學習的知識與工作接軌,打下一份基礎,對於未來有很大的幫助,也能夠清楚知道現在讀的這項專業如何運用到工作上。希望系上能夠繼續維持這項制度,讓學弟學妹們透過實習獲得無法從教科書中學習的知識與經驗,更加了解未來的職涯發展方向。