你也許還未入行,或是剛入行或工作了幾年的程式設計師,但有時候,你可能會希望別人認為你很強,是個天才,就像電影裡那種一手抱妹子一手拿香檳,用腳寫程式碼攻破軍方網站的炫酷黑客。可能有些誇張,但 Sten Sootla 覺得你可以做到。Sten Sootla 是機器人初創公司 StarshipTechnologies 的機器學習工程師,本文就是他釋出的將自己偽裝成大牛程式設計師的方法心得,堪稱「程式設計師裝 X 指南」。
程式設計師都是巫師——是一些能把咖啡變成程式碼的衣著簡陋的窮人。我不懂巫術,我只是個魔術師。我的工作是偽裝成程式設計師,甚至比真正的程式設計師看起來更像程式設計師。
我做得很棒,絕對算得上一個出色的江湖碼農。我成功誘使過商人請我去當他們的技術合夥人。我也欺騙過工程師,讓他們向我諮詢有關通用人工智慧的問題。我的表演是如此真實,以至於司法部有一次都向我徵求建議,詢問我如何使用 Visual Basic 建立用於跟蹤連環殺手 IP 地址的 GUI 介面。
祕訣就是:你知道什麼無所謂,重點是你怎麼展示。
真正的工程師其實緩慢又無聊,因為他們都在現實之下負重前行。而表演者只會被自己的想象所限制。他可以自由地表演最複雜詳盡的場景,越風騷越好。
如要表演讓人信服,你需要一個精細複雜的舞臺,因為這能轉移觀眾的注意力,讓他們意識不到你其實缺乏深度。在電影裡面,堆疊三維方塊或鼓搗某個全息圖就能寫出軟體。當然,這些都是幻想。在現實生活中,你能使用的最相近的東西是三種已經頗有時日的技術——它們全都誕生於幾十年前。
第一,你要有 vim,這是一款高度可定製化的文字編輯器,但是超難用,已讓數百萬開發者不經意間陷入麻煩,根本搞不清楚究竟如何關閉這個東西。光是你有膽量使用它這一事實就足以讓你的同事刮目相看。使用 vim 會讓你看起來簡直就是個神話人物,訴說著歷史之中那神聖的編輯器之戰,人們會受到你的激勵,支援你討伐 Emacs 教。
來自維基百科
第二,你要有 tmux,這個工具能讓你在單個終端視窗開啟多個窗格。也就是說,你可以在一個窗格寫程式碼,在另一個窗格執行終端命令列,然後還能在其它一些窗格執行一些毫無用處的外掛——比如音訊頻譜圖和超大的時鐘。通常來說,你需要儘可能地多開啟窗格,用壯觀恢弘的場面讓觀眾目不暇接。我本人就從來不關閉任何一個窗格,因為就算程式碼根本沒法工作,它也能增光添彩。
給你展示個例子,這是我在生成一些 deepfake 時的螢幕截圖:
最後,掌握 bash 是至關重要的,這是一種直接在命令列中使用的指令碼語言。瞭解 bash 能儘可能地延長你在命令列中的時間——在表演中途離開命令列可不行,這就相當於在播放電影時開啟了影院燈。你需要計算什麼東西?要這樣:echo "scale=0; 2 + 2" | bc。想知道你的 CPU 使用量?你得使用這個命令:mpstat | grep -A 5 "%idle" | tail -n 1 | awk -F " " '{print 100 - $ 12}'a。現在你懂我意思了吧。
但離開命令列還不是最糟糕的,你更不能離開鍵盤。使用游標(滑鼠和觸控板)是無能的體現。如果你有一臺 PC,趕緊拋棄那人體工程學上畸形的滑鼠。如果你使用的是筆記本,你要在觸控板上粘一張鐵砂紙——以後你看到它就會想起鮮血和疼痛。
現在,如果你是在命令列中操作,只使用鍵盤已經很容易了。為了也能在瀏覽器中保持這種姿態,你要使用 Vimium,這是一款 Chrome 外掛,能讓你不用滑鼠也能瀏覽網頁。它會用一個按鍵序列標記網頁上的每個連結,按下這些鍵會模擬一次對應的滑鼠點選,然後開啟對應的頁面。這看起來是這樣的:
提醒一下,看到我在瀏覽網際網路時也開著終端嗎?這就叫專業。正如劇作家約翰·海伍德(John Heywood)說的那樣:「半塊麵包總比沒有好。」此外,仔細看看我的 Chrome 標籤欄,裡面有一堆 arXiv 論文和 Stack Overflow 帖子。這是故意的。這種從戰略角度精細排列的標籤是為了傳遞出這樣一個訊號:你已是飽經歷練的機器學習工程師——一手抓理論,一手搞實踐。
有了這樣的舞臺設定,就可以開始你的表演了。你做的所有事情都應表現出你能在最大程度上完全不使用滑鼠。也許你還應該躺在你的椅子上,把腳搭在桌子上,然後把鍵盤放在大腿上。我本人會窩在一個離我的四十英寸顯示器三米遠的懶人沙發裡曬太陽。
至於表演本身,你要記住:需要巴洛克式的華麗風格,不能搞極簡主義。你需要用你那敏捷的手指運動和複雜切換操作來驚呆你的觀眾。在使用 vim 時,你要不斷從一行跳到另一行,從一個函式跳到另一個函式,你要動作飛快,快到旁觀者懷疑自己的眼睛。而就在他們的眼睛剛剛開始適應的時候,就在他們剛要認清你在搞鬼的時候(這些程式碼行基本上沒有任何實際有效的程式碼),你要馬上切換到另一個 tmux 窗格,讓他們繼續摸不著頭腦。
優秀的表演是通過所引起的困惑和沮喪程度來衡量的。優秀的表演要讓人暈眩。一定要真真切切地橫掃你的觀眾,讓他們站立不住,只能流著口水渾身抽搐地驚倒在地。
也許你會覺得這樣的馬基雅維利式策略虛假不真誠,這種浮誇做作實在愚蠢可笑。你寧願低調地專心工作,希望在辛勤誠實的勞動之後能得到認可。
也許你確實會得到認可,但為什麼要把你人生最好的十年時間浪費在埋頭苦幹上?為什麼不把腿放在桌子上表現得像個大佬?我跟你講啊:假裝成大人物可比當個真實的小人物好。
原文連結:https://towardsdatascience.com/how-to-fake-being-a-good-programmer-cbef2c39764c