程式設計25年後,現實將我打回菜鳥程式設計師的起點

AI科技大本營發表於2019-01-30

在從事了 25 年的程式設計工作後,我卻發現自己沒有什麼具體的東西可以展示給大家。我需要克服完美主義思想和對被批評的恐懼,向大家展示真實的自己。


640?wx_fmt=jpeg

作者 | DeChamp

譯者 | 蘇本如

責編 | 仲培藝

出品 | CSDN(ID:CSDNNews)

下面和大家分享下我的故事:

2019 年 1 月 13 日這一天,我滿了 36 歲,這意味著我正式從事程式設計工作已有 25 年。

在這 25 年間,我盡心盡力地工作,卻發現除了程式設計技能外,我沒有什麼可以展示給大家的成果。

這些年我所做的,要麼是作為一個僱員為企業開發專案,要麼兼職為客戶開發一些網站,而這些網站/專案中的大部分都已經下線了。

在無數次的自我反省中,我問自己,為什麼我沒有什麼成果可以展示給大家?根源在哪裡?

完美主義怪圈


我的第一次反省源於一個好友要我幫他學習網站程式設計,某天晚上我接到他的電話,他興奮地說:“嘿,快看看我的網站!我搞定了!”

他買了一個域名,一個 WordPress 模板和一些便宜的託管主機。他把這些設定好,並把準備好的內容放上去,然後就上線了。

他的網站看起來不錯。因為我更喜歡使用 PHP 或 Node 來構建完整的 App,所以我不喜歡用 WordPress。但他不知道怎樣程式設計,所以 WordPress 是他最好的選擇。

在我教了他一些基礎知識後,他在一個星期內就做出來一個看上去不錯的網站,這讓我有點嫉妒。

我不是嫉妒他的技能,因為我知道他掌握的是任何人在一兩天的時間就能學到的基礎知識。

然而,他只用了一週時間就完成了這個專案 90% 的工作。

在這麼短的時間內,他做出來了一個看得見的產品!

他是怎麼做到的?!他是如何克服在網站還未完善時就釋出的恐懼的?他怎麼想到為網站建立這些內容的?他是如何做到不過度設計,保持專注,進入程式設計這個奇異的世界的(對他來說)?

我必須承認這一點,我意識到我生活在自我技能懷疑以及對他人批評的恐懼中。當涉及到我的個人專案時,我會陷入完美主義的怪圈,所以一旦我開始一個專案,就會投入無窮多的時間,窮盡所能來讓它成為我能做到的最完美的應用,但結果往往是半途而廢。

我唯一一次 100% 完成的個人專案,是因為有一個老闆會為我付報酬。其它的個人專案我都只完成了 50%~90%,或者是感到無聊放棄了,或者是乾脆忘記繼續做下去。

我深知我的本職工作做得很好——每天都在學習,承擔並完成了大量的專案。我在這個領域幹了 15 年多了,與一些最好的開發人員一起工作,甚至有能力挑戰他們。

我開發過的軟體和應用能帶來數百萬美元的收入,擁有數十萬使用者。我的存在讓這些軟體和應用變得非常安全可靠。


開始改變


那我為什麼要糾結我的個人專案呢?聽起來有點像人格分裂。

我意識到我需要回到我剛開始工作的時候。"K.I.S.S", Keep it Simple and Stupid!

我也開始更加關注開發社交圈。我加入了幾個小組。其中之一是一個初學者小組,讓我能夠像一個菜鳥程式設計師一樣重新思考。

我注意到有些菜鳥程式設計師只有幾個月的開發經驗,但他們都敢於提供一些建議,甚至一些全日制課程。我更震驚的是很多人不但感興趣,而且還感謝他們。他們的追隨者不斷增多。

對我來說,這太令人震驚了。他們是如何做到這一點的?當人們幾乎不知道他們過往經歷的時候,怎麼會重視他們的建議呢?

我猜我可能一直沒有意識一點,好多人只是在尋找比他們多瞭解一點點的人。他們不在乎那個人是否比他們多學了 25 年或 25 分鐘,他們只關心是否能從這個人身上學到一點點,並希望與其維繫一條溝通渠道。

很快我就發現,我只釋出了一些文章就已經有了很多“粉絲”。看來我要克服的阻礙來自我自身。

所以今年我要強迫自己做出改變,我決定採取下面的一些小步驟:

