作為程序員葬馋,我真的有時候特別想 debug 這個世界砍艾〉俳蹋看看這個世界究竟是怎么運行的。因為經(jīng)常會遇到她的輸出跟我斷言的不一樣脆荷,或者我覺得正常的輸入凝垛,卻被她判定為非法。
先分享兩件事吧蜓谋。
第一件事梦皮,記得去年考駕照的時候,應(yīng)該是在練科目三桃焕。教練帶著我練車剑肯,當(dāng)開到一個地方時,讓我停車观堂。然后跟我說:『這里是一個考點让网,看到前面那棵樹沒?考試的時候师痕,你把車開到離那棵樹大概這么長的距離溃睹,停一下車』。我頓時懵逼了胰坟,我發(fā)現(xiàn)我對『大概這么長』完全沒有個概念因篇。我就問教練『大概這么長是多長?』,這下就輪到教練懵逼了竞滓,然后咐吼,就聽到后座早就等的不耐煩排隊練車的三個同學(xué)跟教練異口同聲的對我說『大概這么長就是這么長呀』,同時給我一個看著智障一樣的眼神商佑。大概這么長就是這么長汽烦,那到底是多長,我徹底凌亂了莉御。那一刻我才發(fā)現(xiàn)我和世界不一樣。
好在后來教練沒有放棄對我的治療俗冻,但我能明顯感覺出來礁叔,她教我的方式跟其它人不太一樣。后面跟我說話的畫風(fēng)都是這樣的迄薄±殴兀『看到前面那棵樹沒?考試的時候讥蔽,你把車開到離那棵樹半米的距離涣易,停一下車∫鄙。看到那個花臺沒新症?車輪與花臺平行,并且保持20公分的距離响禽⊥降看到前面那個電線桿沒?車頭與它的夾角成60度的時候芋类,方向盤及時回正』隆嗅,半米、平行侯繁、20公分胖喳、60度,這些詞讓我覺得這才是正確的描述贮竟。但我還是不明白別人是怎么明白『大概這么長』是多長的丽焊。
第二件事,我發(fā)現(xiàn)我怎么都學(xué)不會做菜咕别。究其原因是什么呢粹懒?因為我發(fā)現(xiàn)自己完全看不懂菜譜。每次看到里面充斥著類似鹽少許顷级、醋若干凫乖、醬油適量等這樣的描述我都?xì)獠淮蛞惶巵怼N胰绻约好靼走m量是多少,我還去看菜譜干什么帽芽。我一直覺得寫這種菜譜的人删掀,心里一點 B 數(shù)都沒有。但是呢导街?跟上面練車的例子一樣披泪,別人就是可以通過這些少許、若干搬瑰、適量的字眼學(xué)會做菜款票,還做的不錯。這樣看來我可能才是那個沒有 B 數(shù)的那個泽论。
說到 B 數(shù)艾少,我其實覺得這是一個比較粗俗的詞匯。但是翼悴,我一時又想不到有什么詞可以去替換它缚够。如果非要找個詞的話,我就想起以前上學(xué)打『英雄聯(lián)盟』的時候鹦赎,各種坑隊友谍椅。隊友總是能預(yù)判出哪個草叢可能有人,哪個地方會有誰來 gank 你古话,什么時候該到哪里去雏吭。他們之間的溝通,一個眼神陪踩、一個信號就夠了思恐。而我啥也 get 不到,總是送人頭膊毁,打單機胀莹。后來我就問他們是怎么感覺出來,簡直像開掛一樣婚温,我怎么什么也感覺不到描焰。他們給我的評價是『因為你沒有意識』。對栅螟,就是『意識』這個詞荆秦。
為什么我沒有意識×ν迹可能意識這個東西比較偏感性思維步绸,而我偏理性思維,也可能我天生就是一個意識薄弱的人吃媒。但是毫無疑問的是瓤介,當(dāng)我選了理科吕喘,當(dāng)我進入社會成了一名程序員,都一直在弱化意識這個東西刑桑。
就拿代碼來說氯质,代碼里面寫的最多的是什么,應(yīng)該是方法祠斧。每個系統(tǒng)是由 N 個類組成闻察,每個類又是由 N 個方法組成。而方法又叫函數(shù)琢锋,取自數(shù)學(xué)上的概念辕漂。wiki 上是這樣描述它的,『函數(shù)就像機器或黑箱吴超,給予輸入值便產(chǎn)生唯一輸出值』钉嘹。注意唯一這個詞,理論上函數(shù)的外部輸入值一樣烛芬,最終得到的結(jié)果也是一樣。我們寫代碼的時候大部分情況下也是這樣飒责,少部分情況下不一致很可能是因為 BUG赘娄。這就跟意識沒有半毛錢關(guān)系了,通常在你輸入的時候就能知道他應(yīng)該有什么樣的輸出宏蛉,用程序員的話說就是斷言遣臼。而如何知道輸出斷言,不是靠感覺出來的拾并,是你通過邏輯一步一步推導(dǎo)出來的揍堰,容不得半點感性思維在里面。
另外一個場景嗅义,大家就很熟悉了屏歹。就是跟產(chǎn)品經(jīng)理日常吵架。吵的原因如下之碗,比如加需求了蝙眶、比如改需求了、再比如需求不明確了褪那。幽纷。。無外乎都是圍繞著需求的博敬。而其中最傷腦筋的就是需求不明確友浸。
最近幾年 AI 非常火偏窝,每種職業(yè)都有一種收恢,以后會不會被 AI 取代的焦慮武学,程序員也不例外。以前就看到過這樣的帖子派诬,作者表達出類似的擔(dān)憂劳淆。帖子的大概內(nèi)容就是覺得 AI 發(fā)展十分迅速,假以時日默赂,可能以后就沒有什么程序員了沛鸵,只有產(chǎn)品經(jīng)理。以后開發(fā)系統(tǒng)的場景可能是這樣的缆八,產(chǎn)品經(jīng)理登錄一個 AI 系統(tǒng)曲掰,在系統(tǒng)界面劈哩叭啦把需求輸入進去,然后 AI 系統(tǒng)根據(jù)輸入的需求瞬間生成了一堆代碼奈辰,組成一個新的系統(tǒng)栏妖。看到這個帖子奖恰,我瞬間就感受到了那種焦慮吊趾,然后我就往下拉,看帖子的回復(fù)瑟啃,當(dāng)我看到回復(fù)里面點贊最高的那一條時论泛,我立刻就釋然了。點贊最高的那一條回復(fù)是這樣說的『這種場景永遠也不可能出現(xiàn)蛹屿,除非有一天屁奏,產(chǎn)品經(jīng)理能把他們的需求說清楚』。??
需求是程序員與產(chǎn)品經(jīng)理之間永恒的話題错负。每次產(chǎn)品提需求坟瓢,你都是先拋一個 5W2H 的靈魂拷問。做什么犹撒、為什么做折联、誰來做、什么時候做识颊、在哪里做崭庸、怎么做、做多少谊囚。有一點不清楚都要找產(chǎn)品經(jīng)理倒騰清楚怕享,說不清楚大家都別下班。記得镰踏,以前我在網(wǎng)上查項目經(jīng)理與產(chǎn)品經(jīng)理的區(qū)別函筋。知乎上有一個答案讓我印象深刻,他說『產(chǎn)品經(jīng)理著眼于做正確的事情奠伪,項目經(jīng)理著眼于正確的做事情』跌帐。項目經(jīng)理其實代表了程序員這一類群體首懈。這個回答其實很好的闡述兩者的關(guān)系。產(chǎn)品經(jīng)理其實更多的是設(shè)計出一張正確的圖紙谨敛,而我們程序員作的是拿著這張圖紙正確的去實施究履。其實,經(jīng)常我們會自嘲是搬磚的脸狸,但是如果從這方面看最仑,還真是這個樣子。
產(chǎn)品經(jīng)理會去想做什么炊甲,為什么這么做等問題泥彤。而我們可能只是被動去想怎么做。這是現(xiàn)在企業(yè)工作高度分工的原因?qū)е碌那浞取_@本身無可厚非吟吝,但是如果長此以往,可能會剝奪我們的思考能力颈娜。因為很大一部分思考剑逃,產(chǎn)品經(jīng)理幫你做了,你不清楚的就找產(chǎn)品經(jīng)理問清楚官辽,缺乏思考的過程蛹磺,久而久之很容易變成了一個沒有感情的代碼機器。
上面說的是工作上野崇,生活中更是這樣称开,雖然有本書叫作《人人都是產(chǎn)品經(jīng)理》亩钟,但是現(xiàn)實世界中肯定不是這樣乓梨。教練跟我說的時候,我拋個 5W2H 問題給她清酥,她可能轉(zhuǎn)身一腳就把我踹下車了扶镀。生活中太多不準(zhǔn)確、不明確焰轻、不科學(xué)臭觉、不冪等的事情了。只能學(xué)的去接受辱志,生活中沒有產(chǎn)品經(jīng)理蝠筑,先什么都理好了,然后告訴你怎么做揩懒,也沒有測試同學(xué)什乙,幫你一遍遍調(diào)試定位問題。我們不能因為工作的分工原因已球,養(yǎng)成了依賴別人思考的習(xí)慣臣镣。要學(xué)著適當(dāng)?shù)奶龀绦騿T的思維去看這個世界辅愿。
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!