注重產品的軟體工程師九個特點 - pragmaticengineer

banq發表於2019-12-08

具有產品意識的工程師是對產品本身有很多興趣的開發人員。他們想了解為什麼要做出決定,人們如何使用產品以及熱衷於參與做出產品決定。如果他們決定放棄工程學的樂趣,他們很可能會成為一名優秀的產品經理。我曾與許多優秀的產品工程師合作,並認為自己是這種開發人員。在生產世界一流產品的公司中,注重產品的工程師將團隊帶入新的高度。
Atlassian的專案經理Sherif Mansour了一篇非常出色的文章,內容涉及產品工程師,以及產品經理如何識別這些人並與他們良好地合作。

在過去的十年的產品管理中,我得出的結論是,產品工程師是幫助您構建成功的產品,擴充套件自己併成為更好的產品經理的關鍵要素。
他還引用了Shopify工程主管Jean-Michel Lemieux的定義,他定義了以下產品工程師:

一旦有了產品基礎,就需要積極參與“為什麼”的開發人員。渴望使用技術來解決人類/使用者問題的工程師。那些有同情心的人尋求神奇的經歷。那就是我書中定義產品工程師的原因。壞人偷工減料。優秀的產品工程師知道,在構建階段必須考慮到最小的可愛產品深度。
從事面向使用者功能並與產品經理合作的團隊是一個以產品為中心的工程師可以產生巨大影響的環境。他們經常成為關鍵的貢獻者,成為產品經理的關鍵人物,並經常成為團隊領導。那麼,注重產品的工程師的主要特徵是什麼?如何才能變得更加註重產品?本文總結了我觀察到的這些人共有的9個特質:

1.積極參與產品構想/意見
精通產品的工程師不會為獲得規範而急於實施它。他們考慮其他想法,並與這些想法聯絡產品經理。他們經常挑戰現有規格,建議採用其他產品方法,效果可能會更好。

2.對業務,使用者行為和有關資料的興趣
提出想法時,有產品意識的工程師不僅會憑空獲得這些想法。他們花時間瞭解業務的運作方式,產品的適用範圍以及目標是什麼。他們也對產品如何使使用者感覺以及這些使用者如何從使用該產品中受益感到同情。他們經常直接研究有關業務和使用者指標的資料,並儘可能地掌握這些資料。他們可能會直接訪問它(如果可能的話),或者與產品經理或資料科學家聯絡以獲取此類資訊。他們這樣做是因為他們的好奇心。這是我觀察到的下一個特徵。

3.好奇心和對“為什麼”的濃厚興趣
精通產品的工程師喜歡理解“為什麼”?在萬物背後。為什麼要為產品構建此功能,為什麼不為另一個構建功能?為什麼要釋出這個第一個里程碑,而不是選擇另一個里程碑,這要容易得多?如何測量事物-我們為什麼不選擇更全面的測量方法?
他們可以自行尋找答案。他們向產品經理和業務中的其他人員尋求其他與產品相關的問題。即使他們經常問很多問題,但他們卻不會惹惱別人,因為他們已經與他們建立了牢固的關係。

4.強大的溝通者和與非工程師的良好關係
精通產品的工程師喜歡與工程學以外的人交談,瞭解他們做什麼以及為什麼這麼做。他們是溝通流暢的人,很清楚他們有興趣進一步瞭解其他學科的工作方式。我經常看到他們喝咖啡,午餐或與非工程師聊天。

5.預先提供產品/工程權衡
因為他們對產品“為什麼”以及工程方面有深刻的瞭解,所以他們可以提出很少有人可以提出的建議。例如,在確定構建產品的工作量時,用於構建關鍵功能的工程工作可能很重要。許多工程師將開始尋找減少工作量的方法,並試圖弄清楚減少工作量對功能本身的影響。
注重產品的工程師從兩個角度解決了這個問題:既要尋找工程權衡,又要尋找對產品的影響。他們還開始進行產品折衷,評估工程影響。他們經常回到產品經理那裡,建議要構建一個完全不同的功能,因為對產品的影響將是相似的,但是工程上的工作量要小得多。
兼顧產品和工程方面的權衡以及兩者的影響,是專心產品的工程師所擁有的獨特優勢。它們可以在同一枚硬幣的兩個側面之間來回快速移動:產品功能,工程設計和權衡。因為他們利用他們的工程和產品洞察力在腦海中完成所有工作,所以他們可以非常迅速地得出有價值的結論。

