俗話說,藝多不壓身。
或許放在在其他身份上,這句話要辯證看待;但對于產品汪,那是真真兒地適用。首先,你要明白自身從事的領域,其市場是怎么運作的,這需要數(shù)年的經驗積累;然后呢,你要懂心理學,要懂行為學,更要懂經濟學;說不定哪天你的產品國際化了,你還要懂幾門外語和民風民俗...當然,設計、開發(fā)方面的知識也是必不可少的,這其中又要涉及到很多東西。
總體來說,我將產品汪應該具備的技能分為硬技能與軟技能兩個方面,硬技能多指工具,軟技能多為認知。硬技能又大致分為四種:策劃技能、開發(fā)技能、設計技能與運營技能;軟技能則分為經驗、見解、視野、執(zhí)行力與邏輯性四個方面。今天先講講開發(fā)技能。
產品汪應當具備哪些開發(fā)技能,程序猿最有發(fā)言權;因此,我特意采訪了一些猿友:“你認為產品經理應該掌握哪些開發(fā)技能或者開發(fā)知識?”答復如下:
A:“對開發(fā)流程要非常清楚,如果涉及到客戶端和服務端的合作,應該非常了解服務端和客戶端是怎么工作的,分別具備哪些開發(fā)優(yōu)勢和局限性,畢竟PM才是核心?!?/p>
B:“1、學習基本視圖控件的結構,知道自帶的系統(tǒng)顯示方式;2、了解ios系統(tǒng)本身特性;3、了解系統(tǒng)動畫表現(xiàn)”
C:“越多越好,網站的至少能寫html,手機能獨立發(fā)布簡單應用。”
D:“流程圖,能夠知道哪些東西應該在服務端做哪些應該在客戶端做?!?/p>
E:“了解 安卓的頁面設計規(guī)范”
F:“把PC客戶端,網頁,移動分清楚就好了”
G:“我希望PM了解:1、客戶端和服務端各自的區(qū)別,這樣在碰到問題時,能夠找對負責人。2、能夠了解內、中、外、公,這四個網段各自的權限級別。客戶端這里內容比較多,比如兼容性,比如會不會用瀏覽器自帶的一些調試工具。這樣更便于分析問題?!?/p>
H:“我覺得,如果PM發(fā)現(xiàn)項目中某個問題后,應該要自已能夠區(qū)分出這是前端的問題還是后端的問題,不需要任何一個問題都問一下這個是前端修改還是后端”
I:“1、了解項目整體的需求,了解數(shù)據(jù)流程(需求的把控);2、增加新的功能要考慮會對現(xiàn)有的數(shù)據(jù)流程產生什么影響(整體流程的把控);3、測試,測試不止是輸入正確的流程數(shù)據(jù),也需要輸入一下奇奇怪怪的數(shù)據(jù)進行測試(測試程序的健壯性);4、要換位思考,系統(tǒng)是給那些對象使用的,功能操作是否方便合理(產品的體驗)”
……嘛,暫且忽略這些猿猿對汪汪的要求有多大的差異性,我們先試著按梯度劃分一下PM應當具備的開發(fā)技能框架:
第一階段:明確問題歸屬,避免流程混亂;
清晰準確的流程是開發(fā)效率的最大保障。后端除了問題,你跑到前端爭論;客戶端除了問題,你跑到服務端那里反饋。來來回回,會耽誤很多時間。這也是開發(fā)人員最討厭產品人員地方。那么,怎樣提升呢?
其實,這并不需要專門去學習什么,單純靠經驗的積累就可以掌握了;當然,平時體驗產品時多思考數(shù)據(jù)、頁面元素、功能邏輯各自在前后端的歸屬,就能迅速提高并加深理解了。
第二階段:掌握一些簡單的調試、測試工具,幫助程序更精準地發(fā)現(xiàn)問題;
剛入職時,發(fā)現(xiàn)bug很興奮,屁顛屁顛地跑到程序猿面前:“你看,你看,這里有問題!”然后演示給他看?;仡^想來,簡直不能再業(yè)余了。作為產品汪,你要做的,不是發(fā)現(xiàn)問題,而是精準地描述問題。以移動端開發(fā)為例:假如你發(fā)現(xiàn)了一個bug,不要急著上報;首先你要能精準地描述出bug出現(xiàn)的位置,出現(xiàn)的頻率,再現(xiàn)的步驟、影響的范圍、影響的機型、有無牽扯到其他功能邏輯、可能的改善方法等;你描述的越是精準詳盡,程序猿改起來的效率就越高。這就要求產品汪一要對產品邏輯有著非常深刻的認知,不能停留在表層;二要掌握一些測試手段;
所謂測試手段,主要是web端的一些調試,各位自行百度;
移動端在權限許可的前提下,多利用一些測試網站,如百度MTC,Testin;
第三階段:對各平臺的設計準則要有所了解,甚至熟知;
如今主流的三大移動平臺:Android、iOS、WP,各有各的設計準則;盡可能地按照各自的平臺準則進行設計,不僅能最大程度地保證用戶體驗,還能節(jié)省不小的開發(fā)成本。在iOS上整一個安卓的界面,我保證你會收獲程序猿十足的厭惡感。
這方面三個平臺官網都有公開文檔,作為產品汪,要盡量多地掌握。
第四階段:掌握一些開發(fā)語言,能夠編寫簡單的應用程序或網頁應用;
這算是進階要求了。偉大的喬幫主曾經說過:“這個國家的每個人都應該學習如何編程,因為它教你如何去思考?!闭麄€世界都能用二進制描述和解析,然而你還不會編程..扯遠了,先不說世界,單從開發(fā)效率來看,產品汪掌握一門開發(fā)語言也是十分必要的,因為它能讓你盡可能地靠近程序猿的思維,從而避免在溝通上出現(xiàn)問題。
相信C應該是大部分童鞋的必修課,如果你還在上學,請學好它,很重要;
另外,可以選擇自學Java;H5和Swift足夠簡單,也是不錯的選擇。
以上是開發(fā)技能的部分,漫漫長路,我也在不斷修習。產品這條路,越往下走,發(fā)現(xiàn)自己越水。真誠希望能和各路大牛交流學習。