創造型職業程式設計師的無奈

2016-12-04    分類:推薦閱讀、程式設計師人生、首頁精華2人評論發表於2016-12-04

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

程式設計是為數不多的一種既能滿足個人愛好,又能賺錢的職業之一。烹飪是另一個這樣的例子。在一般情況下,大多數職業要麼不可能讓你待在家裡(例如醫生和電工),要麼你沒有興趣在家裡做(例如清潔)。同樣的,大多數好玩的活動是沒人願意付你錢的。

軟體開發則橫跨兩個陣營:對有些人來說這是一個令人愉快的職業生涯,對其他人來說,這是一個激動人心的興趣愛好。前者是我所謂的“職業程式設計師”,後者則是“創造型程式設計師”,當然這並不是說,前者缺乏創造力,而後者不賺錢。這麼解釋吧,你也可以分別稱他們為“程式碼優先”的程式設計師以及“問題優先”的程式設計師,因為前者喜歡用程式碼解決問題,而後者更傾向於使用程式碼作為他們的工具來建立具體的東西。

還有第三類程式設計師,這一類很容易成為最沮喪的群體:既以程式設計為職業,又有強烈的創作衝動來製作軟體。如果你願意的話,不妨稱呼他們為“創造型職業程式設計師”(雖然很沒有創意)。職業程式設計師可以在工作中解決令他們感興趣的問題,然後回家去做其他重要的事情;而來自於另一個領域的業餘程式設計師可以享受編碼作為晚上的業餘愛好。創造型職業程式設計師白天的時間都在編碼,去創造一個他自己也不甚在意的產品(換言之主要是為了錢錢,而且沒有冒犯女程式設計師的意思),然後當他回到家之後,就沒有時間和精力去創造那些他真正熱愛的東西。

拿到CS學位,他以為他將會收穫一份夢寐以求的工作。從一開始編碼就令他激動不已:只要一臺電腦和一些訣竅,就可以建立遊戲來愉悅和挑戰別人,建立工具來幫助他人和改變世界,以及建立完全不同於之前已經存的應用程式。為了能有一份高薪的工作,僅僅如此似乎太過異想天開了。

在進入這一行業幾年之後,不幸的烏雲開始慢慢攏聚。這並不是說他對工作不感興趣了,也不是產品沒有意義,只是因為……他手頭有十幾個專案像線團一樣纏繞在著他,以致於他沒有足夠的時間來完成所有這些專案,即使他將一整天的時間都放在工作上。這感覺像是一個世界難題,但是從另一個角度,人們看到的是這樣的:他熱愛程式設計,並且有一筆可觀的收入支付給他讓他程式設計,他有充足的個人時間用於鍛鍊、與朋友建立聯絡和實現自己的興趣愛好,他過著一種令人傾羨不已的美好生活。

上面這些片面化的觀點會群起而攻之,在程式設計社群中出現沮喪的聲音時。因為有太多的壓力,所以你很難在自己的時間繼續對程式設計工作保持激情:在工作時程式設計,然後累成狗一樣地回家。你需要平衡你的生活,培養一些程式設計以外的其他愛好。你可以兼職其他公司,賺多一點錢,也可以做任何你喜歡做的事情,只賺取很少一點錢或根本不賺錢:然後抱怨和牢騷隨之而來。

關鍵要說明的是,所有這些言論都沒錯:只是都沒有戳中關鍵點。我認為,沒有那麼多的程式設計師在工作之外編碼是出於他們想更有競爭力這個原因。同樣的,我認為大多數程式設計師也不會相信為了保持競爭力你應該每天投入10小時以上到程式設計上的觀點。

這類程式設計師的無奈之處在於,他每天只能投入有限的合理編碼時間,然而他花費了大部分時間去創造的一些東西,最終對他而言是沒有意義的。關鍵不在於程式設計,而在於創造。他不是那種腦袋鑽到錢眼裡的生意人,下班之後狂熱地帶著工作回家:他是一個繪畫藝術家,將整天的時間都用在設計公交車車身廣告,但當他回家的時候,卻不能攜帶走任何風景片段。這是藝術家中已經有著幾個世紀曆史的衝突:這不是一個新的問題。和以往不同的是,據我所知,沒有一種創造性的努力像軟體開發一樣有著很好地偽裝、易於分享和有著極高的利潤。

