程序員遇到最“奇葩”的需求竟然是…...
程序員可以說是最苦逼的職業之一,他們經常會遇到各種外人認為合理,但是從內行角度看要瘋掉的需求,不信你看下文......多體諒下我們的程序猿吧!
據說殺死一個程序員根本不需要槍,讓他改三次需求就可以了。再好的香水,干不過韭菜盒子;再好的網名,干不過備注;再好的代碼,干不過需求變更!
客戶真正的需求是這樣
軟件是這樣做出來的
程序員的日常
所以身為程序員,不僅要搞得了開發、寫得了文檔、修得了 Bug,還要留得住頭發、改得起需求...
其實,對于編程,專業的人好像總是對我們的工作有很大誤解。于是乎,身為程序員,也就常常會碰到下面這些哭笑不得的需求。
@梁大折騰
部門老大:你,做個微信小游戲吧!
我:啥樣的?
老大:反正你就做個小游戲吧,這個火!
我:?????
@趙鑫
從事電梯軟件設計。有一次接到一個電話:“喂,趙工哈?我們這里有塊電路板不小心燒了,您看看改改軟件能給改好不。”
@酸菜不加糖
啥都不說了,經理說要我做個有會員體系的視頻 App,嗯,就這么簡單,UI 圖沒有,具體需求沒有,真的開局一個 DIV,后期全靠編。
@Limber貓
我外公:你不是做那什么人工智能的嗎?你給我搞個阿法狗玩玩兒。
我媽:你搞人工智能?你為什么想要毀滅人類?(別笑,我過海關的時候也被海關問過,還是一個年輕的小姐姐)
某 CEO(某 211 大學大學生創業的):給我搞個辦公自動化吧,美工 ,程序員,產品經理,還有宣傳都能一鍵解決。(請哪位同行做出來之后跟我說一下,這位年輕帥氣的老板愿意出 500RMB+合伙人身份(不會給股權的,打死也不會給的)+給你喊 666)
@漂泊的小石頭
都老大不小的年紀了,還不趕快找個對象。
@匿名網友
查數據庫的時候效率太低,領導說讓我優化一下,60W+ 的數據,多表聯查,優化之前要花 20 分鐘左右,現在要我 1-2 秒查出來。
“阿里巴巴能做到的事,我們為什么做不到,下午 3 點我要結果”這是領導的原話,我覺得這是對我能力的一種肯定,所以印象深刻,然后我就辭職了。
@穆易陽
客戶需求是,我們想做一個 App 功能是讓所有進入指定區域的手機禁用攝像頭,然后,我說您把手機收了統一管理不就得了,然后他就不說話了!
話說這個需求有沒有大佬有實現的思路,困擾我多少年了!
@初見若安
最近給客戶做了個小程序,當然站在客戶的角度也把公眾號給客戶開通了,沒過多久,客戶就來問我了下面的問題。
@Syfh
今天 Boss 提了一個需求,要做一個視頻的綠幕替換。
細節是這樣的:攝像機錄制出帶有綠幕的視頻,然后上傳到我們的 App 上,用戶播放這段視頻的時候,先去服務器拿到要替換綠幕的視頻,然后實時的替換綠幕。
當時就有點懵,這個不是后期用 PC 做的事嗎?讓客戶端做?還是實時的?我和產品經理反饋了一下,看能不能否掉這個需求,結果被駁回了。
駁回理由:現在手機上那么多美顏 App 可以把照片上的綠幕換成其他圖片,換成視頻你們就做不成了?你就不能一幀一幀的處理嗎?
......我要能做出來還在這干嗎? 我當場就去申請專利去。
@匿名用戶
就是根據前幾局的結果,推測后面的結果。咋不讓我寫個彩票的預判程序呢?
@劉阿毛
要看你在別人心目中的地位。
高端一點的,會遇到這樣的需求:
低端一點的,會是這樣:
@童學
以下都是本人經歷過的真實案例:
1、甲:我要做一個類似淘寶(微信) 的網站(APP)。并發?中國這么多人就先按 1 億來做吧。預算?1 萬左右,你可能沒見過這么多錢,所以沒有預付款,只有我們滿意了才能付款。
2、一個爛大街的項目,溝通需求前必須簽保密協議。
3、甲:我有一個 IDEA,我要成為下一個馬云,我的項目落地非常牛逼,巴拉巴拉巴拉巴拉。預算?沒有預算,做成了給你 1% 的股份。
4、甲:我要做個軟件,多少錢?
乙:巴拉巴拉巴拉巴拉
甲:我要做個軟件,多少錢?
5、XXX三缺一,XXX撲克,看別人牌的軟件,預算:1000。
6、顯示別人位置的軟件,別人指的任何人,任何有手機的人。手機上不能裝任何軟件,你也接觸不到那臺手機。
7、在電腦上彈出一個窗口。簡單?在別人電腦上,別人指的任何人,任何有電腦的人,電腦上不能裝任何軟件,你也接觸不到那臺電腦。
8、把百度關鍵詞頂到第一的軟件?啥叫 SEO,我不管,我運行你的軟件我的排名就上去了。
9、做一個搶紅包 WG,自動排雷,預算:1000。
10、新注冊的公司數據抓取,必須是最快的,別人沒有的,去市場監督管理局抓,預算:500。
@dy45
@梁靜涵
客戶:給我做個郵箱,只有一個要求,無限大。
我:???你的無限大是指?
客戶:就是無!限!大!收發郵件沒有任何限制的,我以后要發 4K 視頻的暢通無阻的那種。
我:哦,那做不了
客戶:我 2000 塊都給你了,你說做不了?
我:您如果需要發大附件,可以用 gmail,hotmail,qqmail…的!
客戶:用你說?那些要能用,我還找你做?我:qnmd
@匿名用戶
二逼前端一枚。于某小公司試用期,老板把我叫進辦公室,手指著公司網頁,這里,這里改改,這里改成 xx,這里要 xx 效果,還有這里,要改成 xxx。你需要多久?
瑟瑟發抖的我:半...半天吧?(前后端沒分離,打個開發包都要 5 分鐘,打個生產包可以泡茶的那種,項目是大前端)
老板:什么?半天?我覺得 5 分鐘(他線上看到才叫完成,本地不算)就可以了,我也是學編程的,我學的是硬件編程,你別以為我不懂編程,你把 CTO 叫進來。
還有一種迷之自信,識破你想偷懶的那種趕腳。
然后...
當然,不建議大伙這么任性。傻逼遇多了就習慣了。這時候,我是建議掏出手機,下載各種招聘 App,填寫信息。意向:在職,考慮跳槽。
@風逍遙
不懂為什么大家都覺得程序員做事動動,就能創造世界!
@Bird Frank
兩個系統采用 RESTful 樣式的接口進行集成,接受數據的系統必須采用和提供數據的系統同樣的字段名和字段類型。這是客戶 IT 部門提出的需求。
好像還有人不理解這個需求的不合理之處。只要不是直接共享數據庫的集成,那么無論是 RPC,WebSevice 還是 RESTful 的接口,都是希望通過一個接口層屏蔽掉兩邊系統內部的實現細節,以降低系統間的耦合度。
無論是接口/服務的提供方,還是使用方都不應該對對方的實現方式、系統設計、模型設計、數據庫設計等等有除了接口以外的規定和依賴。
“接受數據的系統必須采用和提供數據的系統同樣的字段名和字段類型”直接違背了這個規則。
不同的系統是為解決不同的問題的,它們分別有各自自己的問題用,或者用 DDD 的術語說,有自己的 Ubiquitous Language。
即使同樣的數據,在不同的系統中可能有不同的業務含義、用途,怎么能要求它們具有相同的名稱和類型呢?
例如 A 系統向 B 系統提供的數據中包含記錄的 id,在 A 系統中這可能是一個由數據庫 sequence 產生的數字。
但是在 B 系統中這只是表示數據在來源系統中的唯一標識,就不一定非得采用數字類型。
如果 B 系統要從不同的系統中獲取數據,抽象為同一種業務實體存在同一張表里,那么采用字符串類型標識“源系統中的 id”這個概念就更加合適。
如果一定要求和 A 系統中一樣采用長整數,那么和采用 UUID 的 C 系統、使用了 MongoDB 的 ObjectID 類型的 D 系統集成的時候該怎么辦?
又比如這樣的情況:有些老系統采用的字段命名在當時可能是合適的,但是隨著時間的變化,在現在可能就不合適的。
怎么能要求新系統一定要跟著老系統走呢?就在我說的這個系統中,老系統中有一個字段名采用了客戶某個部門的兩個字母的部門代碼。
@我的筆名叫棉花
不是拿到的需求,是別人跟我的對話!
@伊人
不請自來,我是測試,過來串個門!
最后,是時候祭出這張圖了!
程序員要如何應對不靠譜的需求?收下這張圖:
留 言 有 禮 活 動
身為程序員,你遇到過哪些奇葩的需求?掃描下方二維碼,關注51CTO技術棧公眾號。歡迎在技術棧微信公眾號留言探討。小編將精選出最有價值的三條評論,分別獲得 50、30、20 元 的 紅 包 獎 勵,活動截止時間 7 月 20 號 12 時整。