“前端”工匠系列(二):合格的工匠,怎麼做好價值落地

来源:https://www.cnblogs.com/jingdongkeji/archive/2023/05/18/17412419.html
-Advertisement-
Play Games

一個合格的技術人的內心要時刻謹記自己在一個企業內的價值所在,並不斷的通過技術提升來擴大價值,才可以在當下的環境中,個人價值與企業價值形成正向迴圈。那我們此次就聊一聊,前端職能如何在不同的業務場景中落地價值。 ...


一、"技術鄙視鏈?"

如果你是一個技術人,相信都知道技術圈有個相互的鄙視鏈,這個鏈條從技術人自己認知的角度在以業務價值為中心嵌套的一層一層的環,就像洋蔥,具體的描述這裡不贅述了。

出門左拐隨便抓住一個人問一下。這種偏自嘲類的觀點,有點類似"程式員的穿著必須是格子衫"、"你們只會和電腦打交道"這種自嘲。開心一下,無可厚非。但是在玩笑之外,一個合格的技術人的內心要時刻謹記自己在一個企業內的價值所在,並不斷的通過技術提升來擴大價值,才可以在當下的環境中,個人價值與企業價值形成正向迴圈。那我們此次就聊一聊,前端職能如何在不同的業務場景中落地價值。

二、"技術人,你有價值嗎?"

說到業務價值,有一個關鍵詞,就是"特定的業務背景"。有人會說,技術就是技術,是通用的,為什麼要把業務的概念引入到技術價值中呢?我對這個問題的回答也相當簡單:技術本身沒有業務屬性,但是技術人所處的業務環境,從而決定了技術人此時此刻應該為環境提供什麼類型的價值輸出。

對於前端領域的崗位職責,如前文(《“前端”工匠系列:合格的工匠,究竟該搞什麼(一)》),“它的崗位角色更應該關註’採集和呈現‘兩個部分”,這種職能定位就決定了它在具體業務場景中的價值定位。

首先,從粗粒度進行大維度的劃分,B端和C端來先劃分一刀。國內外從崗位招聘、崗位定位到OKR制定、績效評估,都要先從端類型來做最起碼的區分,原因是B端和C端對於前端技術棧、技術深度及輸出價值的要求都是不一樣的,甚至B端的研發人員對於原生、多端等研發領域並不熟悉,如果有崗位的調整,會有一段比較長的技術切換期的,根據人員軟素質的不同,這段時間從1個月到一個季度不等。

B端研發是什麼?

B端通常指“Business端研發”,但當前很多企業對B端研發的崗位職能描述也包括了A端(即業務管理員Administrator)的研發,這樣囊括也是有道理的,A端和B端的共同特點是大部分業務都是“以PC瀏覽器為運行時環境,基於Web技術棧的企業級後臺管理系統”來運作、賦能具體場景。

至於B端研發人員的技術價值,根據業務領域不同,可以切為企業級應用(如飛書、騰訊文檔)、商業化解決方案(toB、toG的業務,比如一些企安類業務和商業化業務)、業務後臺管理(輔助C端業務邏輯的管理後臺)等細分方向,前者用於商業化變現,所以這些後臺項目對用戶體驗有一定程度的要求,其他的B端業務對體驗和性能的要求都是相對較低的。

C端研發是什麼?

C端也稱為“客戶端(Client)研發”,從技術崗位要求維度可以細分為端側研發(IOS、安卓、鴻蒙)、H5研發、小程式研發等。

很明顯,維度劃分的依據是代碼運行容器,那麼存不存在“一次開發,多處運行”的研發方案呢?這就產生了多端研發這個崗位角色,對應的技術棧是React Native、Flutter、Taro等為代表的解決方案,由於各自對多端的實現方案不同,導致了各自有各自的優劣勢,具體的選型,要研發團隊根據業務背景以業務屬性(是否對特殊端側有傾向)、團隊成本、維護成本、研發效率、社區活躍度、未來技術棧的持久性等維度來做最合適的技術選型。

