關(guān)愛(ài)程序員,人人有責(zé)!
2017-08-08 13:49:31 編輯:zhuli 訪問(wèn):
“我有一個(gè)改變世界的IDEA,就等你來(lái)寫(xiě)代碼了,不談錢(qián),給你股份!”
“我已經(jīng)談好機(jī)構(gòu)愿意投資我了,就差app跑數(shù)據(jù)了,你照那誰(shuí)抄一個(gè)就行!”
“在新頁(yè)面上加兩個(gè)按鈕,很簡(jiǎn)單的,今天能搞定吧?”
“我有了個(gè)新想法,絕對(duì)顛覆傳統(tǒng)商業(yè)模式,咱試試唄!”
“剛聽(tīng)朋友說(shuō)了,咱的APP用XXXX框架就行,你那套不行了!”
“這五版都不好,還是改回第一版吧!”
……
程序員不易,CTO更苦,那些擺在技術(shù)面前的坑,正在變著花樣的洶涌而來(lái),總有一款適合你。
1.
延期?你以為我想!
“新需求”相信已經(jīng)成為技術(shù)研發(fā)不得不面對(duì)的十宗罪之首了。
改完bug新需求來(lái)了,新需求做完發(fā)現(xiàn)了bug……無(wú)限循環(huán),相信這是很多程序員的現(xiàn)狀。沒(méi)有準(zhǔn)時(shí)下班,沒(méi)有雙休,如果捎帶手做了運(yùn)維,那就是7*24小時(shí)的命,所以,別總說(shuō)我們沒(méi)有妹子了。
在創(chuàng)業(yè)環(huán)境下的用戶(hù)需求是多變的,尤其是一個(gè)全新的產(chǎn)品、服務(wù)。需求的驗(yàn)證和迭代過(guò)程,在一個(gè)有計(jì)劃、頭腦清晰的CEO手中是可以快速推進(jìn)的,但在一個(gè)完全不懂技術(shù)、聽(tīng)風(fēng)就是雨的CEO面前,那就是一場(chǎng)噩夢(mèng)了。
他們還總是用代碼提交的數(shù)量作為評(píng)價(jià)工作量的標(biāo)準(zhǔn),要知道,有時(shí)候一個(gè)關(guān)鍵問(wèn)題的解決或是一個(gè)隱秘bug的篩查,可能會(huì)花費(fèi)大量時(shí)間,說(shuō)不好一天就搭進(jìn)去。如果真的說(shuō)“提交多少代碼=做了多少工作”,那研發(fā)個(gè)自動(dòng)提交代碼的程序?qū)τ诩夹g(shù)來(lái)說(shuō)不算難,這么互相騙下去,雙方都有損失,為什么不能多一些理解和溝通呢。
所以,請(qǐng)不要單純拿延期和工作量來(lái)評(píng)價(jià)技術(shù)研發(fā)工作了。
2.
需求不是你想加,想加就能加!
——“新加個(gè)導(dǎo)航功能,就百度地圖那樣的,下禮拜能上線么?”
——“sorry,不太可能~”
——“這么簡(jiǎn)單都不行,抄你都不會(huì)?”
——“簡(jiǎn)單你來(lái)?”
——“我要會(huì)還用你!”
——“……”
新需求,可以說(shuō)是技術(shù)的日常,不是不能加,而是要加的合理。
你以為加一個(gè)按鈕是UI設(shè)計(jì)好、改改界面就能搞定的?一個(gè)簡(jiǎn)單的調(diào)整可能牽一發(fā)而動(dòng)全身,影響了前端不說(shuō),甚至連后臺(tái)邏輯都要改。
舉個(gè)栗子,做平臺(tái)鏈接供需雙方,想加一個(gè)聊天功能,雖然界面看上去是一個(gè)按鈕的事兒,而且聊天功能現(xiàn)在很多產(chǎn)品都實(shí)現(xiàn)了,開(kāi)源也有,但是否能直接拿來(lái)和現(xiàn)有業(yè)務(wù)邏輯合并?是一對(duì)一聊,還是多人群聊?每換一個(gè)或加一個(gè)人進(jìn)來(lái),之前的記錄是否保留?如何避免雙方聊上之后互換聯(lián)系方式最終跑單等等,需要非常全面的考慮,不是說(shuō)拿來(lái)copy一下就能直接上的。
最恐怖的是,老板想加一個(gè)搜索功能,需求就是“要像百度一樣”……
不懂技術(shù)沒(méi)關(guān)系,不了解背后的邏輯和復(fù)雜程度也沒(méi)關(guān)系,但新需求能否溝通下再做結(jié)論?別讓技術(shù)總是最后一個(gè)知道,連產(chǎn)品經(jīng)理都蒙逼,連需求文檔都沒(méi)有的情況下,就讓技術(shù)去實(shí)現(xiàn),這可真不是晚上加會(huì)班的事兒。
什么?下禮拜上線?呵呵噠~
3.
用人不疑,略懂代碼,
不意味著可以指手畫(huà)腳
用人不疑,相信是很多老板掛在嘴邊的原則,但是否能落實(shí)到行為上就另說(shuō)了。
不怕一無(wú)所知,就怕一知半解,自以為懂點(diǎn)技術(shù)就指手畫(huà)腳,聽(tīng)風(fēng)就是雨,看到刷屏級(jí)H5就想復(fù)制一個(gè),看到外面有人說(shuō)react混合開(kāi)發(fā)成本低就想試試,看到小程序流行就想追個(gè)熱點(diǎn)摻和一下。
這還是外行想要追求新突破提出的建議,一般內(nèi)部交流、討論下就能說(shuō)服老板,但就怕遇上一知半解自以為懂代碼恨不得自己下手寫(xiě)的。
CEO的本職是什么?找錢(qián)、找人、搞定公司發(fā)展,為未來(lái)謀劃,而不是把那些細(xì)枝末節(jié)都強(qiáng)加在自己身上。
的確,有的技術(shù)可能真的不如CEO專(zhuān)業(yè),能力差的可以替換,有潛力的可以培養(yǎng),否則強(qiáng)的只是CEO一人,于整個(gè)團(tuán)隊(duì)無(wú)益。
一個(gè)人做不完所有事,兼顧不了所有細(xì)節(jié),CEO要有包容的胸懷,信任他就交給他去做,可以提出建議、方法,但不要過(guò)分介入、干涉。比起直接干預(yù),可以請(qǐng)個(gè)外部技術(shù)大牛,換一個(gè)角度幫助團(tuán)隊(duì)發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,會(huì)令所有人都信服。
4.
論CEO要不要懂點(diǎn)技術(shù)
既然專(zhuān)業(yè)事交給專(zhuān)業(yè)人去做,那CEO還有必要懂點(diǎn)技術(shù)么?
叨叨曾遇到過(guò)為了與程序員交流更順暢而去學(xué)習(xí)技術(shù)的CEO,精神可嘉,但更重要的,還是看心態(tài)。
很多被技術(shù)坑過(guò)的CEO都會(huì)想懂些代碼,但一方面做個(gè)全面的創(chuàng)業(yè)者,另一方面學(xué)習(xí)技術(shù)并實(shí)踐,對(duì)于非技術(shù)背景的CEO是不現(xiàn)實(shí)的。但基礎(chǔ)的了解還是有些必要,最起碼的要知道PHP和JAVA是不同語(yǔ)言,分析師、架構(gòu)師、IOS/Android/PC端、運(yùn)維、前端、后臺(tái)、測(cè)試分屬不同專(zhuān)業(yè)領(lǐng)域、有著不同崗位職責(zé),不要一股腦以為有個(gè)CTO就夠了。
另外,了解一些技術(shù)并不是為了干涉程序員的具體工作,而是能夠從更全面的角度分析產(chǎn)品,避免提出那些不合理的需求,提高團(tuán)隊(duì)工作效率。其實(shí)對(duì)于“懂點(diǎn)技術(shù)”,更多的可以是對(duì)產(chǎn)品經(jīng)理的要求。
比如騰訊,非常提倡技術(shù)出身的產(chǎn)品經(jīng)理,一方面善于發(fā)現(xiàn)、篩選用戶(hù)需求,另一方面懂得在技術(shù)實(shí)現(xiàn)與用戶(hù)需求之間找到平衡點(diǎn),比如騰訊創(chuàng)始人,他就是這樣一位技術(shù)出身的產(chǎn)品經(jīng)理,還做了CEO。
5.
程序員不是修打印機(jī)的,謝謝!
聊完專(zhuān)業(yè)的,再聊聊日常。
程序員的日常和電腦有著不可分割的密切關(guān)系,但這并不意味著技術(shù)就會(huì)修電腦。有多少技術(shù)沒(méi)幫助運(yùn)營(yíng)妹子修過(guò)電腦、裝過(guò)軟件?開(kāi)始可能會(huì)樂(lè)此不疲,但時(shí)間久了也是會(huì)煩的,更不用說(shuō)在梳理邏輯的時(shí)候被打擾,真的是@#¥!&*#¥&@*
不只是程序員,被誤解最深的恐怕就是CTO了。
很多不懂技術(shù)的老板對(duì)CTO的定位就是“萬(wàn)能魔術(shù)師”,仿佛一個(gè)好的IDEA只要有了CTO的加入就能改變世界、改變?nèi)祟?lèi)。
但事實(shí)上呢?
知乎上“程序員pilot”的回答很有意思,“頂著CTO的名頭干著技術(shù)組長(zhǎng)兼打雜的事情,包括但不限于招聘,裁員,拉網(wǎng)線,查機(jī)房,裝系統(tǒng),重裝系統(tǒng),討論方案,推翻方案,談合同,簽合同,哄手下,罵手下,被老板哄,挨老板罵,確定進(jìn)度,拖延進(jìn)度,重新定進(jìn)度,取悅老板,揣摩老板,寫(xiě)畫(huà)餅郵件,寫(xiě)辭職郵件等工作,工作內(nèi)容一般不包括編碼。”
所以,對(duì)老板而言,只要他們認(rèn)為目前技術(shù)團(tuán)隊(duì)不夠好,不夠給力,不夠預(yù)期,就認(rèn)為自己缺CTO。
幾點(diǎn)建議,供大家參考:
1.一紙協(xié)議永遠(yuǎn)比承諾更靠譜。不要覺(jué)得股權(quán)無(wú)所謂,該爭(zhēng)取的不要礙于情分、面子而覺(jué)得不好開(kāi)口,要知道,只有明確了利益歸屬,才好綁在一起加油干。
協(xié)議中要明確約定公司協(xié)議主體和性質(zhì)、股權(quán)比例、出資方式和期限、回購(gòu)條款等等,這類(lèi)注意事項(xiàng)搜一下都能找到,不再贅述。
2. 警惕公司改革。那位被坑了7年的技術(shù)合伙人就是在不知不覺(jué)中被CEO將股份轉(zhuǎn)移至自己名下,所以,和誰(shuí)簽的協(xié)議一定要明確,并且信息可以在工商備案中查到具體信息。
3.明確退出條件。無(wú)論項(xiàng)目上市、被并購(gòu),還是中途離開(kāi)、被離開(kāi),都要明確你會(huì)得到什么、如何得到、各自的前提是什么。
4.明確工作成果的所屬權(quán)。相信沒(méi)人愿意最終對(duì)簿公堂,但萬(wàn)一出現(xiàn)這種情況怎么辦?當(dāng)對(duì)方一口否認(rèn)工作成果屬于你,將你貶得對(duì)公司毫無(wú)價(jià)值怎么辦?所以,必須留有“證明工作成果屬于你”的證據(jù),比如在你開(kāi)發(fā)的代碼、軟件里面埋幾個(gè)彩蛋,只有你自己知道彩蛋的出現(xiàn)方法,前提一定是不影響業(yè)務(wù)正常發(fā)展、不惡意留后門(mén)。友情提示:翻墻證據(jù)無(wú)效。
至于其他的坑,比如重構(gòu)別人代碼、鉆到N年前別人寫(xiě)的代碼里修bug、和蘋(píng)果審核撕逼、舊系統(tǒng)沒(méi)有源代碼等等,篇幅有限,下次再聊。
程序員的坑雖多,但遠(yuǎn)沒(méi)到絕望的程度。
更絕望的是,明明知道是坑,卻還是要努力完成它……
向每一位戰(zhàn)斗在代碼一線的程序員致敬,祝早日找到妹子!