在 ASTRO Camp 結業後,我到了一家以通訊為主的系統整合商當系統工程師。負責專案(或其中的某個系統)的建置、控管以及維護。主要處理的是以容器部署的應用系統。除了要熟悉作業系統(Linux)之外,還要瞭解網路管理,以及熟悉容器與雲端工具。
學所非用,但仍能觸類旁通
雖然工作內容跟 ASTRO Camp 培養的網站工程師不太一樣,但還是有不少東西是用得到的,像是一個網站的架構。因為實際上到處都會用到網頁,很多公司的內部系統也都是網頁。畢竟對於使用者來說,不同的系統其實就是不同類型的網站(使用者大都在電腦前使用瀏覽器開網頁使用,透過網頁去控制系統裡的各種設定),平常在處理網站的概念也可以拿來使用,像是這個頁面怎麼呈現?要怎麼改畫面?Controller 怎麼作用?資料怎麼打等等。
在工作一年後,回顧過去這一年來的經歷,發覺有許多在 ASTRO Camp 的收穫至今仍然受用。
因為 Ruby on Rails,快速的學習了一種程式語言,也熟悉了一種架構(MVC),使得在工作上遇到其他語言或是網站的架構,雖然不見得能立即著手修改,但在一開始就能有個大致的輪廓,對於理解手上的系統有很大的助益。
版本控制,清楚掌握自己的資源與能力
不過,最常用的還是版本控制。畢竟進到一個專案之後,裡面包含了許多個系統,每個系統又有不同的建置環境、不同的版本,再加上各式文件,其實零零總總加起來的資料是相當多的。要能夠妥善管理這些資料,除了要先將資料(不管是文件、原始碼、應用工具等等)分門別類確定好結構與歸屬外,最需要的就是版本管理。畢竟知道自己有什麼、可以做什麼很重要。有了明確的版本管理才好去聚焦在明確的問題上,避免使用到不正確的資訊、做了錯誤的判斷;即使做了更動,也可以知道更動的來龍去脈。
有了版本控制,不只是讓大家的進度可以同步,讓大家知道彼此的位置、彼此的差異,其實對個人來說也是一種紀錄。因為常常要做的事很多,並不見得有時間好好回顧、整理過去做什麼事。但如果有整理的話,之後就有機會可以用到,這對於一個新手來說是很重要!
主動尋求支援,不管在哪都很重要
在 ASTRO Camp,我養成了主動尋求支援的習慣,到職場依舊受用。而除了看懂程式語言和版本控制之外,最大的收穫則是主動尋求支援。
平常會遇到的各個東西:各個系統、各種文件、各項專案,可能都有很大的進入障礙,但在實際工作中,不太可能有充裕的時間可以進行養成,於是就必須在一知半解的情況下去處理手邊的狀況。這種情況下,更是讓每個人的經驗不容易被以文字、書面的方式紀錄下來。
在 ASTRO camp,因為自己能力、智識還不夠,自然需要請求他人的協助,在這個過程中就很需要自己將問題整理清楚(現在是什麼情況、已經做了哪些嘗試、有哪些可能性等等),讓他人容易理解目前的狀況,看看可以從哪裡著手協助。因為以往有著這樣的經驗,往後在工作中遇到類似的情況時,也較為能夠整理好手邊的問題,向外尋求協助,以便讓專案能夠順利進行。
在一年後,回顧過去,發現自己與一年前跟結業的差別、發現與一年半前進入 ASTRO Camp 之前的差別,確實收穫甚豐。前後比較起來簡直像是平行宇宙,在進入 ASTRO Camp 之前,從來沒想過這是一段相當豐富的旅程。