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