因為C端的輸出直接面對用戶,而且用戶量級大,因此C端頁面對於設計、交互、業務可用性、用戶體驗是否良好等專項指標都有很高的要求,因此,在技術型企業,一些企業對於其中的每個專項都會有一批人在做專門的優化提升處理。

以下分研發階段對C端研發的關註點進行簡述。

  • 設計階段:研發人員需要對設計稿件、UI切圖的合理性更加關註;
  • 研發階段:研發人員需要有更頻繁、更合理、更清晰的代碼註釋;
  • 提測階段:提測前,研發人員需要保證用例冒煙質量,提測後,研發人員更加關註千行代碼bug率這種質量指標;
  • 上線階段:研發人員需要保證上線流程的切實無人化、自動化和日誌詳細程度,因此,CI/CD的上線流程中每個階段的處理腳本都必須完全嚴謹和可用;
  • 上線後:研發人員需要通過監控、告警和日誌平臺,對線上代碼在用戶設備端的運行狀況進行監控。如果出現異常運行,研發人員需要及時被告警平臺告知、根據SOP對線上故障進行合理處理及時止損,修複後bugfix上線;

以上只是簡單論述了B端業務和技術對研發人員基本素質要求的差異。基於以上的業務背景,以下分別從技術角度、人力資源角度及團隊能力設計的角度進行闡述怎麼做好相應的工作。

三、"B端,怎麼做好?"

如果你在做業務交付類的B端研發工作,做好業務支持後,想辦法通過"低代碼"或者"零代碼"的方式進行更加高效、高質量的交付。

具體的實現方案有很多,比如AntDesign、FusionDesign以及很多商業化的Design們,實現思路就是基於業務場景,建立一套通用的、可復用的物料組件,在業務交付的時候,只需要對物料進行拼裝組建即可,有些想樂高積木,但是這種Design們對於應用場景的要求是比較高的,如果你想用這種方案(尤其是業務場景比較複雜,只能用低代碼方案),就要進一步思考物料間的數據通信、UI通信等問題,甚至需要隨著業務物料的發展去迭代DSL解析引擎。

對於前端人員來說,啟用初期的搭建的效率反倒是降低的,但如果用起來,用的越久,沉澱的物料就會越豐富、與場景的匹配度越高,交付效率也越高。但從成本的角度,一部分研發成本也會轉嫁到後端服務的封裝度提升、合理性提升,整個的業務交付就會向搭建驅動的角度傾斜,綜合成本的降低需要結合整體研發交付的維度來考量,但如何考量、考量口徑是否合理、是否可落地,每個研發團隊就要"八仙過海,各顯神通"了。

但是B端業務交付的低代碼方案的選型,從人力的角度,只要做好數據和代碼安全處理,採用“搭建+外包”的方式是完全可以應對的。

如果你在做商業化的B端產品的研發,那就要更加偏向產品訴求,不斷的與產品、客戶進行溝通調研,甚至要去現場溝通去發現用戶使用產品過程中遇到的真實體驗和功能問題,從而不斷做好產品迭代和優化。"低代碼"和"零代碼"的提效方案只能作為產品孵化的工具,但具體能不能用起來,就要自己評估了。

四、"C端,怎麼做好?"

如果你在做C端產品的交付,那你應該關註研發流程的順暢度和合理性,研發環境、測試環境、預備發佈環境以及線上環境的代碼隔離、數據隔離、發佈隔離是否良好,堅決避免環境污染導致業務異常或者工作量激增;

你應該關註UI設計稿件的還原度、動效效果是否順滑、頁面載入效率是否良好、Crash率是否達標、埋點是否正常上報。

這裡值得提一下的是埋點這個事兒,對於C端業務,需要有專門的工作來處理埋點工作,埋點工作的質量直接影響到功能需求上線後業務是否可以拿到正確的用戶數據,進而做出業務的運營策略調整。所以,埋點質量這個工作的成本投入是必須的,也是應該受到研發團隊重視的。否則,就會出現,明明功能沒問題,也沒有客訴,但是,業務因為拿到了錯誤的用戶行為數據而不自知,卻先入為主的認為自己的策略太"哇塞"或者太"喔去"的結果。如果根據錯誤的埋點做出了錯誤的決策但是不自知,對於業務價值的影響是巨大的,更加嚴重的事,很久以後你發現錯了,最佳業務的時機,早就白駒過隙,飛逝而去了。

