做過(guò)技術(shù),你就是懂技術(shù)的產(chǎn)品經(jīng)理嗎?
作為什么都需要會(huì)一點(diǎn)、懂一點(diǎn)的產(chǎn)品經(jīng)理而言,技術(shù)也是產(chǎn)品經(jīng)理必懂的一門(mén)知識(shí)。掌握了技術(shù)技能后,產(chǎn)品經(jīng)理能夠?qū)Ξa(chǎn)品的框架進(jìn)行更加全面、細(xì)化的規(guī)劃,為后面的產(chǎn)品工作打好基礎(chǔ)。
做過(guò)技術(shù)就是懂技術(shù)的產(chǎn)品經(jīng)理嗎?如果是這樣的話,豈不是人人都是產(chǎn)品經(jīng)理?
近日和某大佬聊到工作相關(guān)的話題,結(jié)合剛剛結(jié)束的高考,討論了大學(xué)應(yīng)該讀什么專(zhuān)業(yè)比較好。對(duì)比來(lái)對(duì)比去,發(fā)現(xiàn)像產(chǎn)品經(jīng)理、產(chǎn)品運(yùn)營(yíng)這塊,大學(xué)里好像沒(méi)有專(zhuān)門(mén)的課程。
于是乎又聊到自己身邊的一些產(chǎn)品經(jīng)理,我發(fā)現(xiàn)了一個(gè)問(wèn)題:
很多產(chǎn)品經(jīng)理都是開(kāi)發(fā)到了一定的年限轉(zhuǎn)來(lái)的,所以很多時(shí)候會(huì)突出自己是【懂技術(shù)的產(chǎn)品經(jīng)理】。但是實(shí)際工作中,他并沒(méi)有利用自己的技術(shù)背景為公司做太多事情,而僅僅是畫(huà)畫(huà)原型之類(lèi)的。
那么【懂技術(shù)的產(chǎn)品經(jīng)理】應(yīng)該是怎么樣的呢?
實(shí)際上,一個(gè)懂技術(shù)的產(chǎn)品經(jīng)理,說(shuō)是產(chǎn)品的架構(gòu)師也不為過(guò)。
因?yàn)樵诩夹g(shù)方面,你得懂這些內(nèi)容:抓包、反編譯、數(shù)據(jù)庫(kù)、HOOK技術(shù)、服務(wù)器相關(guān)、客戶端相關(guān)等………..
這些技術(shù)你不用很精,因?yàn)槟悴挥萌?xiě)代碼,但是你必須得懂,得知道技術(shù)怎么去做才最好。
關(guān)于競(jìng)品分析:
在公司做某一款產(chǎn)品的時(shí)候,PM通常會(huì)將競(jìng)品的所有功能以PRD的方式去呈現(xiàn),然后去調(diào)查用戶、收集行情等。
當(dāng)然,這么做是沒(méi)有錯(cuò)的,但是在設(shè)計(jì)整個(gè)框架的時(shí)候,這些完全不夠。很多產(chǎn)品之所以失敗,就是因?yàn)榍捌诳蚣軟](méi)搭好,以至于后期的需求,還有修復(fù)BUG等,是一件非常痛苦的事。
下面,我將舉例進(jìn)行說(shuō)明:
需求一:做一個(gè)視頻點(diǎn)播的APP
相關(guān)競(jìng)品有愛(ài)奇藝、優(yōu)酷。
首先,技術(shù)方面的競(jìng)品分析是必須做的,要理清楚競(jìng)品是怎么實(shí)現(xiàn)這些功能的。
所以我們必須懂【抓包】,而且得會(huì)抓,包括使用工具下斷點(diǎn)、過(guò)證書(shū)驗(yàn)證(很多APP有HTTPS驗(yàn)證)、修改返回值看客戶端的異常處理等。
抓包的工具我就不說(shuō)了,也可以參照我在吾愛(ài)破解論壇發(fā)布的原創(chuàng)技術(shù)貼【Fiddler為所欲為】系列。
直接開(kāi)始,通過(guò)抓包可以得知:
愛(ài)奇藝接口:cache.video.iqiyi.com/
如:
優(yōu)酷接口:ups.youku.com
如:
通過(guò)接口,可以得知以下信息:
1. 愛(ài)奇藝是將一部視頻切割成了若干個(gè)小的視頻,而每個(gè)小視頻下,都有各自的接口。客戶端每次播放會(huì)去請(qǐng)求該接口下的小視頻的接口,每個(gè)視頻時(shí)間在5分鐘以內(nèi),格式為f4v。
2. 優(yōu)酷一部電影只有一個(gè)接口,該視頻從接口看沒(méi)有被切割(暫不考慮m3u8是ts的切割,僅從接口來(lái)看),格式為m3u8。
那么問(wèn)題來(lái)了——面對(duì)同一個(gè)需求,為什么優(yōu)酷和愛(ài)奇藝的實(shí)現(xiàn)方式會(huì)有不同,它們的優(yōu)缺點(diǎn)分別是什么。而這就是【懂技術(shù)的產(chǎn)品經(jīng)理】應(yīng)該去做的事情了。
我的看法:
優(yōu)酷:由于m3u8一直觀看,得一直訪問(wèn)該視頻的ts,因此,當(dāng)觀看的人數(shù)多了,會(huì)造成服務(wù)器壓力大,服務(wù)器并發(fā)高的話費(fèi)用就會(huì)很大。
通過(guò)域名暫無(wú)法得知優(yōu)酷是將文件保存在自己的服務(wù)器下還是第三方服務(wù)器(如阿里云)。但是會(huì)減少很多CDN的成本,因?yàn)橛脩舨豢赡苊總€(gè)人都從頭看到尾,哪怕是跳過(guò)片頭片尾,也是解決了非常多的CDN。
愛(ài)奇藝:類(lèi)似于自己做了個(gè)m3u8的邏輯出來(lái),每段視頻都有自己的地址。m3u8是看到哪下載哪,但是愛(ài)奇藝的邏輯是需要下載到指定的片段,因此對(duì)CDN的成本會(huì)提高很多,每個(gè)視頻下載一次,對(duì)服務(wù)器的壓力會(huì)減少很多。
從用戶體驗(yàn)來(lái)講的話:
當(dāng)用戶網(wǎng)絡(luò)暢通的情況下,兩者基本無(wú)區(qū)別。而當(dāng)用戶網(wǎng)絡(luò)不佳的情況下,體驗(yàn)就有很大的區(qū)別。
優(yōu)酷:緩沖時(shí)間短,但是會(huì)放一小段就卡一會(huì)。
愛(ài)奇藝:緩沖時(shí)間較長(zhǎng),但是畫(huà)面出來(lái)過(guò)后,后續(xù)緩沖的情況?。ㄒ?yàn)橐欢我曨l在5分鐘左右,播放期間會(huì)去緩沖下一段視頻)。
技術(shù)成本上來(lái)看優(yōu)酷會(huì)更簡(jiǎn)單,有現(xiàn)成的。
那么如果我們也要做視頻點(diǎn)播功能,應(yīng)該采取優(yōu)酷還是愛(ài)奇藝呢?這就得根據(jù)公司實(shí)際情況來(lái)看了。
需求二:APP的開(kāi)屏廣告,可以設(shè)置在某個(gè)時(shí)間段顯示圖片A,另一個(gè)時(shí)間段顯示圖片B
這個(gè)需求是不是很簡(jiǎn)單?可以用這種方式來(lái)實(shí)現(xiàn):每次打開(kāi)APP的時(shí)候請(qǐng)求一個(gè)接口,客戶端根據(jù)返回的結(jié)果來(lái)看。
然而身為一個(gè)【懂產(chǎn)品的產(chǎn)品經(jīng)理】,絕對(duì)不能這樣做。你必須知道,實(shí)現(xiàn)某個(gè)功能,通常來(lái)說(shuō)有兩種方式:
- 接口
- 配置文件(這種方式很多技術(shù)還有很多人不知道……)
接口就不用解釋了,配置文件一般是指放在自己或者第三方的的服務(wù)器上,客戶端下載指定的文件,從文件進(jìn)行讀取,然后APP生效。
這種方式適用于APP大多數(shù)功能,包括:
- 定時(shí)的功能
- 某些一直不變的內(nèi)容,如APP的關(guān)于我們??蛻舳酥挥孟螺d好了用作本地緩存即可。
那么什么時(shí)候用接口,什么時(shí)候用配置文件呢?
通常來(lái)講APP的量級(jí)大,就用配置文件的方式。因?yàn)橥ǔ5谌椒?wù)器,如阿里云,服務(wù)器比較能承受高并發(fā)。而接口形式適合用戶量級(jí)小的APP。
同時(shí),配置文件會(huì)產(chǎn)生CDN的費(fèi)用,接口卻不會(huì)產(chǎn)生。不過(guò)配置文件有個(gè)風(fēng)險(xiǎn)——如果用戶下載文件失敗,會(huì)導(dǎo)致一定的結(jié)果;而接口卻不會(huì)。
所以數(shù)據(jù)的重要性也是決策用哪個(gè)技術(shù)的。
另外,如果使用配置文件,客戶端和服務(wù)器端必須懂HTTP協(xié)議的HEAD方法,不是HEAD頭,而是就像POST、GET一樣的方法,避免重復(fù)產(chǎn)生CDN成本。
需求三:在APP的部分頁(yè)面彈廣告A,部分頁(yè)面不允許彈廣告
通常情況下是這樣做的:服務(wù)器告知客戶端哪些頁(yè)面應(yīng)該彈廣告,哪些頁(yè)面不能彈廣告,客戶端拿到廣告根據(jù)相應(yīng)的規(guī)則來(lái)。
當(dāng)然,這樣設(shè)計(jì)本身是沒(méi)錯(cuò),但是拓展性很差,萬(wàn)一哪天需求改成這樣:部分頁(yè)面彈廣告A,部分頁(yè)面彈廣告B,A和B不能同時(shí)顯示。
需求改成這樣是不是意味著客戶端得進(jìn)行版本迭代了?否則沒(méi)辦法立即實(shí)現(xiàn)。
其實(shí)這個(gè)需求是非常簡(jiǎn)單的——當(dāng)PM在設(shè)計(jì)后臺(tái)的時(shí)候,像上述需求,只用告知哪個(gè)頁(yè)面要顯示,然后后臺(tái)做一下限制就OK了。也就是說(shuō)可以理解為一個(gè)簡(jiǎn)單的概念——顯示廣告的需求。這樣的話技術(shù)也簡(jiǎn)單,操作起來(lái)也簡(jiǎn)單。
需求四:客戶端和服務(wù)器都能實(shí)現(xiàn)某個(gè)需求,那么應(yīng)該由誰(shuí)來(lái)做?
很多PM或者技術(shù)在考慮這個(gè)問(wèn)題的時(shí)候,會(huì)根據(jù)誰(shuí)容易實(shí)現(xiàn),誰(shuí)比較有空,就決定由誰(shuí)來(lái)做。
但實(shí)際上并不能這樣,身為PM,你得考慮到各種風(fēng)險(xiǎn)。
比如由服務(wù)器來(lái)做,那么服務(wù)器的壓力、成本都在你的考慮范圍。并且它還有一個(gè)缺點(diǎn)——在用戶網(wǎng)絡(luò)不暢通的情況下,這個(gè)功能就屬于擺設(shè)了。
放在客戶端來(lái)做,客戶端的兼容性和穩(wěn)定性也是你的考慮范圍。做了這個(gè)功能,會(huì)不會(huì)導(dǎo)致安裝包體積增大,從而增加CDN的成本,這些各方面的因素。
結(jié)語(yǔ)
一個(gè)【懂技術(shù)的產(chǎn)品經(jīng)理】是一個(gè)非常難的,也是非常優(yōu)秀的產(chǎn)品經(jīng)理。一個(gè)產(chǎn)品經(jīng)理真正做到了懂技術(shù),將會(huì)對(duì)用戶體驗(yàn)和公司的運(yùn)營(yíng)成本進(jìn)行極大的改善。
身為懂技術(shù)的產(chǎn)品經(jīng)理,除了PM必備工具以及編程的思想以外,你得學(xué)會(huì)并精通各種工具的使用,例如Fiddler、xposed框架下的工具、存儲(chǔ)重定向、MT管理器、MyAndroidTools等。
其次是一些常見(jiàn)的安卓技術(shù):熱更新、插件化開(kāi)發(fā)、增量更新等(版本迭代必須了解的技術(shù),只有了解這些,才知道哪些需求可以立馬做,哪些需要版本迭代。)
本文由 @狂暴補(bǔ)師 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議
還未公司節(jié)省了架構(gòu)師的錢(qián)
一名并不想懂技術(shù)的產(chǎn)品前來(lái)點(diǎn)贊
對(duì)了,樓主還在找坑。
坐標(biāo)哪里
成都