深度思考 | 產品經理要不要懂技術的底層邏輯
編輯導語:眾所周知,產品經理是一個綜合能力要求很強的崗位,需要了解很多方面的知識。那在技術方面呢?產品經理要不要懂技術的底層邏輯?本文就此問題,從六個方面來展開論述,邏輯清晰。推薦對產品經理感興趣的盆友來閱讀。
有產品的同學問我,他的領導讓他懂一點技術以方便工作,但領導說的不明確,自己又不好意思繼續追問,因此現在很困惑,問我作為產品經理要懂技術嗎?
要回答這個問題,我們要把它拆開來回答,它包含了以下6個方面:
- 遇到哪些問題
- 懂技術的目的
- 懂到什么程度
- 要懂哪些內容
- 如何有效學習
- 懂技術的好處
一、常見問題
案例一:
- 開發:這個做不了。
- 產品:……
案例二:
- 開發:這個功能至少要開發2周。
- 產品:啊,這么簡單的功能要這么久啊?等上線了熱度都過了。
- 開發:是的…因為…算了,跟你說也不明白。
- 產品:……
在日常工作中,產品經理可能有以下類似的煩惱:
- 提出的需求被開發覺得異想天開,需求被拒,經常返工;
- 覺得開發評估時間過長,自己很無力;
- 需求評審會被開發批的體無完膚、一無是處;
- 聽不懂開發說的內容,開會時云里霧里,安排任務效率低;
- 不知道技術的優劣,做決策拖后腿;
- 出了問題不知道找誰,開發相互推諉,用戶的問題無法得到快速解決;
- 對項目進度無法掌控,版本經常延期;
- 上線跟打戰一樣,問題還特別多;
- 開發的領導好難打交道,感覺很兇;
- ……
網上討論最多的就是案例中所描述兩個的場景,很多人為之苦惱,感覺自己經常被開發忽悠,事情推進不了就算了,開發說的話還陰陽怪氣,說話夾雜著嫌棄,眼神充滿了鄙夷,非常的沒面子。
二、找到問題本質
很多人認為之所以出現上面的情況,就是因為自己不懂技術,當產品經理懂技術之后,開發也就無法再忽悠,沒有了鄙視和嫌棄,以上問題也能迎刃而解;即便沒有解決,自己的技能樹上又多了一個技能,總比只懂產品要強。
這種想法對嗎?不一定。
這種想法實際上是在用戰術上的勤奮來掩飾戰略上的懶惰,開發是一個很看重實戰的崗位,我們利用業余時間學習的一些皮毛,就想和在實戰中廝殺多年的開發掰手腕,那就把開發崗位看太輕了,在他們眼里,我們和剛入行的開發沒區別。
退一步說,哪怕你天賦不錯,學到了一些技術,開發想忽悠你還是一樣,因為你不了解實際的代碼情況。
即使同樣能力的開發,面對陌生的項目、不熟悉的框架和代碼,在做評估的時候,都會選擇保守,你也不能代替他們去開發,這種情況尤其以跨部門溝通時更加明顯,因為你根本指揮不了他們。
開發說“做不了”,你說“可以做”,開發說“你來?”。
開發說“這個功能最少要3天”;你說“少唬我,我可是練過的,最多1天半就夠了”;開發說“我就要3天”,接下來你有兩個選擇:
- 當場揭穿他,可能會上演全武行;
- 向他領導告狀,領導可能和顏悅色的告訴你,要相信專業的;也許領導這次幫你解決了,下次呢?
因此,懂技術不一定能解決“做不做“和“忽悠”的問題,或者說要解決以上的兩個問題和懂技術不能劃等號,那可以給以后找工作加分嗎?
絕大多數情況不行,除非你在一個項目里即是產品,又是開發,而且項目完整跟完并上線運營,并且這個項目和這家公司類似(需要運氣),這樣的懂技術才可能成為加分項,否則很難。
因為我們面試的不是技術崗位,級別越高價值也越低;產研負責人崗可能有價值,但這時就不是加分項,而是必要條件。
有人不服氣說,怎么就不是加分項,懂技術可以很好的和開發溝通,是的,可能,但這里的重點是溝通能力,技術只是其中的一小部分,也不能劃等號,你是不是聽過很多程序員都不擅長溝通的例子。
當然,以上的分析不是說懂技術沒有價值,而是不希望將懂技術當成唯一的阻礙,產品做不好是因為開發不配合,開發不配合是因為我不懂技術,我很苦惱,我沒有辦法。
將問題推給環境,推給外在因素,沒有思考對問題的本質,但是,產品經理恰恰是需要去思考問題本質的崗位。
懂技術可以輔助你把工作做的更好,但不懂也不是阻礙你推進產品進度的關鍵因素,絕大多數人面臨推進難的問題,究其本質,在我看來就三塊:
- 甲方的優越感;
- 能力的不自知;
- 和開發之間的信任缺失。
1. 甲方的優越感
說出來你可能不信,開發在公司里面其實是弱勢群體,作為最下游的執行方,很多時候是很被動沒有話語權的,甚至經常要背黑鍋。
而產品經理作為甲方,習慣把開發當成純執行者,聽話就好別亂說。
優越感帶來的第一個問題,是無法接受對方提出的修改意見和建議,覺得在挑戰自己的專業,你一個開發懂什么?(這句話開發也經常對產品說,你啥也不懂),有時實在無法說服對方,就耍賴說“我不管,我就要,實現不了是你的能力問題,怎么實現是你們的事”。
優越感帶來的第二個問題,是在需求被拒時挫敗感很強,內心覺得被開發鄙視了,其實真的想多了,開發一般都比較單純,不會因為某個人不懂技術而看不起他,絕大多數問題是因為某個人的態度導致。
所以解決問題第一步,端正態度,實現和開發平等對話,不是甲方乙方的關系,而是戰友關系,將雙方拉到統一戰線。
2. 能力的不自知
需求來自來自用戶的訴求、老板的想法,產品經理很容易成為傳聲筒,沒有去思考邏輯和細節是否合理,絕大多數開發與產品間的爭吵,都是因為產品需求邏輯的問題。
在需求評審會中,面對開發的疑問,無法在邏輯上講通,產品經理很委屈,覺得這不是自己的錯,明明是用戶的需求,老板都答應了,開發怎么還這樣呢?這不是刁難人嗎?
面對開發的不配合,沒有去思考自己的問題,而是懷疑開發在針對自己,給自己的錯誤找很多借口。
人與人之間的合作,不會因為對方不懂己方的專業而嘲笑,而是因為對方不自知、不虛心、不學習,才會讓人看不起。
學會調整自己的心態,認識自己的不足和知識盲點,不明白的地方虛心請教,承認自己不足有時比去學習一項新技能更難,主動避險是人的天性,我們習慣為問題找外部原因,而忽略了對自己內心的建設。
3. 和研發之間的信任缺失
我們習慣用“懟”和“甩鍋”來構建產品和開發之間的愛恨情仇,從內心就已經將產品和開發擺在了對立面,在雙方劃了一條信任鴻溝,需求評審會就變成了博弈游戲,認為對方是欺負自己不懂(當然也有可能是真的,但不常見)。
你覺得開發在偷奸?;?,開發效率這么低,每天不知道在做什么,開發覺得你在異想天開,啥也不懂,腦子瓦特了。
懂技術似乎是一個構建信任關系的橋梁,但其實重點是如何和開發建立信任關系,而不是一定要去學習技術,其他方法可以嘗試,如共同興趣愛好,日常的交流關懷,都是不錯的方法。
在自己領域足夠強也能增加信任度,需求夠專業,邏輯性夠強,思考有深度,上線有結果等等,人性是對強者會有天然的崇拜感,做出成績就是最好的信任背書,開發也不會因為你不懂技術而輕視你,因為相信你肯定能做好。
因此,合作的基礎是信任你同部門的隊友,雙方不是你死我活的拉鋸戰,而是為了實現共同目標的攻堅戰,通過統一目標也可以成為自己人,信任每個人在自己擅長的領域能做出最好的判斷。
如果你做不到對每個人的信任,那可以招一個你信任的資深開發,讓他來幫助你做判斷也是一個有效的方法,沒有了信任,你再懂技術也沒有用。
倘若是跨部門,在對方的陣營中找到一個可信任的戰友是有必要的,這個戰友最好是團隊中比較資深的那種,亦或者是有想法、責任感比較高,可以幫助你解決很多問題,時不時的請教,也能讓你做事情事半功倍。
排除了以上三點問題,先認清自己,認清環境,找到關鍵因素,看看懂技術是不是真的是你遇到問題的解法。
三、懂技術的正確姿勢
1. 懂技術的目的
要不要懂技術,先要想清楚自己的目的,以終為始才能做到有的放矢,不同的目的,所需要學習的內容和程度會有所區別,但不管是什么目的,有一點可以肯定的是:
絕對不是去代替開發寫代碼!除非你是純粹個人興趣,除非你是創業者要控制成本,否則,千萬不要本末倒置,將自己陷入開發的自嗨中不能自拔。
甚至有些人還說要懂技術架構、懂計算機底層,這是要飛天嗎?
一個開發經過多年的打拼,多個項目線上實操,沒日沒夜的解決各種性能瓶頸,才能成為一個合格的架構師,才敢說自己懂技術架構。
一個工作5年以上的老碼農,如果沒看過一些技術的源碼,只敢謙虛的說自己知道原理和怎么用,底層如何實現還需要研究。
咱就看了幾個名詞解釋,安裝了環境輸出了Hello World,開發了一些簡單的增刪改查就大言不慚的說我懂技術架構,懂技術底層,只能是班門弄斧。
技術是一個需要持續學習的領域,每隔幾個月就會有新的技術誕生,永遠也學不完。
只有清楚自己的目的,才能清楚學習邊界,才能在有限的時間內快速掌握所需要的知識,并在實際工作中使用產生價值,任何不能對你的目的產生幫助的都是雞肋,要及時止損。
- 你是想減少原型的返工次數?出需求時考慮的更加全面?
- 還是想更好的和開發打成一片?推進工作時更加高效?
- 還是想對產品迭代掌控力更強?更快的出結果?
- 還是想有沒有更優的解決方案?提高用戶體驗?
- 還是想在產品的商業決策更自如?決策效率更高?
2. 懂到什么程度
列出自己的目的,才能知道自己要學習到什么程度,以及學習哪些內容,并不是要所有的都要學,所有的都要懂。
想要和開發交流時跟上節奏,那就要懂一些行業內的專業名詞或技術專業名詞。
因為技術討論方案時基本上的內容是“關鍵詞+邏輯”,邏輯我相信大家能聽懂,只是夾雜著關鍵詞會出現斷層的情況。
因此理解了關鍵詞的含義,就能明白開發所表達的意思,才能切入解決方案討論,接下來他們各自的分工和估時,能有效提出個人見解。
想要減少需求的返工幾率,推進需求開發效率,要了解現行技術邊界,公司研發能力邊界,清楚哪些能做哪些不能做。
清楚崗位的分工、職責,和完整的產品開發流程,大概知道什么樣的問題應該去找誰解決。
了解一些不同崗位用到的軟件、工具、技術名詞、專業術語等,時不時能請教下開發,這種好學的求知欲能讓開發認為你是自己人,也樂于去做一回老師。
既能和開發打成一片,也能在提出需求時考慮到實現難度,自己能提前進行規避。
想要對產品迭代掌控力更強,那就要掌握一定的項目管理知識,包括流程和管理工具,清楚團隊中每個人的開發能力和效率,學會拆解開發任務,掌握正確的估時方法,對常見功能估時心里有底,掌握日常跟進內容,具備風控能力,并在出現延期時進行有效決策。
想要了解更優的產品解決方案,提高用戶體驗,那要熟悉產品所在的技術生態,看生態內開放了哪些接口和能力(如公眾號和小程序生態,可以看開放平臺),關注行業技術升級動態,找到能提高產品體驗的結合點。
清楚行業內的技術棧能解決什么問題,優缺點是什么。
想要找到產品突破點,提高決策效率,要對數據埋點技術有所了解,清楚不同的數據收集方式的應用場景,掌握數據庫的基礎知識,比如表、字段、視圖等,學會使用sql查詢語句,或者一些BI工具,這樣可以根據自己的想法去拉取想要的數據,不需要每次求助開發,讓決策更高效。
產品經理對于技術的懂,只要做到知道是什么,有什么用即可,至于怎么用,好不好用,可以讓技術來把握。
如果你是一個創業者,覺得研發總是拖后腿,產品節奏跟不上,自己從頭學技術肯定不是最好的方案,要不就找一個技術合伙人,要不找一個信任的外包團隊長期合作,還可以使用低代碼開發平臺,也能滿足80%的標準化需求,把自己不擅長的剝離出去,創業更要聚焦。
如果你負責工具類的產品,尤其像給技術人員使用的,比如數據中臺、無代碼開發平臺、可視化平臺、云平臺等,是必須要精通這個行業的技術的,請無視上面的內容。
3. 要懂哪些內容
根據上面所描述的程度,列出了以下相關技術內容。
大家根據自己的目的,選擇有幫助的內容去了解,一些關鍵詞自己去查,可以采用聯想詞學習法擴充知識點,按照自己的理解做筆記,印象會更加深刻。
- 技術人員的思維方式,知道如何和他們溝通。
- 技術邊界,包括公司內部人力和技術能力邊界,知曉哪些能做哪些不能做。
- 開發崗位分工和責任:產品、UI設計、前端、后端、測試、DBA、運維。
- 完整的產品開發流程。
- 開發人員的一般工作流程。
- 開發說的“做不了”到底包含哪些信息,以及如何去推進。
- 任務估時的常用步驟方法、任務估時參考。
- WEB技術:URL、TCP/IP、HTTP/HTTPS、SSL。
- 前端技術:SDK、POST/GET、AJAX,COOKIE/SESSION、TOKEN、原生開發、混合開發、小程序。
- 后端技術:長連接、短連接、同步、異步、回調、隊列、棧。
- 技術工具:Postman、Firebug、IDE。
- 技術術語:搭環境、建表、寫死、技術棧、架構、框架。
- API接口是什么,包含哪些內容。
- 服務器、服務器系統、數據庫、緩存、定時任務。
- 溝通和提問的技巧。
4. 如何有效學習
快速掌握一個行業內所需要懂的知識,我覺得馮唐老師的《馮唐成事心法》中的方法非常值得借鑒:
- 先找到100個行業內的關鍵詞,然后去查關鍵詞的定義,我們只要知道是什么,以及有什么用即可,做完了這一步,基本上你就能和開發有共同話題了。
- 總結出你不明白的點,找幾個資深點的人深聊,看他們關注什么,看重什么,這是和公司的人建立關系的過程,不要怕問一些傻問題,對于一些有求知欲的人,很多人還是愿意當一回老師的。
- 找幾本行業內的專著,認真閱讀做筆記,這步可選擇性的做。
如果你還想對開發了解更深刻一些,掌握一些開發的基礎能力,增加自己的邏輯思維能力,可以先學一些入門較為簡單的語言,從HTML/CSS/SQL開始,能夠自己做幾個靜態頁,能夠自己拉想要的數據。
之后可以嘗試學習JavaScript/TypeScript,能做一些簡單的交互或者小程序,這樣對開發的工作和流程體會更深,前端語言所見即所得,有效的反饋能夠快速獲得成就感,不至于裝個環境就讓你從入門到放棄。
這個時候如果你覺得還挺有意思的,可以深入了解前端的框架如vue,或者選擇一門服務端語言如PHP/GO/PYTHON/JAVA/C++,找一個實戰的案例視頻,實實在在的開發一個項目,基本上就算技術入門了。
想學更多的技術,可以去 W3cschool 技術學習社區菜鳥編程平臺,里面已經涵蓋了目前所有的流行技術,內容豐富,且大部分是免費的。
隨著時間的推移,產品經理對某個領域的技術也會越來越熟悉,除非個人拒絕學習,否則在工作的壓力之下,能學到很多技術方面的知識。
四、懂技術的好處
除了解決自己面臨的一些問題,懂技術還有其他的好處。
可以和開發討價還價,而對方不會認為你過界,不是外行指導內行,通過溝通中挖掘出最優的方案,你還可以勇敢的和開發一起做任務拆解,直到將每個人的每天做什么,安排的明明白白,并得到開發的認可。
其次,編寫需求文檔邏輯性更強,能考慮到一些產品的邊際情況,產品的體驗也更嚴謹,同時適當的考慮技術的實現難度,對產品邏輯進行優化,選擇開發更高效的方法去實現同樣的價值。
然后,能考慮到產品遠期的發展對技術的影響,并認真和開發探討,做好提前規劃,不至于后期對技術架構進行大調整,開發也會認為你很懂他們,更愿意和你合作,相互信任和支持能夠給產品經理帶來強烈的自信。
最后,當你想去驗證一個想法,能夠想到快速實驗的解決方案,并能和開發一起討論得出最省成本的實現方法,沒資源時,你能找到一定的方法把事辦好,有資源時,能挖掘出資源的更大價值。
五、最后的話
俞軍在《俞軍產品方法論》中提到,產品經理的職責是要對產品的市場結果負責,要關注產品的“需求、生產、銷售”三個環節,并“協調”公司不同分工下的不同職能,讓大家共同完成目標。
這顯然是從更高的角度去定義了產品經理的工作內容,產品經理是一個綜合能力要求很強的崗位,你可能需要了解很多方面的知識,你可能會遇到很多困難。
但唯一不變的是產品價值目標的堅持,為了實現目標你會去尋找一切可能的解決方案,懂技術只是其中的一個解決方案,要與不要,就看能不能解決問題,能不能幫助到你。
很多認為自己做的事情很雜,似乎沒有重點,那是我們對自己負責的產品理解還不深刻,還沒有形成那份“感情”,做產品,就像談戀愛,要有敬畏之心!
作者:周武,曾就職于騰訊、邊鋒,現在一家上市公司產品負責人;公眾號:周武說
本文由@周武 原創發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自 pexels,基于CC0協議。
作者:周武,曾就職于騰訊、邊鋒,現在一家上市公司產品負責人;公眾號:周武說。
本文由@ 周武 原創發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自 Unsplash,基于CC0協議。
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
產品學會開發的底層邏輯是有極大幫助的。因為開發的底層邏輯是經過千錘百煉的方法論,這絕對不是酷炫新穎的產品方法論可以相提并論的。
產品應該懂一些前后端的基本開發邏輯,如果要做的久。也可以學一下前端這個起步比較低。直接學服務器的話最好。其實產品后續打交道比較多都是服務器。比如策略產品經理,明年就是服務器算法層,實話這個服務器程序都不一定弄得懂。
很好的文章,適合產品小白來看。尤其在做解決方案時,經常會畫一些時序圖之類的,理解技術原理才能不被開發挑戰,效率也會提高。但若關注具體技術實現,那就是比較明顯的“越界”行為了
產品經理當然要懂技術的底層邏輯!作者寫的很不錯!推薦各位小白來看看~
適合小白看的文章,確實了解多點技術,跟人員溝通起來也會更好。但可沒有想象中這么容易。
知識要轉換成經驗在于多運用,然后我們把事情想難一些,在解決時可能心里落差就不會很大了
好文章,看來老兄也是技術出身的吧,對于和研發的協作分析的很到位。我也是做研發的,當然也做產品,產品人員不論在如何懂技術,也不能拿這個去挑戰技術的專業性,如果這樣,產品經理懂技術就有點目的不純了。懂技術,懂底層邏輯是產品經理的加分項,是有優勢的,這個其實是自己管理自己的技能,做的產品要靠譜,不要天天去天上夠星星,要落地。但有時候太考慮實現可行性,這也會約束自己,陷入自己的能力認知陷阱,限制了自己做產品的思路。另外懂點技術,要用它更好的和研發去溝通,同理心的溝通,獲取對方的支持。
哈哈,是的,我是技術出身,開發出身的人對于同理心的理解會更加深刻一些??
底層邏輯哪那么容易懂,我開發轉產品的到別的項目里不還是白紙一張,上面哪些開發的詞匯的概念基本沒用。
這里說的底層邏輯其實不是說技術方面,而是確定問題的根本點,然后有針對性的去尋找解決方案;
很多人說開發轉產品在溝通時會有優勢,在某些時候也是不一定的,但具備開發的邏輯性,解決問題時可能效率會高一些
要確定你懂得技術的目的,畢竟現在的在職人員他們的時間還是挺緊張的,要想明白懂了之后能發揮什么作用,有針對性的去學習了解,效率更高。
是的,每個人都有自己的工作,都不愿意被打擾,溝通時簡單明了,能夠快速抓住關鍵點,能極大的提升好感度
懂得底層邏輯才能找到問題的本質,找到問題的本質才能對癥下藥。
?( ′???` )比心