野生產(chǎn)品經(jīng)理(1/3):從開(kāi)發(fā)到產(chǎn)品,一場(chǎng)讓我決定轉(zhuǎn)行的技術(shù)面試
許多人想轉(zhuǎn)行,但卻不知道如何準(zhǔn)備面試時(shí),應(yīng)該怎么做?作者分享了自己從開(kāi)發(fā)轉(zhuǎn)產(chǎn)品的面試過(guò)程,希望能給你一些幫助,在這個(gè)求職季找到一些方向。
故事時(shí)間:2019年3月
?Part1-海投求職
離職的時(shí)候,公司領(lǐng)導(dǎo)問(wèn)我接下來(lái)是否是繼續(xù)從事 iOS 行業(yè),我略帶羞澀地回答“接下來(lái)估計(jì)會(huì)找產(chǎn)品經(jīng)理項(xiàng)目經(jīng)理這樣的職位,去從事工作中包含更多與人溝通內(nèi)容的職業(yè)”。領(lǐng)導(dǎo)點(diǎn)點(diǎn)頭,還給了我一些不錯(cuò)的建議。
近兩年,在業(yè)界周知的是移動(dòng)端 iOS、Android 的開(kāi)發(fā)每況愈下,這不單單是因?yàn)榭缙脚_(tái)的開(kāi)發(fā)越來(lái)越出色,更主要的原因是在于移動(dòng)端的開(kāi)發(fā)相對(duì)簡(jiǎn)單,不需要程序員動(dòng)很多的腦子,只要搭建漂亮的界面,而所需的控件大部分都已經(jīng)被官方寫好了。
在與老同事依依惜別之后,我終于來(lái)到了上海,投簡(jiǎn)歷的時(shí)候依然是“iOS 開(kāi)發(fā)工程師”,原因很簡(jiǎn)單,雖然我以前做過(guò)產(chǎn)品經(jīng)理的活,但我主要還是個(gè) iOS 開(kāi)發(fā),而直接去投產(chǎn)品經(jīng)理的崗位估計(jì)會(huì)無(wú)人問(wèn)津。
但事實(shí)是,我在51、智聯(lián)、獵聘上投了幾家招聘 iOS 的公司,幾天過(guò)去——無(wú)人問(wèn)津。
離職之前,我設(shè)想的是:第二家公司要么去大廠,可以學(xué)習(xí)到先進(jìn)的技術(shù)和團(tuán)隊(duì)管理經(jīng)驗(yàn);要么去小的公司,可以擔(dān)任更多的職責(zé),從而磨煉自己的能力。我個(gè)人更傾向于后者。
從長(zhǎng)遠(yuǎn)來(lái)看,一直當(dāng)個(gè)程序員寫代碼不是長(zhǎng)久之計(jì),哪怕三年五載之后自己變成行業(yè)的大神,可那個(gè)時(shí)候的iOS行業(yè)估計(jì)不會(huì)比現(xiàn)在好。
幾天過(guò)去,我的簡(jiǎn)歷除了被幾個(gè)提供海外東南亞國(guó)家工作的獵頭看上,其他公司的人事基本上都是看過(guò)之后就直接放進(jìn)人才庫(kù)。我因此非常焦慮,想著自己就要在上海當(dāng)一個(gè)無(wú)業(yè)游民,整日無(wú)所事事了。無(wú)所事事令我焦慮,焦慮令我無(wú)法靜下心來(lái)學(xué)點(diǎn)東西,無(wú)所學(xué)便無(wú)所進(jìn)步,接著有一種人生開(kāi)始變得灰暗了的感覺(jué)。
后來(lái)我改變了策略,調(diào)整了簡(jiǎn)歷內(nèi)容,主要是讓HR可以看到簡(jiǎn)歷上的關(guān)鍵字與他們的招聘對(duì)應(yīng),接著一口氣投了50家公司,沒(méi)想到這下效果立竿見(jiàn)影,當(dāng)天就收到面試邀請(qǐng),隔天又收到兩家面試邀請(qǐng)。
我逐一去查了邀請(qǐng)面試的公司,都是初創(chuàng)公司和外包公司,看過(guò)他們的產(chǎn)品也差強(qiáng)人意,于是簡(jiǎn)單地溫習(xí)了一下面試題后便面試去了。
Part2-印象深刻的面試
2019年4月4日,星期五。
今天有兩場(chǎng)面試。接下來(lái)是清明3天小長(zhǎng)假,公司都放假了,自然也就不會(huì)有面試了。前一家面試公司的聘用電話已經(jīng)打來(lái)了,我暫時(shí)壓下了,說(shuō)想考慮一段時(shí)間,主要也是想對(duì)比各個(gè)公司的情況。
今天第一場(chǎng)面試非常順利,第二場(chǎng)是臨時(shí)安排的,在趕去的路上簡(jiǎn)單 Google 了下這家公司,也是家外包公司,做金融產(chǎn)品的,這樣的公司在上海估計(jì)一抓一大把,因此心里想跟前面的公司區(qū)別不大。
可實(shí)際的情況是——區(qū)別很大?。?!
面試我的是一個(gè)看起來(lái)完全不太像程序員的程序小哥,濃密的頭發(fā),娃娃臉,個(gè)子不算高,看起來(lái)很干練的樣子,眼神犀利卻無(wú)兇氣。
首先是自我介紹,我說(shuō)了一下大學(xué)以來(lái)的經(jīng)歷,對(duì)我來(lái)說(shuō)很輕松。
然后問(wèn)我以前做的產(chǎn)品中用到了哪些技術(shù),這個(gè)倒有點(diǎn)令我不知從何開(kāi)始了,因?yàn)槲矣X(jué)得自己寫過(guò)的代碼都挺簡(jiǎn)單的,要是說(shuō)一些控件和第三方是不是顯得很 low?于是我說(shuō)了推送的集成,其中運(yùn)用了通知和消息兩種方式(我的回答:通知可以在前臺(tái)與后臺(tái)都收到,但是得走蘋果的APNS,處理起來(lái)相對(duì)麻煩;而消息只能在前臺(tái)收到,是通過(guò) App 內(nèi)的長(zhǎng)鏈接實(shí)現(xiàn)的,集成簡(jiǎn)單;而在我的產(chǎn)品中把兩者都實(shí)現(xiàn)了,且可以根據(jù)場(chǎng)景互相切換)。但我萬(wàn)萬(wàn)沒(méi)想到接下來(lái)開(kāi)始了我非常尷尬的“表演”,而此時(shí)的我還不知道坐在我面前的是一個(gè)8年開(kāi)發(fā)經(jīng)驗(yàn)的大神。
當(dāng)我把回答中的消息說(shuō)完時(shí),小哥馬上問(wèn)道:那么消息是怎么實(shí)現(xiàn)的呢?
這時(shí)我吃了一驚,一般 iOS 面試說(shuō)到推送不都是講蘋果APNS那套流程嗎?而消息是不走APNS的,可我只知道它是應(yīng)用內(nèi)長(zhǎng)鏈接啊。為了避免完全答不上來(lái),我謹(jǐn)慎地問(wèn)了下:你指的是消息實(shí)現(xiàn)原理嗎?小哥點(diǎn)點(diǎn)頭:嗯,就是消息具體是怎么實(shí)現(xiàn)的。這時(shí)我確定自己回答不了該問(wèn)題了,便坦誠(chéng)地說(shuō)自己只是經(jīng)常使用消息,但是對(duì)其的實(shí)現(xiàn)方式?jīng)]有深入的了解過(guò)。
小哥說(shuō)好的,補(bǔ)充說(shuō):消息需要長(zhǎng)鏈接,長(zhǎng)鏈接是怎么實(shí)現(xiàn)的呢,使用的是socket、TCP還是TDP,問(wèn)的就是這個(gè)了。接著再問(wèn)我:談?wù)勀銓?duì)多線程的了解。我回答多線程有3種實(shí)現(xiàn)方式NSThread、OperationQueue、GCD,個(gè)人平時(shí)開(kāi)發(fā)主要用GCD,這個(gè)比較底層,功能也更強(qiáng)大。于是小哥問(wèn)我GCD有哪些具體方法和我實(shí)際的應(yīng)用,這個(gè)我回答得不錯(cuò)。然后小哥再分別問(wèn)了NSThread和OperationQueue,我說(shuō)只是知道這些,但是實(shí)際沒(méi)有應(yīng)用過(guò),也就無(wú)法回答了。
小哥點(diǎn)點(diǎn)頭,了解了,談?wù)勀銓?duì)Runloop的理解吧。
由于剛剛的回答不好,我開(kāi)始有點(diǎn)緊張,竟然把Runloop聽(tīng)成了Runtime,于是開(kāi)始說(shuō)起了Runtime,小哥喊停,提醒我是Runloop,然后我就懵逼了,準(zhǔn)備面試的時(shí)候我重點(diǎn)復(fù)習(xí)了Runtime,而Runloop給忘了,自己支支吾吾了幾句,我再次說(shuō)道抱歉,表示自己可能開(kāi)發(fā)中用過(guò)Runloop,但是一點(diǎn)印象都沒(méi)有了。
小哥說(shuō)好的,很有耐心,也沒(méi)露出絲毫鄙視的神情。接著讓我說(shuō)說(shuō)Runtime,我先說(shuō)了Runtime的消息機(jī)制,小哥讓我解釋Runtime的消息轉(zhuǎn)發(fā)的兩個(gè)參數(shù)并詳細(xì)說(shuō)說(shuō)其中的SEL,SEL我只知道它對(duì)應(yīng)的是方法;然后我說(shuō)了Runtime的應(yīng)用,說(shuō)到給分類實(shí)現(xiàn)添加屬性的時(shí)候,小哥問(wèn)我具體如何實(shí)現(xiàn),這里我只有印象,但具體實(shí)現(xiàn)和其方法沒(méi)記。
小哥還問(wèn)了KVO,想必大家都覺(jué)得KVO嘛,一種不同類之間的通訊方式,觀察對(duì)象的屬性,適合一對(duì)多的情況下使用。但小哥完全不落俗套,問(wèn)的是如何實(shí)現(xiàn)一個(gè)KVO。我又懵逼了,他考得全都是很底層的問(wèn)題??!或者說(shuō),他的這些問(wèn)題,我根本就沒(méi)準(zhǔn)備到位!
當(dāng)我又打算再一次說(shuō)抱歉的時(shí)候,小哥卻鼓勵(lì)我繼續(xù)回答,讓我再想想,其實(shí)我想到了重寫 set 方法,我當(dāng)時(shí)沒(méi)想通的是:雖然在 set 方法里可以知道屬性被修改了,但該用什么方式如何告訴外界呢?總不能用 delegate 或notification 吧?接著小哥還跟我稍微討論了一下這個(gè)問(wèn)題:重寫 set 方法的思路是對(duì)的,接著使用回調(diào)就可以告訴外界了。
技術(shù)的面試大概進(jìn)行了25分鐘,我答得不好,但小哥始終敬而無(wú)失,也讓我在內(nèi)心感謝和敬佩他的職業(yè)素養(yǎng)。
Part3-決定轉(zhuǎn)行
面試后半部分就聊得比較輕松了,這時(shí)我才知道小哥已經(jīng)做程序員8年了——真是“其貌不揚(yáng)”,他各種語(yǔ)言都會(huì)寫,平時(shí)主要寫的是 iOS,如果按照 iOS 編年史去算的話,小哥在2011年(當(dāng)時(shí)的系統(tǒng)是 iOS 4,iPhone 4才上市一年)就已經(jīng)開(kāi)始從事 iOS 開(kāi)發(fā),可以算得上國(guó)內(nèi) iOS 開(kāi)發(fā)的大佬了吧。而他是前飛信團(tuán)隊(duì)的。
當(dāng)我放松下來(lái)之后,腦子轉(zhuǎn)得也快多了。這么一個(gè)活大佬坐在我面前,為何不跟他聊聊對(duì)我職業(yè)生涯有利的話題呢?我問(wèn)小哥:你從事 iOS 開(kāi)發(fā)這么久,現(xiàn)在對(duì) iOS 的看法是怎樣的呢?小哥很實(shí)在的回答我說(shuō):其實(shí)我目前也不怎么看好 iOS,但是不能只會(huì) iOS,像React Native、Flutter都要了解的……
從這家面試公司走出來(lái)的時(shí)候,我感覺(jué)興奮極了。這就是我想要的面試,真的暴露我自己不足的面試,可以和厲害的人直接對(duì)話,還能為自己指明方向。
我腦海中開(kāi)始浮現(xiàn)我在這家公司上班努力的樣子:公司福利到位,周末雙休,沒(méi)有犧牲身體健康的加班,有牛逼的技術(shù)團(tuán)隊(duì),不出1年我的專業(yè)功力必然大漲,三年五載后,我也會(huì)成為這位小哥一樣對(duì)自己專業(yè)非常自信的程序員。不論是公司待遇,還是對(duì)我的 iOS 技術(shù)提升,這家公司就是我找 iOS 開(kāi)發(fā)的理想單位。
然而,當(dāng)我見(jiàn)識(shí)了自己心中理想的單位,并設(shè)想自己進(jìn)入其中工作和未來(lái)幾年前景時(shí),我心中豁然開(kāi)朗:
這很好,但這并不是我想要的。
于是,我接受了一家規(guī)模較小的公司提供的產(chǎn)品經(jīng)理的職位。
補(bǔ)充:今天我接到了小哥公司的錄用電話,人事說(shuō)如果談得攏就可以安排上崗時(shí)間了。真沒(méi)想到??!我內(nèi)心非常感謝小哥的面試,也非常感謝貴公司對(duì)我的認(rèn)可。
——2019.04.09
Part4-細(xì)說(shuō)為何轉(zhuǎn)行
現(xiàn)在回想當(dāng)時(shí)毅然決然的做出轉(zhuǎn)行決定,大概包括了4個(gè)原因:
1. 研發(fā)的天花板低
做過(guò)程序員之后會(huì)明白一個(gè)道理:技術(shù)永遠(yuǎn)只是手段,不是目的。那些看起來(lái)很酷的軟件并不是程序員創(chuàng)造出來(lái)的,而是“產(chǎn)品經(jīng)理”想出來(lái)的,再由程序員寫出來(lái)。我寫過(guò)前端的iOS、小程序、H5,后端的Java,還自己搭建網(wǎng)站服務(wù)器,最后發(fā)現(xiàn)這些東西自己玩玩可以,但是沒(méi)有價(jià)值。在互聯(lián)網(wǎng)紅利時(shí)代,許多技術(shù)出身的大佬創(chuàng)造了財(cái)富神話,成就他們的不是技術(shù),而是他們具備的產(chǎn)品思維。研發(fā)的天花板是CTO,產(chǎn)品經(jīng)理的天花板是CEO。
2. 產(chǎn)品經(jīng)理更符合我的天性
我想要做創(chuàng)造性的工作,我想要有決策權(quán),我熱衷于用互聯(lián)網(wǎng)系統(tǒng)幫他人解決問(wèn)題。我在寫代碼的時(shí)候經(jīng)常會(huì)想一個(gè)問(wèn)題:我寫的這些代碼到底值不值公司發(fā)我的工資?后來(lái)知道公司將我寫的軟件拿出去賣了好多錢,確實(shí)是值得的。只是為什么做這個(gè)軟件?為誰(shuí)做?調(diào)動(dòng)多少資源來(lái)做?開(kāi)發(fā)這個(gè)軟件的范圍、規(guī)劃、風(fēng)險(xiǎn)評(píng)估我都不涉及,我主要是寫出一行行高質(zhì)量的代碼——這似乎沒(méi)有產(chǎn)生太多價(jià)值——程序員的崗位無(wú)法滿足我的求知探索欲。
3. 冥冥之中的安排
因?yàn)樽鰅Phone軟件開(kāi)發(fā),我拜讀了《喬布斯傳》,了解了這位傳奇產(chǎn)品經(jīng)理的一生。
作為研發(fā)的時(shí)候,因?yàn)橛X(jué)得原系統(tǒng)界面太丑,便和UI一起設(shè)計(jì)產(chǎn)品交互;因?yàn)閻?ài)跟人打交道,能從各個(gè)業(yè)務(wù)部門收集到他們對(duì)公司現(xiàn)有產(chǎn)品的客觀評(píng)價(jià);因?yàn)橄肓私夤鞠到y(tǒng)是怎么收集數(shù)據(jù)的,技術(shù)總監(jiān)就派我去客戶現(xiàn)場(chǎng)觀察用戶如何使用我們的產(chǎn)品;因?yàn)闆](méi)有標(biāo)準(zhǔn)需求文檔老是與業(yè)務(wù)溝通摩擦,我試著從0到1寫需求文檔……
還有這次找工作時(shí),上文技術(shù)小哥的醍醐灌頂。
仿佛都在告訴我:你應(yīng)該去做產(chǎn)品經(jīng)理。
4. 從事程序員的動(dòng)機(jī)不純
大學(xué)畢業(yè)時(shí)從事 iOS 開(kāi)發(fā)主要是為了不錯(cuò)的收入,并沒(méi)有想過(guò)自己喜不喜歡,也沒(méi)有能力去判斷自己喜不喜歡,那時(shí)候的我閱歷太淺了,對(duì)人生也沒(méi)有清晰的規(guī)劃。步入社會(huì)后,發(fā)現(xiàn)好多事情在大學(xué)的時(shí)候就應(yīng)該搞清楚的。我很感謝研發(fā)的這段經(jīng)歷,否則可能也不會(huì)了解產(chǎn)品經(jīng)理。既然現(xiàn)在有一個(gè)更好的選擇,我很慶幸在職業(yè)生涯第3年就可以轉(zhuǎn)崗。
本文由 @吳德馨 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
催更,好奇后面的故事,我做了幾年產(chǎn)品經(jīng)理,感覺(jué)很多項(xiàng)目也是很難很成功,涉及到的東西太多了,也是很無(wú)奈
后面2、3兩部是我三四年前的經(jīng)歷,這兩年倒是確實(shí)有成功的產(chǎn)品經(jīng)驗(yàn)(運(yùn)營(yíng)推廣很重要),晚點(diǎn)寫出來(lái)
博主想法跟我很一致,我也不是沖著自己喜歡做創(chuàng)造性的事情,喜歡為他人解決問(wèn)題,喜歡決策,喜歡與人打交道,才走的這條路
說(shuō)那么冠冕堂皇。互聯(lián)網(wǎng)行業(yè)的產(chǎn)品,開(kāi)發(fā),相輔相成,并且入門門檻來(lái)看,都差不多。我相信大部分人,都是沒(méi)了解兩者職業(yè)的對(duì)比后做的選擇,是誤打誤撞或者機(jī)緣巧合。開(kāi)發(fā)人員一定工作經(jīng)驗(yàn)后,不想再繼續(xù)做枯燥無(wú)味的開(kāi)發(fā)工作而二次選擇產(chǎn)品,大部分緣由是開(kāi)發(fā)崗的職業(yè)期較短,話語(yǔ)權(quán)不高導(dǎo)致。
從我的感受來(lái)看,大部分人跳進(jìn)互聯(lián)網(wǎng)還是為了吃飯,少有持續(xù)向上的進(jìn)心
繼續(xù)加油呀
繼續(xù)加油