器材攝影師與框架程式設計師

doodlewind發表於2019-02-28

攝影圈子裡的「器材黨」通常泛指熱衷於討論器材的愛好者群體。無獨有偶,技術社群裡也有一類以掌握某個開發框架為驕傲的程式設計師。你還別說,這兩個群體還真的挺像的……

一名攝影器材黨有哪些關鍵特點呢?我能想到最關鍵的三點:

  • 津津樂道於器材差異
  • 對器材宗教般的熱情
  • 涉獵器材求廣不求精

嗯,這和「框架程式設計師」有什麼接近之處呢?讓我們從第一點開始吧:

津津樂道於器材差異

器材黨們大多有著自己最寵愛的器材品牌,並且非常熟悉不同家器材之間的微妙差異:

不是我跟你吹,佳能的膚色多好看,尼康的銳度多高,賓得的綠色多油潤,蔡司的藍色多德味……

正如框架程式設計師們對框架之間的差異熟捻於心:

不是我跟你吹,React 的函式式多純粹,Vue 的全家桶多方便,Angular 的設計多嚴謹,Backbone 的程式碼多簡潔……

其實同個時代同個定位的攝影器材之間,往往只有非常細微的差異,並不會決定性地影響出片的效果。但這完全架不住器材黨們精益求精的匠心:

看了最新 DxOMark 評分沒有?佳能的銳度就是不行啊,被尼康吊打妥妥的。

這方面框架程式設計師們就更激進了:

看了最新 Benchmark 沒有?React 的速度就是不行啊,被 Vue 吊打妥妥的。

沒有對比就沒有傷害。可是就像佳能和尼康的粉絲勢均力敵一樣,React 和 Vue 的粉絲也是各有一方天地。雙方爭起來的的話怎麼辦呢?且看二者的第二個共同之處吧~

對器材宗教般的熱情

從尼康黨對佳能黨,到 Vim 黨和 Emacs 黨,再到 Vue 黨對 React 黨,黨爭可以說是無處不在了。對器材黨來說,爭論兩家器材的優劣就是司空見慣的:

我大佳能鏡頭群才是強無敵,你們索尼微單就那幾個鏡頭一隻手都數的過來價錢還賊高,還不滅門留著過年嗎?

這在前端圈子裡似曾相識啊:

我大 React 生態才是強無敵,你們 Vue 就那幾個元件庫一隻手都數的過來 star 還賊少,還不重構留著過年嗎?

這種熱情一般而言會具備這樣的傾向:

  • 通過貶低對方來顯得自己的選擇更優秀
  • 不允許保留態度或者對立的觀點存在
  • 容易演進為大規模的論戰撕逼

器材黨和框架程式設計師都具備這種傾向。比如在器材黨活躍的攝影社群裡,各種評測帖裡就時常能看到這樣的鬥爭。而國內的前端社群幾次大規模爭論的事件更是足夠我等吃瓜群眾看戲了。

個人的理解裡,基於每個人的個性,一個人對某個工具的偏愛是非常合理的,而愛好者之間的討論本來對參與者來說也應該是多贏的。那麼為什麼會這樣呢?這也許和下面提到的最後一點有些關係:

涉獵器材求廣不求精

要說器材黨們是因為只用過一家的器材所以才只擁護這一家器材品牌,那多半是不準確的。很多器材黨其實是非常有錢任性的,他們體驗過種類非常廣泛的器材。但為什麼器材黨們閱歷的增加並不能降低他們在社群咄咄逼人的程度呢?我能想到一個可能的理由:對器材的瞭解,其廣度和深度是兩回事。

很多攝影社群的新器材評測裡,不可或缺的一個要素就是樣張。新玩家開箱之後,會拿著船新的器材去拍一些這樣的樣張:

  • 器材的盒子
  • 樓下的風景
  • 同事的大臉

然後下面就會有一群人開始討論這些(沒有多少攝影學術價值)照片的銳度、色彩等指標,社群的氛圍也一下子就活躍了起來。這能讓我想到前端領域裡非常經典的一個東西,那就是 TodoMVC

就好像所有的器材都可以被拿來拍妹子糖水片一樣,所有的前端框架也基本都被拿來寫過 TodoMVC 了。對框架愛好者來說,挑選不同的框架來寫出這樣一個增查改刪 Todo 的應用,樂趣應該可以和女人逛街時挑衣服相提並論了吧。

但問題可能也就出在這裡:用再牛逼的框架去重複實現這樣一個簡單量級的應用,不僅缺乏評判框架的參考意義,對於走出自身的舒適區也不是特別有利。這就和器材黨隨手按下快門就能輕鬆獲得的「樣張」一樣,雖然能讓你感覺到新器材的新穎之處,但其實還是在複用之前的經驗,新鮮感背後帶來的未必是洞察力的提升。這樣看來,我們似乎就能理解攝影社群「老法師」們浸淫多年後還在為佳能色彩和尼康銳度爭執不下的原因了。

