在程序員的眼裏,用戶是這樣使用他們開發軟件的
簡評:在編程這個行業中,有一個原則名為“KISS”,當然你別想歪了,不是那個男女之間的Kiss,而是“keep it simple,stupid”的縮略用語,意為“長話短說,傻瓜”,其實就是程序員在實現功能或者寫一個應用時需要將用戶當成“傻子”,沒錯就是傻子...,這樣寫出來的程序才能不是程序猿的用戶使用(哭笑ing)。
我曾經說過,程序員不是一般人,是具有某種超能力的人。但問題是,程序員往往意識不到自己的這種特異功能,在他們的眼裏,會認為自己很普通,跟常人一樣,所以,程序員能做到的事情,其他人——比如他們的客戶/軟件用戶——也應該很容易做到。
但事實上,由於大部分人——絕大部分人(包括軟件開發公司的客戶/購買軟件的用戶)——都是電腦小白(對電腦知識/計算機知識/軟件知識知之甚少的人)。一個對於程序員來說很顯而易見的軟件操作,換成讓用戶來操作,就會出現各種各樣奇怪的事情。這讓程序員非常痛苦。
記得有一次,一個客戶打電話給我,說他電腦桌麵上的大e找不到了,我沒聽懂,什麼大e找不到了?客戶解釋說:就是那個長的像大個兒的英文字母e的圖標找不到了。我倒。終於明白了他指的是桌麵上的IE瀏覽器的圖標不見了。
還有一次,有個客戶提出一個需求,要求在頁麵上增加一個搜索功能,我問它,係統裏有搜索功能,為什麼還要在這個地方新增一個搜索功能,他說他要的不是那個搜索,他要的是在這個頁麵上搜在某個關鍵詞。經過進一步的溝通,我明白了,他要的是瀏覽器上的快捷鍵CTRL+F的功能。
因為用戶的這些特征,導致了程序員認為完美的程序,到了客戶的手裏,卻變成極其難用的軟件,投訴電話如鄉下罵街的潑婦似的響個不停。而事後分析發現,根本原因都是應為程序員高估了用戶對軟件的掌控能力,低估了自己對軟件的創造能力,於是導致了他們看這些客戶使用他們開發的軟件時,都是那樣一種可笑的行為,如下圖:
在程序員的眼裏,用戶是這樣使用他們開發軟件的
如果是脾氣暴躁的程序員,遇到這種情況,難免會對著客戶發一頓牢騷,而且,程序員的脾氣一般都不是很好,所以,通常跟客戶溝通時,項目經理一般都是跟著一起,以免事態激化。
用戶雖然給程序員帶來很多麻煩,但其實程序員的所有榮耀感都來自客戶,因為隻有客戶用得滿意,程序員才會有成就感。比如像下麵這幾個客戶在使用一個新款軟件時顯露出來的表情,足夠讓一個處在北京重度霧霾的下午的程序員也能露出笑容:
用戶在使用一款新軟件時的樣子
程序員雖然脾氣不好,但他們都是為工作著想,不帶任何個人恩怨。當開發軟件有緊急任務時,他們都是任勞任怨的加班加點,當在已經發布的軟件中出現了重大bug時,他們都會深深在自責,會連夜趕製出緊急修複bug,如果不能在第一時間讓用戶滿意,他們會茶不思、飯不想、覺不睡。即使在實在沒有短期內完整的補救措施的情況下,他們也會想出一些歪招,但也是行之有效的方案,讓用戶暫時度過難關。比如,下麵就是一個緊急修複補丁:
緊急修複補丁
用戶應該體諒程序員。程序員的生活實際處在一種十分矛盾的狀態中。編程不像其它行業,比如泥瓦匠砌磚,砌一層磚,牆就會高一次。但編程不一樣,有時候一個程序員寫了一天的代碼,急得滿頭大汗,但開發進度未必就有所進展,有時候甚至還會倒退。軟件編程是一個亦虛亦實的世界,有時候你搞不清一段代碼為什麼好用,有時候也會詫異由那樣的代碼構成的軟件也能跑起來,正如下麵這張圖片中所示:
軟件中有鬼
最後,說一下跟程序員打交道的一些注意事項。程序員因為整天和編程邏輯打交道,所以對因果關係特別敏感。如果你的話語的因果關係不是很明確,這會讓他們感到疑惑,如果你的話語的因果關係不完整,這會讓他們辦錯事。如果你的話中有if,最好後麵用then做結束,或者用else給出選擇,主語要明晰。如果不明晰,就會出現下圖中出現的事故:
程序員是這樣理解這個指示牌上的話的
如果你是一個程序員,你會理解我說的話。
本文轉載自 程序人生 微信公眾號
最後更新:2017-04-01 17:00:39
上一篇:
如果你有個程序員男友,那麼送這12 款鍵盤絕對不會錯
下一篇:
外媒:雲端遷移前必看的幾點注意事項
企業尋求數字化轉型 物聯網成策略性關鍵
2014百度校招筆試題之動態鏈接庫&靜態鏈接庫詳解
ICADL2012- A Scalable, Adaptive, Self-management and Fault-tolerant Architecture for Digital Library
[Qt教程] 第21篇 數據庫(一)Qt數據庫應用簡介
網站開發人員應該知道的62件事
CareerCup之1.1字符串中字符判重
maven編譯時出現讀取XXX時出錯invalid LOC header (bad signature)
HDU1231最大連續子序列
Terraform/Ansible on Cloud--基礎設施和應用管理實踐
C++11中貌似有理的右值