6.邊緣案例的務實處理
邊緣保護套是一件有趣的事。在一個極端情況下,工程師通常會忘記其中的許多內容,而在從測試產品或終端使用者的人員那裡獲得反饋後,不得不重新解決這些問題。另一方面,處理新產品或功能中所有可能的情況可能會花費很多時間。
精通產品的工程師可以快速規劃出邊緣案例,並思考減少工作量的方法:通常帶來不需要工程工作的解決方案。他們專注於“最低限度的可愛產品概念”,並評估邊緣情況的影響以及處理情況。他們提出了很好的建議:在可能釋出早期版本之前,找出大多數可能出問題的地方,並針對需要解決的極端情況提出建議。
例如,如果一千個使用者中有一個可能被錯誤擊中,他們將考慮進行修復,並考慮如果不採取任何措施會發生什麼情況。在這種情況下,客戶支援r人員可以幫助此人嗎?是否在在驗證過程中?使用者能否在下一次重試併成功?可以對產品稍加修改,以免發生這種情況嗎?

7.快速的產品驗證週期
甚至在他們正在使用的功能尚未投入生產之前,具有產品意識的工程師便找到了創新的方法來獲得早期反饋。這可能是與同事進行hallway測試,向產品經理展示正在進行的工作功能,在Beta版本上組織團隊的bug追殺,以及許多其他創造性的方式。他們不斷思考:“我們如何驗證人們將以我們認為的方式使用此功能?”

8.端到端產品功能所有權
最有經驗的工程師端到端地擁有他們的工作:從獲得規範到實施規範,一直到推出並驗證其正常工作。精通產品的工程師通常會超越此範圍。
他們認為只有在獲得有關使用者行為和業務指標的結果後,他們的工作才能完成。推出後,他們仍然積極與產品經理,資料科學家和客戶支援渠道互動,以瞭解該功能在現實世界中的使用情況。可能需要數週的時間才能獲得足夠的可靠資料來得出結論。即使他們可能正在從事一個新專案,他們還是將檢查結果作為其首要任務之一。這不是一項耗時的活動,但需要其他想要知道的人的堅持不懈:我的工作真的如何?
當某個功能的效能比預期的差時,他們會很好地瞭解不匹配的位置。他們同樣希望在產品計劃和實際結果之間找到根本原因,就像除錯程式碼庫中難以重現的錯誤一樣。他們通常會花費大量時間與產品經理和資料科學家討論假設和學習。

9.透過反覆學習來增強產品的直覺
對於產品工程師來說,一個典型的專案通常是這樣的:

  1. 他們提出了許多問題,以確切瞭解為什麼要構建產品功能。
  2. 它們帶來了建議和折衷,其中一些已包含在修訂的規範中。
  3. 他們可以快速構建功能,並儘早獲得反饋。
  4. 交付功能部件後,他們會積極跟進,以瞭解功能部件是否符合預期。
  5. 如果沒有,他們會深入研究,以瞭解為什麼沒有這樣做,並瞭解有關現實世界中產品使用的新知識。

在每個專案之後,他們對產品的理解加深,並且他們開始發展越來越好的產品本能。下次,他們將為您帶來更多相關建議。隨著時間的推移,他們成為產品經理的首選,在專案啟動之前就已經很好地徵求了他們的建議。他們在團隊之外建立了良好的聲譽,為他們的職業生涯不斷髮展開啟了更多的大門。
成為更具產品意識的工程師的提示

如果您使用的是面向使用者的產品,那麼以下是我見過的一些技巧,它們可以幫助您培養注重產品的肌肉。
  • 瞭解您的公司成功的方式和原因。什麼是商業模式?錢是怎麼賺的?哪些部門最有利可圖,公司的哪些部門最能擴充套件?為什麼?您的團隊如何適應所有這些?
  • 與產品經理建立牢固的關係。大多數產品經理會抓住機會來指導工程師。使工程師對產品感興趣意味著他們可以進一步擴充套件自己。在進來之前,先問很多產品問題,花一些時間建立這種關係,並向您的產品經理明確表示,您希望更多地參與產品主題。
  • 參與使用者研究,客戶支援和其他活動,在這裡您可以瞭解有關產品工作原理的更多資訊。與經常與使用者互動的設計師,UX使用者,資料科學家,操作人員和其他人員配對。
  • 提出支援良好的產品建議。對業務,產品和利益相關者有充分的瞭解之後:採取主動。您可以為正在進行的專案帶來一些建議。或者,您可以建議更大的工作量,概述工程工作量和產品工作量,以便在待辦事項中輕鬆確定優先順序。
  • 為您從事的專案提供產品/工程權衡。不僅要考慮團隊要構建的產品功能的工程設計權衡,還要考慮產品折衷方案,從而減少工程工作量。對他人的反饋意見持開放態度。
  • 要求產品經理經常提供反饋。成為一名優秀的產品工程師,意味著您在現有工程技能之上還建立了良好的產品技能。產品經理會為您提供有關您在產品技能方面的表現的最佳反饋。尋求反饋,瞭解他們對您的產品建議的重視程度,並就進一步發展的領域提出想法。

相關文章