編程25年後,現實將我打回菜鳥程序員的起點
在從事了 25 年的編程工作後,我卻發現自己沒有什麼具體的東西可以展示給大家。我需要克服完美主義思想和對被批評的恐懼,向大家展示真實的自己。
作者 |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 翻譯,如需轉載,請註明來源出處。
推薦
※一個中心、三大原則,阿里這樣做智能對話開發平台
※火爆GitHub的《機器學習100天》,有人把它翻譯成了中文版
TAG:AI科技大本營 |