從錄取到獨當一面:網頁工程師的職場模擬戰

文、Raymond老師
「你能想像一年後的你在做什麼嗎?」
對許多嚮往成為工程師的人來說,學習技術本身只是一種手段,我們最終的目的都是希望可以拿到一份薪資符合預期、工作環境優良的offer,然而一旦你踏進了公司大門成為員工時,我們所面臨的往往是層出不窮的需求以及被deadline追著跑的壓力,也許公司會給你適應的時間或是有mentor可以帶你,但有些人也是到這個階段才發現,這跟他想像中的似乎不太一樣。
因此這系列的主軸便如標題所說,我們會模擬一名工程師從錄取到可以獨當一面,在各個階段中可能會碰到的問題或挑戰,由於筆者本身也是網頁工程師,所以我們將會以junior網頁工程師的角度去進行這個系列。
歡迎入門
在經過一場場技術考驗與面試之後,你終於成功踏入工程師的職場大門,雖然在兩週後才要進到新公司工作,但兢兢業業的你仍然想要先做一點準備,好讓自己能快速地適應這第一份工程師工作,那麼問題來了,要是只能選一個必定要在工作前先做好準備或是熟悉的技術,那麼會是什麼呢?讓筆者來選的話,肯定非git莫屬。
什麼是git,為什麼需要它?
對於一個剛入門且可能只有一到兩個side project的junior前端來說,即便有用過git可能也只是把它當作一種可以存放程式碼紀錄的倉庫而已,甚至會認為GitHub就是git本身, git的重要之處在哪,大致可以用三個方向去描述:
1. 歷史記錄的追蹤
使你的程式碼有跡可循,更方便去進行回溯與修正。
2. 多人協作
使多名開發者可以同時工作,彼此不會干擾。
3. 安全性
只要有金鑰或存取權,便能隨時還原遠端倉庫中的內容。
git其實就像一位給程式碼專案用的秘書,只要你在專案中加入這位秘書後,他就會開始幫你記錄你專案中的增修刪改,這也就是第一點提到的追蹤功能,而後兩者都需要有遠端倉庫的存在才能使其發揮效用,最普遍大宗的便是GitHub這個平台,若要進行練習,你需要做的就是在你的電腦中裝上git工具,並找一個遠端倉庫去實作。
多人協作中使用git的要點?
相信在網路就能找到許多關於git的教學,包含從安裝到基本指令該如何操作都已經十分萬全了,但對於新手來說,最缺乏的經驗肯定是多人協作,尤其是對在學習階段時獨立開發side project的人而言,branch merge rebase等等概念基本上也不好想像,這邊就針對多人協作的部分再多延伸一些內容。
如同先前所說,git其實就像一個程式碼秘書,他將你手上的專案歷程記錄都保留了下來,那麼再想像一個情境:今天專案本身是一本書,主管拿著這本書複印了兩份影印稿以後,分配給你跟你的同事,主管要你們分別處理第一章節與第二章節的錯字校對,於是你們各自回去處理工作,過了一週後你們完成了工作並將影印稿交給了主管,主管此時必須把這兩份修正好的影印稿內容合併回他手上的這本書中,於是他將影印稿丟給了秘書請他處理,秘書好好的比對了這兩份文件後發現,由於你初來乍到,不小心搞錯了範圍而導致你處理的範圍跟同事有了重疊,於是秘書回頭來問你們究竟該以哪份為主,你跟同事討論一番後得出了結論,秘書也因此可以好好的完成合併比對的工作。
而有基本git概念的你肯定很快就發現了其中的要點,兩份影印稿代表的便是你與你同事各自從原書(master)中開立出去的分支(branch),而中間你們可能會做一些同步(pull&push),最終秘書在處理的便是這些影印稿的合併(merge),那麼他比對到了內容有差異或衝突(conflict)時,你跟你同事就得決定誰的版本才是正確(rebase),最後達成一致以後才能提交出去。
每個團隊處理git的workflow肯定都不盡相同,但只要先有了基本概念,後續要去釐清整個流程中的步驟都不是難事,最怕的就是一知半解,嚴重者甚至可能會造成整個專案被錯誤的合併覆蓋,在多人協作時請一定要特別小心,若想要更了解網頁設計,歡迎填寫下方表單預約諮詢課程喔~
FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/@Lccnet-TW
痞客邦Blog:http://lccnetvip.pixnet.net/blog