程序員的產品觀和程序員的互相看不起
這篇東西怎么產生的
今天早上,我們的美女編輯跟我說,需要在書《Zabbix 深度實踐》里面再加三頁的內容,是印刷那邊的要求。我答應明天(現在已經是 28 號了,其實是今天)要給她。晚上想了一想,沒有什么想在原文中補充的內容了。就在書的最后一部分——后記二,和大家隨便聊聊我的一些思考,順便也貼到博客 了。下面這些東西,每段東西都不長,有自己的小標題。
我們在做“產品”
我是個程序員,我相信買這本書的大多數也是程序員。在我工作的過程中,以及跟其他朋友聊天下來的感覺,我發現,很多程序員對于“產品”這兩個字 是沒有概念的。這里提到的“產品”,不是一般意義上的“產品”——某個 App 是個產品,某個網站是個產品,某個活動是個產品。我這里說的“產品”,指的是程序員做的一個“東西”。
我從一開始,一直在做系統開發相關的工作,做出來的東西,大多數面對的用戶是程序員。比如最早在 PPTV 做的監控系統,目前在唯品會做的日志平臺。你做出來的每一個被他人使用的工具,都是一個“產品”,而且這個“產品”上有你的 Logo。“產品”靠譜,說明你這個人靠譜。“產品”不靠譜,說明你這個人不靠譜。用戶會把“產品”和你這個人,綁定起來。請大家牢記這個。下文的“產 品”,不再打引號,敲字太累。
先可用,再好用
這六個字,是我對于產品的基本觀點。大多數程序員都是完美主義者,巴不得開發的東西 1 個 bug 都沒有,然后界面酷拽炫,屌炸天,才能推出去給別人用。比如做個數據可視化工具,一定要把前端界面搞的跟科幻片一樣才行,否則就是“不可用”狀態。其實在 你的產品推出之前,別人是沒有工具可以用的,這種情況,叫做“0 分”。你的產品只要基本的將數據變成曲線就可以了,已經能做到 60 分了,再加上基本的導航,80 分就到了。當然,做出科幻片似的前端,確實能做到 100 分。但我們要這么想,從 0 分到 80 分,用戶的快感,和 80 分到 100 分的快感,哪個更強呢?從 80 分做到 100 分,需要花多大的精力呢?對于軟件開發本身來說,正確的方式就是發布簡單的版本,根據用戶的反饋,進行一次一次的迭代,最后收斂到一個用戶滿意的結果。
不要把半成品推出去給別人使用
看到這句話,大家是不是覺得更前面說的“先可用,再好用”是矛盾的,瞬間有了想打我的沖動。其實這兩個觀點并不矛盾。我對于一個“產品”的觀點 是“先可用,再好用”,這里的“可用”不是說東西還沒法穩定的運行就推出去給別人用。我的意思是把最基本的功能跑通,滿足用戶最痛點的需求。然后再慢慢完 善它。用戶對于產品的自信,是不可恢復的。當用戶認為一個產品垃圾之后,這個產品想要在用戶心里變成非垃圾,是非常困難的。所以說,在退出一個產品的時 候,一定是要一個“能用”的版本,千萬不能把半成品推出去給別人用。
不要閉門造車
程序員可能是世界上最自信的種族了,這里“之一”我都不需要加。這點“自信”在做一個最終用戶并不是自己的產品的時候,是個非常大的問題。程序 員一般是不會跟用戶溝通需求,先自己搗鼓個近似產品的東西出來,往用戶跟前一扔,說“用吧”。這樣的結果一般都是——返工,或者用戶非常的不滿意。
文檔很重要
一般越牛逼的程序員越不情愿寫文檔。我覺得是因為這種牛逼的程序員非常享受用戶來問他問題,估計有種眾星捧月,君臨天下的快感。另一方面,程序 員覺得自己的產品易用性已經到達極限了,如果不會用,一定是用戶自己智商問題。簡單來說,就是易用性已經到達了不需要文檔的地步了。首先,這種令人發指的 易用性是不存在的,其次,不同用戶的知識面不同,工作領域也不通,不會用產品是非常正常的。一個好的文檔,能讓用戶了解這個產品的背景,學習如何使用這個 產品。這是推銷產品的一個好方式。
除非只是一個腳本,否則一個易用的前端非常的重要。一個好用的前端,會使得產品的易用性是呈指數級增長。有個前端,可以將用戶拓展到非程序員。 而且,想象一下,一個是對著黑洞洞的終端敲命令,一個是在 Chrome 中鼠標點點就完成工作,哪個更好用呢?有人說前端太難了,沒法做。這里我要呈請下:前端不難。1 周入門,2 周開發個簡單的 demo 綽綽有余。Python 的 bottle.py,web.py,ruby 的 ruby on rails,再高級點的可以用 Angular JS。現在前端工程師非常難招,學習一下,以后工資能高點,這是個兩全其美的方法。
面對別人的咨詢,別擺出一副“愛用不用”的樣子
記住這么一句話,用戶是你親爹。當一個產品的用戶都流失了以后,這產品還有存在的必要嗎?年底的 KPI 還怎么辦?所以說,用戶是你的衣食父母,好好服侍著。前面說到,程序員就是一種自我感覺良好到爆棚,整天想著“老子天下第一”的生物。面對別人的咨詢,都 是認為對方是弱智,從而不想跟弱智溝通。我知道改變程序員這種“老子天下第一”的思想是很難的,所以,希望大家能搞清楚,用戶是給你飯吃,給你 KPI 的人,別態度太差。
結束語——程序員這個種族
看了前面這幾段東西,大家會不會有會心一笑呢?笑完再想想,是不是自己也是這樣的呢?這一段作為結束,我會和大家聊一聊程序員這個種族。
程序員的自信心基本都是爆表狀態,每個程序員都認為自己是酷拽炫屌炸天,天命所歸,老子天下第一的程序員。作為這種自信心爆棚的結果,每個程序 員都是樂觀主義者、完美主義者。樂觀主義者體現在對于一個任務的完成時間。幾乎所以程序員都會高估自己的戰斗力(自信心爆棚的另一個表現),所以肯定是任 務的實際完成時間晚于程序員自己估計的時間;完美主義者體現在程序員認為自己能解決所有的問題,所以程序員對于自己推出的產品的要求就是完美無瑕。
程序員另一個特征就是互相看不起,這個想法是超哥(諸超)提出來的,自己想想真是非常的正確。從我本人的經驗來看,每當來了個新程序員,我第一 反應是這個人技術肯定不如我。對于他問我的問題我也很反感,反正就是怎么看怎么不順眼。在慢慢了解,接觸以后,對這位新程序員的評價,才能回到客觀中。如 下圖,橫坐標軸表示時間,縱坐標軸是新程序員的水平。假設這個新程序員的水平是 4 分,那么以前從我認為這人水平是0,到正確判斷出這人水平是4,用了 9 個時間單位。在我意識到我也有這個“程序員互相看不起”的問題之后,現在改進到 5 個時間單位就能正確評價新程序員了。
我相信每個程序員都有這種問題。這個也沒法改,大家如果意識到自己有這個問題,就慢慢改吧,哈哈。
好了,扯完了,正好豆瓣 FM 一首歌,謝霆鋒的《因為愛所以愛》,好像和上面說的這些還挺有關聯的。睡覺去了。
<span id="shareA4" class="fl">
</span>