當成功進入編程崗位時候,其實有很多東西需要面對;面試的時候,你也許面對不少挑戰,單那些主要是口頭上的比試。到了正式“入伍”,那些挑戰會是“真實”,而且需要快速適應;
文章會分享一些入職時候需要處理的東西,幫助大家更快上手;而作爲主管的你,也可以閱讀,這可以令手新同事盡快上手幫助你。
心理準備
作為軟件工程師(或稱程序員),準備入職前,其實需要有好些心理準備,這個行業的東西走得很快,而且每一個人都可能很忙,未必有專人培訓你怎樣上手。例如最近幾年冒起的Web3,BlockChain和元宇宙技能,就需要邊做邊學;
此外,開發工作由於限期和比較多不穩定因素(例如Debug),開發團隊有時候會很忙碌,所以你也會一樣忙碌的。
而大部分軟件公司的開發流程未必很規範,就算有,可能問題Schedule和變得太快的原因,會不停演變,所以,你需要懂得“適應變化”。
簡單來說,軟件開發的工作環境有它美好的一面,但也有很多讓人“疲累”的地方,所以我建議有以下的心理準備:
- 要懂得適應新環境
- 要懂得面對忙碌
- 要懂得迎接挑戰
- 要懂得自我管理和安排事情
- 要保持熱情
最後一點很重要,忙亂的環境很容易消磨熱情,但如果你真心喜歡開發,就需要好好保護你的”熱情“了。
認識你的同事
當你進入工作環境,就需要和其他人共事,而如果你希望工作順暢,就要認識你的同事。
以下是不同類型的同事,和你需要留意的地方:
1) 上司:首先你需要認識就是你的上司,因為他會安排你任務,也會影響你的升遷。有運的話,他們會轉授一些功力給你。當然,他也有責任幫助你完成任務。
2) 老闆:另外,就是認識你的好闆,因為他會是公司的總負責人,也是金主;所以他對你說的事情,你不能忽略;不過,有種情況,你老闆吩咐你做的事情和你本身工作安排有衝突,這裡情況,你就需要跟你的上司溝通了。
3) 同組同事: 同組同事就是和你一樣是軟件工程師的人,這些人將會是你好好的幫助,可以解決很多問題,也可以讓你成長。因為編程需要很多知識上的碰撞。
4) 協作同事:除了技術同事,也有很多其他部門的同事才能讓軟件做好,例如商務同事幫助你了解用戶的要求,設計部然軟件有一個美好的外觀。
5) 人事部:人事部也是不能不知道,因為請假,工資和福利等事情,就是需要她們幫忙了。
6) 麻煩的同事: 最後,就是要了解那些同事比較麻煩,這樣可以幫助你避開不必要的麻煩。
在辦公場所,總免不過有人事或是非,但是我們需要避免捲入那些事情上;作為軟件工程師,別人主要看我們做出來的東西和手藝,所以不必要的事情(是非),就盡量不要管了。
認識你的職責
進入職場,或你的職位事,必要要知道自己負責什麼事情。基本上當然是編寫程式(開發軟件),但是你也需要請教你的上司,你是否有其他責任,例如以下的事情:
- 製作需求清單或文檔(Requirement Specification)
- 項目時間表 (Schedule)
- 成本估算(Cost Estimation)
- 部署(Deployment)
當然,有些不用說也需要做,就是測試、確保你把需求做對和跟進UAT (User Acceptance Test)。
另外,你也需要了解自己在公司的近期,中期和遠期的發展計畫。
設置硬件/軟件
正所謂“工欲善其事,必先利其器”,如果要進入“戰鬥狀態”,那麼你要首先穿好裝備;而軟件開發的裝備,就是你的硬件和軟件。硬件來說,就有一個部可以讓你快速編輯代碼和編譯應用的電腦,最好是筆記本(Notebook),可以方便你在任何地方工作(編程或演示)。而軟件方面,就是程序編輯器、編譯器,數據庫或應用後端;
而不同開發工作,有不同的裝備,例如開放HTML網頁,你只需要瀏覽器和文字編輯器。當然開發Web App就需要更多,例如NodeJS、MAMP、VS Code、Docker等等軟件。開發手機程序的話,就需要不同的手機,並且需要安裝XCode 和 Android studio。
設置代碼控制
對於開發軟件來說,代碼可以算是我們的核心,而代碼控制(Source Control),就是可以幫助我們管理代碼不同版本,也可以幫助我們和其他成員分享和合併(Merge)。所以入職時,需和你的上司幫忙介紹公司的代碼管理事情。
以下是你需要知道的東西:
- 如何獲取Source Control的帳號
- 公司的代碼管理規範,Branch的命名規則
- 負責項目對應的Source Control連結
建立開發環境
要正式工作之先,你需要建立開發環境,把服務器、數據庫和應用程序等在你的機器上運行,這樣你才能毫無關係顧慮和盡情地進行開發。當必要的軟件、硬件和代碼已經齊備,其實開發環境已經建立了一半,餘下之差配置和初始化數據庫等事情。
建立開發環境這回事,通常有以下情況:
- 沒有任何本地開發環境
- 需要特地同事(例如你的上司)幫忙建立
- 有建立環境的指引
如果是情況1,這需要你認真地跟上司好好溝通了,讓開發環境出現。
如果是情況2,你可以順便製造建立環境的筆記,便利下一位同事。
如果是情況3,你可以幫助補完文檔的不足。
另外,如何你的團隊需要開發或使用自己的後端(Backend),強烈建議使用Docker來部署,這樣可以減少很多軟件安裝和件兼容性問題。
如果如果你想了解多些關於Docker的使用,可以看看我之前寫的Docker文章
製作學習計畫
當你對你的工作有一定認識後,你可以建立一套學習計畫,列出一些對你的工作有幫助的項目。例如你的工作是網頁開發(Web Development),你的學習清單也許如下:
- 網頁設計
- 基本網頁佈局設計
- 如何使用Figma
- 如何設計Wireframe
- 網頁運營
- 如何發布網頁
- 如何選擇Hosting
- 運營網誌的成本
- React開發
- 基本
- 使用MUI
- 如何使用Hook
- 如何使用Redux
而這個計畫可以跟你的上司分享並進行修訂。
製作入職文檔
入職文檔 (Onboarding Guide)是一些內容讓新同事了解入職需要注意的東西,也就是這文章的部分內容,如果你的負責同事入職,我建議你做這個文檔(這東西能重用,不會太浪費的的時間);假如你是入職的人,我也建議你製造一份筆記記錄入職需要知道的資訊。
這裡有一個簡單的的大綱:
- 歡迎文字(Welcome message)
- 帳號資料,例如電郵,電腦的登入資料
- 需要安裝的軟件(基本、溝通類、項目管理、軟件開發、文檔與知識管理)
- 負責項目
- 工作計畫
- 試用期考核條件
總結
入職流程,無論的你是入職者或者是負責上司,也是一個重要的事情;自己年輕時候,剛剛入職也是慢慢摸索上手;而以前帶人沒有太多經驗時,新同事入職總是花他和自己好幾天或整週才能上手幫助團隊;
最近幾年,由於公司的工作太趕,沒有空間讓同事慢慢上手,所以都在不斷地在改良如何讓同事儘快上手,例如入職文檔和Docker。
另外,這裡有一些參考文章,大家有時間可以看看:
大家如果想和我討論相關的主題,或有事請教,可透過Facebook和Twitter聯繫我;
另外,請加入我的FB專頁,有新文章發布時,大家就能立即知道了。
Facebook 專頁連結:https://www.facebook.com/kencoder1024
Twitter連結:https://twitter.com/kenlakoo
圖片來源:
- 封面圖片: Saulo Mohana on Unsplash
- 心理準備: Ian Stauffer on Unsplash
- 認識你的職責: Anastasia Shuraeva
- 設置硬件/軟件:Photo by Anete Lusina
- 認識你的同事: Brooke Cagle on Unsplash
- 建立開發環境:Photo by olia danilevich
- 製作學習計畫:Glenn Carstens-Peters on Unsplash
- 製作入職文檔: Clayton Robbins on Unsplash
發表留言