更多文章,參見大搜車技術博客:blog.souche.com/前端
大搜車無線開發中心持續招聘中,前端,Nodejs,android 均有 HC,簡歷直接發到:sunxinyu@souche.comjava
你們好,咱們是無線開發中心
,一個跨多棧、偏核心技術輸出賦能的團隊,包括 前端、客戶端、Nodejs 服務端 等技術領域,向大搜車總體集團提供工程保障和服務支撐。node
大搜車是一家提供汽車行業數字解決方案的公司,業務範圍覆蓋二手車、新車、租賃、金融、新零售、拍賣等方向,員工現有 4500 多人,擁有多個事業部和子公司。android
無線開發中心
團隊是大搜車研發中心的一級部門,直接向 CTO 彙報,由芋頭
帶隊,內部有 7 個面向各個領域的子團隊。面試
無線開發中心
的使命:作集團業務的發動機,推進汽車產業數字文明的落地小程序
無線開發中心
的願景:造成高度標準化的無線工程體系和完備的(開放、溝通、觸達、體驗)服務場景支持後端
總的來看,團隊主要在三個方向上作核心輸出:微信
無線工程保障
:包含 前端、客戶端 領域的全部基礎設施建設(研發基礎支撐,各技術棧開發體系,UI 體系等),全部建設都基本是多棧完備的,支撐公司內部全部事業部、子公司、業務線 端上開發的基礎設施,爲開發提效。無線平臺服務
:爲集團業務輸出通用的、完備的基礎服務,這些基礎服務有帶有明顯」端「色彩的,也有純粹的服務端基礎服務,這個方向咱們全部的輸出都是」完備「的,意思就是須要從產品、到架構、到先後端開發,總體輸出,不少核心系統支撐着公司內全部相關場景的服務。無線業務支撐
:研發中心內部產品的共同研發,技術型產品、共享型產品、數據產品等方向,同時也承擔一些業務產品的支撐。接下來會分別再簡單介紹下各個方向。架構
工程保障其實涵蓋的方面比較廣,全部面向開發提效的系統均可以成爲工程保障,不過「無線開發中心」的重點是站在集團的角度去作這件事情,保障集團內部全部無線開發標準化
、流水線化
,讓業務開發將精力更多投入到如何落地業務中去。核心輸出這裏簡單介紹下吧:app
將來全部 app 都會成爲平臺,而業務則是寄生於平臺的應用,全部的應用都是一個抽象的實體(例如微信和小程序的關係),而全部的應用都會有一種標準的開發
、運維
、運行
方式,這就是咱們所講的容器
,這不是一個純技術的概念,而是一個大的體系,承載着將來全部業務應用的開發、運維、運行等一整套開發體系。
目前大搜車內部還未造成徹底一致的容器體系,而是存在 ReactNative 體系、Webview 體系等多套開發體系,每套體系會有本身的一套從開發到運維的解決方案,這也是咱們投入很是多精力的部分,可是將來可能還會有更加標準化的體系造成。
UI 資產也分爲不少個層面,可是 UI 資產最具價值的點不是作了組件庫或者怎麼滴,而是與設計師和業務產品真正聯動起來,設計上有一套標準規範,業務上落地標準規範,技術上實現成對應的產品,再與業務落地結合,最終造成閉環,這樣才能作到快速生產業務應用的效果。
這方面咱們去年與設計團隊作了不少努力,真正造成設計和技術閉環落地。
具體的沉澱,包含各端的組件庫,都按照社區開源標準去產出和維護,包括:
SRN.UI
,RN 移動端組件庫So.UI-React
,PC React 組件庫So.UI-Vue
,PC Vue 組件庫Som-B.UI
,移動端 C 端組件庫Som.UI
,移動端 H5 組件庫Som.UI-mini
,小程序組件庫Aqua
,區塊庫另外還有多端統一的主題切換能力等,你們對這方面瞭解應該比較多,就不細講了。
開發框架的意義一個是規範不一樣團隊的一些基本開發方式以保持不一樣業務開發的一致性,另外將部分繁瑣的開發事項簡化,最後就是提供一些開發最佳實踐的指導。咱們在每一個端都會適當的抽象本身的開發最佳實踐,簡化你們的開發過程,同時又要考慮保持開發靈活度,不過多的限制開發方式。
目前主要是如下幾個框架:
srn-framework
,RN 開發框架,全部 RN 業務都基於此框架開發,並在內部集成與 native 互通,協議,配置,環境管理等能力。muji
,React 開發框架,」使用 TypeScript 編寫企業級 React 應用「,爲解決前端應用開發中的路由和狀態存儲兩大問題而生,同時解決一些企業內的特殊場景問題,在公司的 管理系統中有普遍的使用。Trojans
,一套基於 React 的,在後端 Java 項目中融合前端代碼的解決方案,基於此方案公司內部的管理系統基本徹底無需前端參與,這套方案比較神奇,利用 React 實現相似於傳統 jsp 的開發模式,不過如今部分 java 開發在向 muji 切換,你們對 React 的瞭解程度在提升。藍風 blue-windy
,一套企業級 Nodejs 開發框架,基於 egg.js 封裝。簡化了企業內部 node 應用開發的難度,不少前端能夠本身開發穩定易用的線上服務。或者說是工程效能,開發過程等,主要是提供開發時或者運行時的一些系統性支持或者環境支持。
例如 前端和客戶端的測試環境如何統一管理,線上環境如何管理。
例如 前端\客戶端\RN 等項目如何生成、託管、聯調、測試、發佈
等一條龍(持續集成)
例如 項目上線後,如何熱更新,如何快速排查問題,如何報警等
在這方面咱們也有一些系統產出:
SoBox
,一個環境管理&代理抓包的PC軟件easy-mock
,開源了的接口模擬應用mindmap
,一個 vscode 腦圖插件,用來管理測試用例Zoro
,sketch插件,設計素材管理,與設計師聯動 UI 管理srn-hub
,RN 開發服務(熱更,應用註冊,依賴檢查等服務)Cuckoo
,線上保障平臺(搖一搖反饋,崩潰管理,報警等)Reiko
,app 應用託管平臺,公司內全部 app 都託管於此這些基本都是比較完備的系統,還有些新系統在開發中,不一一列舉。
大概先分享這些,其餘暫時不夠系統化的事情之後再分享吧。
這也是咱們團隊一塊比較重、業務價值比較大的事情,可能在通常的前端團隊不會太常見,因此一直當作咱們的特點去打磨發展,通俗來說,就是咱們會承擔基礎服務的角色,這些服務有些是偏服務端的,有些是偏無線端的,可是大部分都是先後端都須要的,咱們團隊本身即完成從產品規劃到先後端開發,這些事情對於打磨團隊多個技術棧之間的磨合能力幫助很大,對公司的業務來講也都有很是直接的影響。
這裏展開幾個典型的服務和你們分享(全部服務端都基於 Node.js 開發,另外由於和業務相關涉密較多,可能不會細講):
沒錯,就是你們理解中的開放平臺,這是一個很是複雜的系統,承擔了三個重要職責:
內部服務對外開放
外部服務對內聚合
公司內不一樣物理域之間的服務互通
系統內部的子系統大概就有七八個,具備完備的機制,包括:開放
、聚合
、消息
、文件
、用戶
、計費
、內部工做臺
、商戶工做臺
等等,具體由於保密問題,不展開。
開放平臺主要能力是對開放和聚合作統一的管控,對商戶作管控,對商戶的調用作管控等,另外由於對接業務量很是大,還有不少針對開發接入商戶接入的工具部分的開發。
消息中心是一個比較模糊的概念,主要職責以下:
集團內全部 app 的推送
集團內全部業務的短信推送
集團內全部業務的 聊天、客服能力
由於業務量比較龐大,圍繞如何管控業務,作了不少管控措施,例如業務分類、模板、審批、報表、歷史查詢等。 而且能夠提供給業務自有切換後端服務商的能力
由於這個系統的數據量很是大,多是公司最早開始考慮分庫分表,而且按期作數據靜態化的系統。
剛纔兩個系統是純服務端的系統(或者帶有少許的前端 SDK),不過相似的系統由於和公司業務比較緊密,不少只能保密,不能拿出來和你們分享。另外咱們也會有一些端上的服務的輸出,直接去影響業務。
例如,業界流行的 ioT
,如今咱們公司也有不少新媒體設備須要管控和觸達等能力,例如:電視盒子、廣告屏、pos 機、xxx 機(保密)、車載設備等,因此咱們也在孵化本身的 ioT 平臺,對全部相似的」終端「作管控和賦能。
例如,多媒體賦能
,由於團隊不少同窗能力都會偏底層,咱們會利用這些優點向業務輸出一些開發難度高,可是體驗更好的組件,例如 360 拍照,拼圖海報,視頻編解碼播放,AR 應用,端上智能識別等,在這方面咱們也有很多已經落地的輸出。
業務保障主要是對研發內部的產品的支撐,以及對部分總部的業務的支撐。
這些具體可能不太好表述,不過在業務支撐的同時,咱們也在嘗試一些技術上的沉澱,例如:
可視化組件庫
,在數據可視化業務中,下沉的標準組件庫,一樣是和設計師聯動大屏組件庫
,在數據大屏業務中下沉,賦能快速搭建數據大屏數據採集工具
,在營銷業務中,一種統一的數據採集工具及配套設施活動搭建平臺
,將營銷活動組件化,快速搭建各類營銷活動,而且自動迴流數據審批流程配置工具
,快速配置一個本身的審批流程表單團隊工做模式比較自由,除了 leader 以外,不會有太多管理上的約束,咱們的初衷仍是要打造工程師文化,由於咱們是一個偏技術賦能型的團隊,技術和創意很重要,而不是按時完成任務。
可是有一點是咱們比較關注的,就是做爲一個輸出型團隊,如何規範的管理本身的輸出,才能和集團這麼多業務方造成良好的聯動效果,這對技術團隊來講是個比較大的挑戰,可是也是能夠帶來很好的成長的,例如咱們經過 定方向 -> 同步全部業務 -> 贊成後,出具體規劃 -> 同步全部業務 -> 贊成後,開始開發 -> 發佈版本 -> 記錄 changelog 和使用文檔 -> 同步業務方
這樣的方式作項目,可能你們會以爲這樣的方式會不會對我的成長不利,偏偏相反,保持這樣的節奏作事情,會讓你更系統的去思考問題和解決方案,也會對你有更高的要求(要說清楚,還要睡服其餘人),能作到這些的開發,能力絕對不會差。而在日常面試的時候,你會發現不少人沒法表述清楚本身的想法和方案,就是由於缺少這樣的訓練。
另外,團隊裏比較崇尚分享,形式比較多的是 codereview(面對面)
、項目覆盤
、純技術分享
等,團隊內有記星星的模式,對各類不一樣類型的分享記錄星星,每一年兩次覆盤,對貢獻突出者作獎勵。
另外,這樣的一個團隊結構和方向,咱們鼓勵全部人在本身的專業領域可以不斷深刻和挖掘,同時也鼓勵你們可以瞭解更多其餘技術棧的開發,擴展本身的技術視野。
簡歷直接投遞:sunxinyu@souche.com,註明:應聘