首先,我考慮了一下我的現狀,由於我在外面接了一些私人專案,如果再去完成所有的個人專案,那會讓我壓力太大。(這些年我一直都有一份全職工作,但在大部分時間裡,我會接一些私人專案來做。

我作了個決定,如果我在一件事上賺的錢不足以讓我的生活方式有大的提升,那就不值得我花時間。

我一直在想這個問題。如果我接的私人專案掙不到我全職工作收入的 50%,那我就不應該這樣接私人專案。

所以我放棄了這些私人專案,由此而來的壓力釋放是驚人的——我不需要為更多的客戶負責了。我只需要應付一份普通的工作、我的家庭和我的個人專案!

我做的第二件事,是強迫自己構建一個快速的個人專案,無論我對它感覺有多糟糕,都要馬上釋出它。

我也這麼做了!你可以在 https://gidgitz.com 上檢視。

我的下一個目標是繼續向該站點新增功能。學習一些新的框架、包和設定,我會很快掌握,並在將來的專案中使用。

一開始很順利,但是後來我在重構上被堵了 3 個月。3 個月過去後,每天我都興奮地為新的 API 後端程式設計。


故態復萌


三個月前,我又重蹈覆轍,再次每件事過度複雜化,且力求盡善盡美,做好的功能我又不想釋出了,因為我的完美主義的強迫症又犯了。

當我意識到我又一次讓自己陷入同樣的困境時,我強迫自己改變,拿掉沒有完成的功能,將已完成的部分發布出去。

我做到了!感覺很棒。雖然新功能不多,但都已經上線執行。這可能不是我最終想要的,今後還需要新增無數的改進。但至少這一次我做到了,毋庸置疑,上線這些新功能肯定比讓它們靜靜躺在我的膝上型電腦裡無人關注要好。

我必須努力克服我的舊習慣,直面對別人批評的恐懼,要認識到即使沒有人喜歡它,至少它可以被人看到。我一開始要做的不是使它完美,而是要使其“可見”,然後得到反饋並加以改進。

我的下一步是完成後端 API 設定,每隔幾周釋出一次小的更新,直到我對這個專案感到滿意。 到那時就是開始下一個個人專案的時候了。

除此之外,我還打算向人們展示我的新想法,把舊專案拿出來展示給別人看。

這是一個學習過程,在走過了 25 年的程式設計旅程後,我感覺現在才剛剛開始。


Ta 說


讀完這個故事,不少評論慨嘆同感良多,也同時發表了對作者某些觀點的看法:

Tyler Smith:

對此我也深有體會。兩年前我辭掉了工作,成為了一名網站開發人員,因為我有幾個個人專案要構建。事實上,我應該足夠勝任開發人員這個工作,因為我可以在成為開發人員後的 10 個月內做出一個可接受的版本,但有兩件事總是讓我停步不前:

1. 新奇事物綜合徵:我總是想用最好的平臺來完成這個專案,所以我從 Wordpress 轉到 Laravel,再轉到 Django,然後開始學習 Serverless。這是一次很好的學習歷程,但我什麼也沒做出來。

2. 我想要的功能遠遠超過我的個人能力。

我被困了一年沒有上線任何東西。

拯救我的是一堆關於最小可行產品(也稱為 MVP)的文章,同時也是厭倦了什麼都做不出。我把我的抱負從 10 個功能降到 1 個功能,並在 14 天內在 WordPress 上建立了一個可執行的網站。這個站點在 WordPress 中並不出眾,目前為止還沒有人訪問過該站點,不過可擴充套件性倒是也完全沒問題了。

在過去的兩週裡,我一直在嘗試推廣我認為非常酷的東西,儘管程式碼庫有點亂,但我對它非常滿意,而且沒有人關心程式碼。

祝你和你的專案好運!如果你多關注程式碼的釋出,你會做得很好!

Eric Ochoa

我喜歡這部分:“…他們不在乎那個人是否比他們多學了 25 年或 25 分鐘,他們只關心是否能從這個人身上學到一點點,並希望與維繫一條和他溝通的渠道。”

我常常覺得在我對任何問題發表任何看法時,我必須先成為這個問題的專家。但事實是,通過分享你已經掌握的任何知識,都可以幫助很多人(包括你自己)。

原文:https://dev.to/dechamp/25-years-of-coding-and-im-just-beginning-442n

本文為 CSDN 翻譯,如需轉載,請註明來源出處。


推薦

640?wx_fmt=png

推薦閱讀


640?wx_fmt=png

相關文章