沒有熱情就不夠格當開發者嗎?

評論
評論

engineer programmer(Photo Credit: herval)

原文為《Is There Any Room for the Not-Passionate Developer ?》,作者為自由開發者 Philippe Bourgau,INSIDE 獲授權編譯。

作者依自身軟體開發的經驗,加上整理比爾蓋茲、Peter Thiel 等各大名家曾經提過的理論及其中的矛盾,試圖找出軟體設計生涯中該付出的努力、熱情以及私人生活的平衡。

在《工作大解放:這樣做事反而更成功 》(Rework)這本書裡,Basecamp 的  David Heinemeier Hansson 和 Jason Fried 說要「開除工作狂」,但《從 0 到 1》的作者 Peter Thiel 卻說絕佳的工作條件,(比如像 Google)是需要超過十倍的技術力來支撐的,沒有其他捷徑。

比爾蓋茲則是在 1983 年的時候說過:

你必須覺得這個產業很好玩。你得晚上回到家還找電腦雜誌來看,否則你的波長會跟不上(在微軟的)這些人。

所以我們該相信誰?你的人生一定要活在程式設計中才能當個好的開發者嗎?

許多研究都指每週 40 小時是最有生產力的工時,不過 Malcolm Gladwell 在《異數:超凡與平凡的界線在哪裡?》(Outliers, the Story of Success)中也提到,要邁向成功需要一萬小時的練習。而我的合氣道教授則說,練習愈多你就會變得愈強。

John Somnez 在《Soft Skills: The software developer’s life manual》一書中,一樣強調努力的重要性。儘管他認同「聰明工作」就夠了,但也承認他比尋常付出了更多努力,才在職涯中創造了驚人的改變。

在一場對談中,Ruby on Rails 首位創作者,知名程式設計師 DHH(David Heinemeier Hansson)也曾和連續創業家 Jason Calacanis  一同探討 工作和生活的均衡。 Calacanis 認為創業必須全心投入,而最後他們倆都同意「熱情」才是最重要的。

以我個人的經驗來說,當我做自己熱愛的事時,我會:

  • 更有生產力
  • 覺得充滿活力而非被工作淹沒

我周遭的優秀開發者個個都充滿熱情,而且每週工作超過 40 小時。我也觀察到,熱情和努力是發展未來技能的關鍵指標。

但是一個充滿熱情的人要怎樣在每週工作超過 40 小時的狀態下,依然維持生產力?

在  《Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)》一書中,Andy Hunt 提到了我們平常在背景執行的 R-mode 工作之外,還要找一些空閒來做一些「跳出框架」的創意方案。

加入一些創新點子來維持活力

極限開發法鼓勵大家維持 可持續 的開發步調,《無瑕的程式碼 番外篇:專業程式設計師的生存之道 》(The Clean Coder)作者 Robert C. Martin 又叫我們每週工作 80 小時才能保持「專業」。

對我來說,持續在一個專案上做結對程式設計(Pair Programming)6 -- 8 小時就是極限,超過的話,造成的瑕疵就會大於做出的貢獻,讓我變成「 淨負生產力程式設計師 」(Net Negative Producing Programmer)。但如果我同時做一點業外專案,那我一天可以堅持寫程式的時間就會變多。

我猜有熱情的人大概就是這麼做,他們會在主要的工作之外安排一些不同的主題來點綴。

  • 他們看關於程式設計的書。
  • 他們有自己的業外專案。
  • 他們會讀程式設計的文章。
  • 他們可能還會寫程式相關的部落格,他們可能會參加、舉辦或是主講一些聚會。

大部分的時候,做這些都不是為了完成更多工作,而是為了學到更多。我發現身邊的傑出程式設計師都充滿熱情,而且盡力去增進自己的技術,同時也注意到純粹過勞的工作狂通常生產力都不高。

為人父母的挑戰

我認為比爾蓋茲 1983 年的那段話還是沒錯。如果你沒有熱情,那程式設計師很難做得久。

保持熱情的好處在於,我們可以擁有一個活力四射的工作環境,充滿變化和新奇。但反面來說,要跟上這樣的節奏可不容易。

當開發者愈來愈有經驗,就會開始對麻煩的工作失去耐心,然後想要擁有:

  • 強大的程式語言和技術。
  • 有效率的工作環境。
  • 聰明的同事。

不幸的是,當你為人父母,你可能只想有份穩定的薪水來養家,還有一些自己的時間來陪孩子。

這時候就開始有點棘手了。你既不能跳槽到很酷卻高風險的新創公司去做出一番事業,你也沒辦法熬夜擠時間出來增進你的技能。雪上加霜的是,儘管你擁有 10 年的工作經驗,懂得各種語言和技術,你的履歷表上要是沒有亮眼的關鍵字,很多公司連看都不看一眼。這簡直就是開發者版本的創新者窘境(The Innovator's Dilemma),你就像那些老牌公司一樣要保證自己不會被新技術擠出市場。

缺乏熱情和養小孩,這兩點應該能解釋人們停止當個開發者的部分原因,而且我馬上就想到這種現象帶來的兩種後遺症:

  • 我們常常要重新發明像輪子一樣基本的要素(就是你,那邊那個在開發 .js 框架的)
  • 隨著老手的離去,我們可能會在沒有意識到的狀態下,忽視了一些可以讓我們更有效率的人際互動流程。

相關文章

硬塞 2016 年度好文回顧(下):行動直播、OTT、新媒體、跨國職場工作談、亞洲・矽谷

想知道 INSIDE 網站上 2016 年最紅的議題和文章是什麼嗎?趕快一起來看看 INSIDE 編輯們用心的整理吧!

專訪 104 楊基寬董事長:我們正掀起一場「不需履歷表」的人資革命

「任何經營者都應該對人才隨時感到焦慮,如果不夠焦慮,那很難期望經營者有更好的未來。」

用什麼樣的密碼比較安全呢?從基礎談起!

今天來講一下各大網站保存密碼的方式。如果非電腦科學領域的人,只是來湊湊熱鬧,那可以直接往下拉到結論,我直接告訴你,你的密碼安不安全?

評論