如果你在做C端基建工作,恭喜你,你可能已經離很多研發人員羡慕的架構師的崗位很近了。

你需要關註技術棧的選型、物料及組件建設、活動搭建平臺、設計智能交付、多端編譯、渲染引擎等離業務更遠但離技術更近的話題,每一項都充滿了挑戰,每一項達成都能給你更多的成就感。但是,因為離業務更遠,就要避免"自嗨"的情形出現,你要少一些年度規劃,多一些技術用戶的痛點調研行程的季度規劃和OKR,只有讓自己的技術孵化落地到具體的業務場景中,你的技術價值才能得以體現。

五、"價值,價值,還是價值"

請各位技術人時刻謹記,如果你的代碼不上線、如果你的代碼沒有經受住用戶的使用考研、如果你沒有關註代碼上線後的質量和功能的相關告警、如果你不關註業務和用戶行為數據,那你的工作價值就會大打折扣,甚至,沒有價值,因為,你和一樣工作方式的那個誰,對於業務的正常運轉來說,沒有區別。

來源:京東雲開發者社區

作者:京東零售 劉偉東(未經授權請勿轉載)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [MySql 如何分析性能] Sql性能分析 sql語句: "show global status like "Comlxx____";" 結果: + + + | Variable_name | Value | + + + | Com_binlog | 0 | | Com_commit | 7 | ...
  • 1、數據準備 1.1、springboot導包 springboot版本:2.7.10 點擊查看代碼 <!--mongodb的包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s ...
  • 演講內容 摘要:GaussDB(for MySQL)是華為自研雲原生資料庫,具有高性能,高擴展,高可靠的特點,完全相容MySQL協議,自研架構和友好的生態相容性,可以同時滿足資料庫管理員、應用開發者、CTO的運維、使用和業務發展需求,本次主要介紹GaussDB(for MySQL)在雲原生技術方向上 ...
  • 1 理論知識 1.1 分庫分表是否必要 分庫分表確實可以解決單表數據量大這個問題,但是並非首選。因為分庫分表至少引入了三個必須解決的突出問題。 第一是分庫分表方案本身具有的複雜性。第二是本地事務失效問題,原本在同一個資料庫中可以保證強一致性業務邏輯,分庫之後事務失效。第三是難以聚合查詢問題,因為分庫 ...
  • Q1問題描述 1、 訪問貼紙等素材的時候提示“網路異常,請重試”怎麼辦? 2、 使用AI能力時,提示“errorCode:20124 errorMsg:Method not Allowed”? 解決方案 請做以下檢查: 1、 在代碼中檢查鑒權信息是否已設置。如果未設置,可以通過api_key或Acc ...
  • 前言 這兩天,我們經常逛的好多網站、app首頁都變灰了,原因大家應該都知道了 網站變灰 ①B站 ②愛奇藝 ③ 騰訊視頻 ④ csdn ⑤百度 怎麼實現的呢? 難道這些網站開發商在網站開發的時候都準備一套灰色主題的UI麽? 好奇心的驅使下,開始瘋狂的詢問度娘,果真還是找到了這麼一個網站。 ①官方文檔地 ...
  • CSS 實現磨砂玻璃(毛玻璃)效果樣式 要實現磨砂玻璃背景,可以使用 CSS3 中的 ::before 偽元素和 backdrop-filter 屬性,結合 opacity 屬性和 blur() 函數來實現。 具體實現步驟如下: 創建一個具有背景的元素,例如一個 div 元素。 div { back ...
  • 業務場景: 最近需要開發一個基於vue2的項目,再使用Electron 打包成exe文件。 實際操作時發現vue項目組件依賴最高到node16,電腦上的環境是最新的node20 忙著把node20卸載,換上node16,VUE項目是跑進來了,但是使用Electron 時候又發現需要node19才現, ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...