你還能想出其他的技能,既能創造和管理價值數十億美元股票交易一樣的利潤,又能如創造遊戲,例如GAME OF THE YEAR 420BLAZEIT,那樣有趣又荒誕,並且還能將結果通過網際網路分享到世界各地嗎?這真的令人難以置信。程式設計是一種藝術形式,而且是一個強大的工具:可以理解的是,它對於不同的人意味著不同的東西。

這使得那些有著強大創作意願,並將這些創作意願置之於軟體開發職業之上的程式設計師處於兩難的境地。他能在工作中和家裡都花費10+小時編碼嗎?他會放棄這一行,另謀職業,這樣回家的時候就可以致力於自己的專案嗎?或者他寧願過著一種窮困潦倒的藝術家生活,完全獻身於他的專案(例如軟體世界裡的Tarn Adams),省吃儉用希望能從中賺到足夠的錢?還是說他只是像牙膏一樣地擠時間,或者採取靈活的合同工作,雖然酬勞少了,但可以有更多的時間投入到程式設計中去?亦或是他依靠他的配偶提供財政支援,俗稱吃軟飯的?

我認為,這裡的關鍵在於,這些不是支付賬單的人提出的問題:這些是藝術家提出的問題。雖然尚在苦苦掙扎中的藝術家總是不能得到很多尊重,而且在我的印象中,創造型程式設計師得到的嘲諷甚至更多,這可能是因為他們原本完全可以輕易地利用他們的技能去賺錢,但卻選擇了一條艱難的道路。如果,因為藝術家他們渴望創造的強烈慾望而嘲笑他們是一種殘酷,那麼出於同樣的原因而嘲笑程式設計師是否是另一種殘酷呢?

我認為自己也是創造型職業程式設計師中的一員。雖然我在一個很有意思的領域有一份很好的工作,但我的大腦中有一百萬個點子在爆炸:我想開發自己的遊戲到能真正讓人去玩的程度;我想建立一個基於標籤的檔案系統,用於標籤和搜尋媒體,類似gif動畫和個人照片;我想製作一個移動app,讓大家能夠輕鬆輸入資料(例如在你吃棒棒糖,或頭痛的時候),然後展示相關性以便於你進行調查;我想構建一些不平凡的東西用來知道從屬型別能有(或不能)多實用。

直到最近,我才想明白如何平衡生活中的編碼,於是,現在的我是這樣的:平時大概業餘編碼2小時,然後週末會有4到6小時的編碼時間。這和我心裡想要製作的東西相比,絕對是蝸牛速度,但因為接下來我會有一筆很大的開支,所以我需要保證一定的工作時間,而如果我妥協生活中的其他部分(人際交往、運動、休閒時間、家務瑣事等)用於寫程式碼,那麼我的整體情況就會變糟。

這是一種犧牲,但我並沒有覺得對不起自己,沒有絲毫遺憾:畢竟每個人都需要有所犧牲,有所取捨。當然,如果能在和別人談論時,別人不認為我的問題是將業餘專案放在首位就好了。我認識一個廚師,他不喜歡累得一塌糊塗地回到家裡,以致於沒有精力去做一頓豪華大餐,他對此矛盾不已,但沒有人為他指出,他真正問題在於對食物寄予了太多的激情。

如果我們能夠認識到,建立東西這個願望對於某些程式設計師而言是一種基本的動力,那麼我們不僅可以通過,消除對那些不喜歡在家編碼的程式設計師的蔑視,來幫助職業程式設計師,我們還可以幫助創造型程式設計師找到適合他們的生活方式。讓我們一起來試一試吧。

譯文連結:http://www.codeceo.com/article/creation-motivated-programmer.html
英文原文:The frustration of the creation-motivated career programmer
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章