碎碎念

上面的討論裡,我們基本已經對比出了「器材攝影師」和「框架程式設計師」之間的共同點了。那麼如何評價這樣的標籤呢?下面是作者一家之言的碎碎唸了 XD

工具的意義

攝影圈子和程式設計師圈子一樣,已經規模龐大而有了相當多的崗位細分:我們能夠聽到一位攝影師是風光攝影師、人文攝影師、體育攝影師等等,但很少會聽到一位攝影師是佳能攝影師、尼康攝影師、索尼攝影師吧……同樣地,我們經常能聽到程式設計師有前端程式設計師、後端程式設計師、AI 程式設計師之分,但很少聽到一個人是 Vue 程式設計師、React 程式設計師、Angular 程式設計師吧?這能夠反映出的一點是,一個人在組織中的角色是按照他所能解決的問題來劃分的,而不是解決問題所用的工具。器材黨和框架程式設計師們所關心的實際上都停留在工具層面,這是很大的一點區別。

撇開對工具的偏好,目前作者個人的體會是:合格的程式設計師應該是能夠為了解決問題而靈活地選擇工具的。譬如在攝影的語境裡,如果想要和妹子出去浪,你可以帶上大光圈的微單;如果想要拍風景,你可以帶上無人機;如果想要招待友人,那可以選擇拍立得……而在作為開發者的語境裡,我個人最近的工作從維護 React 上的富文字框架轉戰到了 Vue 上的另一個編輯器,這個過程雖然沒有我想象的那麼容易,但也沒有那麼痛苦:二者都能夠寫出高質量高複用性的模組,設計上也有許多相通之處。在挖掘過它們的一些實現細節後,我個人對它們的評價的偏激程度也確實降低了。

類比的差異

不過,從攝影社群到技術社群的類比也是不準確的,這裡至少有兩點值得一提的差異:

  • 攝影愛好者的範圍遠遠多於攝影從業者,但程式設計愛好者的範圍卻很可能比程式設計從業者要小不少,畢竟許多人是將編碼作為職業而非愛好的。
  • 攝影領域裡,要想從頭發明一臺相機是很難的。但從頭打造一個框架的造輪子行為,對靠譜的程式設計師來說並不是一件難事,甚至是很多同學進步的必經之路。

這兩個差異能夠折射出這樣的區別:

  • 在從業者多於愛好者的程式設計社群,戾氣和浮躁的氣息可能更重。
  • 和攝影師的藝術天賦難以後天培養不同,造輪子是可以客觀提升程式設計師水平的行為。

後一條結論聽起來似乎有些勵志呢~那麼什麼才叫程式設計師範疇內的「提升水平」,或者說能夠贏得尊重的程式設計師又是什麼樣的呢?有趣的是在這個話題上,我們也能在攝影領域裡找到類似的類比。

一幅膾炙人口的攝影作品未必是具備完美技術引數的,但它們一定有其特別之處:構圖的手法、拍攝的物件、背後的故事等等。類似地,程式設計師們也是靠作品說話的:從應用到類庫到框架,有太多的作品正在被編寫出來,但其中真正能流行的寥寥無幾。對於有技術追求的同學,相信對高質量作品的追求是可以讓你一步步脫穎而出的~

總結與展望

那麼,編寫出高質量的程式碼就是程式設計師唯一的追求了嗎?這倒也不一定。在我換了幾個團隊以後,所發現的一個有意思的規律是:越 hold 得住我的技術 leader,通常也越有趣。「有趣」不止是一個形容幽默感的詞語,它可以泛指技術上信手拈來的輕鬆態度和私下交流時的人格魅力。也許不管在哪個行業,精彩的人都是有故事的人吧。和有故事的攝影師聊天的時候,你會只限於討論器材光圈感光度等技術引數嗎?那多半是和器材販子討價還價時的話題。同樣地,和身邊的技術大牛交流的時候,話題也不會限制在 API 如何呼叫的層面,而是會有更豐富的發散和展開。可以說這種有趣的感覺也是給我幹勁的一大動力吧 ?

在這個技術迭代越來越快的年代,就像手機攝影已經能夠一步步取代相機一樣,越來越完善的框架也會逐步降低程式設計入門的門檻,方便具備潛在天賦者的入場與創作,從而一步步地升級行業。老東家裡的一句名言很適合這個場景:太多人為了逃避思考,願意做任何事情。為了不加思考地獲取「進步」,我們很容易掏錢買下昂貴的器材和現成的濾鏡,或者追逐新潮的框架和時尚的程式碼,而忽略了自己的判斷和思考。

最後,這篇文章的觀點同樣可能是不客觀的,希望讀者能有自己的判斷 ?

相關文章