成為軟體工程師的一年後

2021/07/31閱讀時間約 2 分鐘
即將到職滿一周年,平時每幾個月就會記錄一下期間內做了什麼、學了什麼,算是給自己的總回顧。

程式開發

工作上使用的後端語言是Java,由於第一次在開發上使用整合開發環境(IDE),對環境建置跟架構上很不習慣,畢竟以往寫程式只要用文字編輯器開啟,編譯後執行看結果,不需要一大堆xml的設定。因此在新人的階段上,程式實作沒什麼問題,多半時間都卡死在環境上,也趁這個時候爬爬整個運作的機制,最後反而看xml檔案還比較直觀。
程式開發採MVC架構(Model-View-Controller),考核要求在一週內完成一個前後端程式,包含後端資料庫的存取操作、前端呈現資料,以及串接前後端完成一些功能。基本上一部分的難點在於需求文件有許多矛盾的地方,另一部份在於這是我初次接觸網路實作。以前頂多使用程式刷題目,以算法為練習主軸,所以對網路開發各階段應該做什麼、怎麼寫才可以避免一些坑不太有概念,結果交出來的成品雖然能動,卻還是存在不少瑕疵。
考核過後開始大量接收專案派件,派件內容涵蓋來自各業務部門的需求,針對需求去做優化調整。公司在作業流程上相對完整,模組開發需撰寫JUnit測試,包含正向、反向的測試案例,透過git做版本控制,在sourceTree上操作。

系統分析

成為SA/SD負責特定子系統,終於聚焦在特定業務上,能掌握的資訊也比較多,程式開發上能考慮較完整的面向,採取較適合的開發方案。相對的,需要做的事情已經不侷限在程式上。舉凡專案初期跟使用者溝通需求、開發面跟上下游跨部門溝通資料的傳遞形式與限制、實作面跟派件開發人員協調作法、契合公司系統加入的巡檢機制跟問題處理,以及撰寫流程開發文件等等。從工作上獲得許多軟實力的經驗,下班後則自己磨練硬實力的技術提升。
最初想轉來寫程式的工作,主要是完成程式後的成就感,不論是程式效能的優化或是提升可讀性跟維護性,都是實力提升的證明。雖然,在使用者的領域不太會有明確的體會,可是做為開發人員,卻是實際看的到的貢獻。
程式相較於人單純許多,給什麼指令電腦就做什麼事,也所謂垃圾進、垃圾出(Garbage in, garbage out),反倒與人溝通的世界,邏輯充滿了矛盾,需要許多似是而非的類比,讓不同領域的人腦中有個印象雛形才能繼續對話。因此,現在的我對軟體的追求,漸漸從一開始單以效率為主,慢慢多考慮程式架構及維護成本。或許,我沒辦法將這些程式都改成最佳方案,但我只能盡量寫出容易隨需求變動而修改的程式。
10會員
53內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
發表第一個留言支持創作者!