五件在我靠程式吃飯之前就該知道的事

評論
評論

本文轉自 外刊 IT 評論

我的軟體開發生涯開始於大約 15 年以前。

但是直到最近 5 年,我的職業才真正大幅長進。

下面這些事情,我希望在進入軟體開發領域時我已經知道了。如果我早點知道這些事,我將會變得更加成功。

軟體開發中沒有「正確的方式」

在我開發生涯的早期,我在學習和爭論上浪費了大量的時間。我錯誤地認為,在軟體開發的諸多方面都存在一種絕對「正確的方式」。

但是,關於軟體開發,幾乎每一件我當時認為是正確的事到頭來都被證明是錯的。

更重要的是,我發現幾乎沒有任何一件事是非黑即白的。在編寫程式和開發軟體的過程中,幾乎所有的決策都是基於當時特定的情形。

我之前已經談過為什麼信仰一種技術對開發人員有害,但是我現在說的這個話題談的不止是一種技術(這麼狹隘)。

沒有通用的最佳實踐,這也是真的。甚至是一些 highy charged 話題。例如,要不要單元測試?敏捷開發和瀑布模型哪個好?這些沒有永遠正確的答案。

在我的職業生涯中,我在「正道」(理想主義)路線的迷宮裡浪費了太多的時間,而不是採用可以幫我走得更遠的「務實」(現實主義)路線。

細讀書不是最佳的學習方式

我一開始學習寫程式和技術知識的時候,我花了太多時間細讀一些關於特定技術的書。

001

讀書沒錯,但是選擇讀什麼書和讀它的哪一部分非常重要。

比如,我記得我讀過一本非常厚的講 VC++ 的書。(我十分肯定是這本書的更早的一個版本。) 不管怎麼說,這本書是本內容豐富的好書,但是一頁一頁地讀並不是學習 VC++ 最好的方式。

如果我當時先粗略地看看此書的章節,獲得對 VC++ 一些全面的認知,然後再去搞懂其中最最重要的部分,我能學到並記住更多的東西。

如果我當時坐下來,通過實際地做一些東西來練習基礎知識,而不是僅僅讀一下或者過一過書上的例子,我現在會更加成功。你沒有在真正地學一門技術,除非你用它解決了真正的問題。

深入學習一門特定技術是浪費時間

我不僅在「細讀書」上浪費了時間,我在「讀錯書」上也浪費了時間。

我錯誤地相信,從裡到外學習一門特定的技術能很好地推動我的職業生涯。

我花了太多時間讀一些非常專門的技術書,如,ASP.NET 或 Hibernate,而不是讀更多的像《Code Complete》,《Clean Code》,和《Agile Principles, Patterns And Practices in C#》。(BTW,我推薦你去讀所有的這些書,如果你沒讀過的話。)

儘管了解你所使用的技術非常重要,但是成為那個特定技術的絕對專家並不重要。知道確切的 API 調用沒多大好處,你需要的時候可以輕而易舉地查到。

我在太多技術上花了太多時間深入學習,最後這個技術不是死掉了就是我後來放棄不用了。大多數關於這些特定技術的知識最後只代表了浪費掉的時間。

我發現,成為你正在使用的特定的程序語言的專家很重要,因為程序語言方面的知識將影響你很長時間。我仍然百分之百會花時間深入學習 C++,C#和 Java,但是我可能會花較少的時間去學習 C++所有復雜的細節,因為那些細節現在對我幫助不大。

在你的開發生涯中,社群極其重要!

我的生涯早期,我犯了一個錯誤,就是不怎麼去向社群尋求幫助,也不為他人提供幫助。

002

我一向樂於幫助我的同事,也在不同的工作崗位上也非常善於交際,但活動範圍從來沒有超出過公司。

我在我的生涯中花了大量的時間,試圖在一個特定的公司進行投資,卻沒能將我的時間投資在我參與的軟體開發社群中。

我花了很多時間,做關於技術或者是最佳實踐的內部 presentation,而這些時間原本可以用來製作可以服務於社群的內容和材料,同時也能給我帶來工作上的認可。

我也犯了另一個錯誤,就是認為自己沒什麼有價值的東西去貢獻。

我和很多剛入行的開發者聊過,有時候我覺得,比起我們這些”老油條“,他們有更多的東西去貢獻給社群,因為他們更理解其他初學者蛋疼的問題。

如果我可以重來一遍,我一定會在我的生涯中更早、更多地參與各種會議和使用者群。我會更早地開始寫部落格,並利用我的大部分學習時間去建立專案和資源,去幫助別人而不是只讀書。

參與業餘專案

可能我做的最大的,並且對我生涯影響最大的改變將會是​​完全戒掉電視,無盡的任務和魔獸世界(兩個遊戲),並把這部分時間花在一個業餘專案上。

我過去花了相當一部分時間做一些享受性的,但是對我的生活沒有長遠利益的事情。

大約 3 到 4 年前,我已經基本不看電視了,現在我也很少看電影。電視和大部分電影只是一個對時間的巨大浪費,而這些時間你可以用來幹很多有用的事。視頻遊戲很大程度上也是一樣,但至少在視頻遊戲裡,你在積極地做一些事情,而不是被動地吸收一些沒有用的訊息。

我會一直熱愛玩電動遊戲,並且我不認為我會停下來,但是,我真心希望我(之前)把一大部分用來打遊戲看電視的時間花在一個業餘專案上。

慚愧的是,我做的第一個真正的業餘專案是在大約三年前,那時我開始創建我的第一個 Android app。

當你在為別人工作的時候,花時間為自己工作非常重要,不然你就是在為他人建立王國而忽視自己的王國。

我不僅從最近幾年的業餘專案中學到了很多,並且我也從中得到了很多利益。事實上,其中一個,即製作 Pluralsight 課程,是我現在花全部時間在做的。

(本文最初發表在 brotherb 上)

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

相關文章

2017 未來商務展開跑!場地夠大不怕擠,聊天機器人服務夯

數位時代主辦的未來商務展今天盛大開展,活動一路持續到 4/29 ,應該是考量到去年超過 12,000 人觀展盛況塞爆了華山藝文特區,今年改到花博爭艷館舉辦,除了空間開闊外,同時也是數位時代 Meet Taipei 使用過的場地,難免讓人產生 Meet Taipei 創業嘉年華的既視感。

飛船回歸天際?Google 創辦人謝爾蓋 · 布林秘密投資科技飛艇

如果你知道 Google,可能也聽說過它的兩位共同創辦人賴瑞 · 佩吉 (Larry Page) 和謝爾蓋 · 布林 (Sergey Brin)。雖然 Google 是世界級的網路公司,這兩位共同創辦人卻非常低調。

這家基金在 Tesla 股票只有 30 塊錢的時候買入……

Primecap Management Company 在 Tesla 股票不到 30 美元的時候大量買入,現在他們手上持有的股票已經怒漲 469%。

評論