1. 程式人生 > >跳槽後在新公司的一點感悟

跳槽後在新公司的一點感悟

  最近跳槽到一家創業多年的小公司,帶一個前端小團隊。

  在這一個多月中,主要是熟悉業務,維護老程式碼,編寫新業務等,期間也發現了當前團隊出現的種種問題,打算在接下來的日子裡好好改造。

  接下來給自己定的小目標是,改變混亂的局面,提升工作效率,團隊更加穩定和規範化。

  

一、適應新的環境

1)規章制度

  首先要適應公司的規章制度,主要還是要習慣上下班時間,這和以往不同,本來是到點就走的。現在的話,每天都比較忙碌,下班時間也不定。

2)新的角色

  其次是要適應自己的新角色,新公司負責的事情要比老公司多很多,以往還是蠻閒的,但現在不同。

  並且要帶團隊,考慮的層面也得比以前更高一點。不能只想著自己的個人發展,更多的是要關注團隊發展,為團隊的每個人負責。

3)開發模式

  接著是要適應當前的開發模式,上家公司只做H5相關的事情,也就是做些效果、小程式之類的純前端工作。

  而這裡還會涉及到一些後端任務,用Node做了中間層,整合各類資料,執行Redis快取,有時候還要直接操縱資料庫。

  剛開始還真有點不適應,不僅要學會用終端,還得知道怎麼通過看日誌來排查各類問題等等。

4)業務邏輯

  最後就是要熟悉業務邏輯,前提就是要把專案跑起來,知道怎麼修改。

  目前公司缺失各類文件,員工離職後很多資訊就只能通過程式碼來了解其中的邏輯了。

  為了方便除錯,特地搭建了單元測試(主要測試Node方面的程式碼,Mocha+Chai+Supertest),這樣既能保障程式碼質量,也方便了解某個函式的功能、變數的值等。

  目前還有很多我不瞭解的業務,未來將會經常遇到。對於這些未知業務,除了被動的遇到後再瞭解之外,還可以主動與各個組的相關負責人瞭解,未雨綢繆。

5)難點

  祖傳程式碼還在執行中,程式碼寫的雜亂無章,並且很多服務已無人維護,但是由於缺乏文件,難以輕易地修改。

  人員缺乏,每天都疲於修復各種BUG,以及各種雜七雜八的事情,經常要花大精力去檢視程式碼、日誌和資料庫,計劃要寫的程式碼或要做的事情經常無法按時完成,難以達到平衡。雖然短期內加班可以解決,但長期的話還是得補充人員。

二、制訂遊戲規則

1)前後端真正分離

  當前公司對前端的要求有點高, 既要會市面上主流的前端技術(HTML和CSS是必須的,還有React、Vue等),也要有後端開發的經驗,比如操作MongoDB和MySQL等。

  之前公司已經有好幾個員工因為這些原因而離職了。以後如果還這麼招人,定會遇到許多阻礙,畢竟沒有大廠的條件。

  前端會負責一個比較龐大的後臺管理系統,如果是些簡單的查詢更新等資料庫語句,其實複雜度上倒也沒什麼,只不過費時間而已。

  但前端還要處理金額敏感資訊,這塊還是需要交接出去,過來後就和後端的大佬們討論了方案,做到真正的分離,後端組的人也是積極響應,不過這種交接過程將是比較漫長的,畢竟資源有限。

  未來儘量由後端伺服器組提供資料來源,前端就做資料整合以及頁面效果的工作,儘量做到專精。

2)統一技術棧

  當前前端有些技術棧比較老舊,有些活動頁面甚至還在用jQuery製作,這樣很限制團隊成員的發展。

  因此打算統一技術棧,將後續的專案遷移到Vue或React這些目前比較主流的庫,這樣也有利於團隊成員的自身發展。

三、補全各類文件

1)技術文件

  在我進新公司之時,有個老員工要離職了,他了解很多業務,於是就安排他儘可能多的記錄到內網的Wiki中。文件雖然不算全,但好歹有個雛形,未來慢慢補全。

  當前前端組維護了多個專案,這些專案又分別使用了不同的技術棧。

  例如後臺管理系統前臺採用的是UmiJS+DvaJS+Ant Design+React,後臺採用的是KOA2+NodeJS+MySQL+MongoDB。

  自己花了點時間和精力探索了一下這兩個專案的執行過程(畫了幾張流程圖),還對其中的技術細節做了歸納和總結,降低後續新加入的小夥伴的理解難度。

2)程式碼註釋

  未來的話,還需要完善原始碼的各種註釋,目前很多元件和函式都是沒有註釋的,只能一行一行的看程式碼來理解,很是費勁。

  公司也打算用工具(例如swagger)通過寫註釋的方式,自動生成介面文件。

3)各類業務

  其他組應該也會有相關文件,未來需要有個引導頁面,跳轉到相關業務中。如果沒有的話,需要找個協商人,讓他安排人手去補齊。