在從事了 25 年的編程工作后,我卻發(fā)現(xiàn)自己沒有什么具體的東西可以展示給大家。我需要克服完美主義思想和對被批評的恐懼,向大家展示真實的自己。 下面和大家分享下我的故事: 2019 年 1 月 13 日這一天,我滿了 36 歲,這意味著我正式從事編程工作已有 25 年。 在這 25 年間,我盡心盡力地工作,卻發(fā)現(xiàn)除了編程技能外,我沒有什么可以展示給大家的成果。 這些年我所做的,要么是作為一個雇員為企業(yè)開發(fā)項目,要么兼職為客戶開發(fā)一些網(wǎng)站,而這些網(wǎng)站/項目中的大部分都已經(jīng)下線了。 在無數(shù)次的自我反省中,我問自己,為什么我沒有什么成果可以展示給大家?根源在哪里? 01 完美主義怪圈 我的第一次反省源于一個好友要我?guī)退麑W(xué)習(xí)網(wǎng)站編程,某天晚上我接到他的電話,他興奮地說:“嘿,快看看我的網(wǎng)站!我搞定了!” 他買了一個域名,一個 WordPress 模板和一些便宜的托管主機。他把這些設(shè)置好,并把準(zhǔn)備好的內(nèi)容放上去,然后就上線了。 他的網(wǎng)站看起來不錯。因為我更喜歡使用 PHP 或 Node 來構(gòu)建完整的 App,所以我不喜歡用 WordPress。但他不知道怎樣編程,所以 WordPress 是他最好的選擇。 在我教了他一些基礎(chǔ)知識后,他在一個星期內(nèi)就做出來一個看上去不錯的網(wǎng)站,這讓我有點嫉妒。 我不是嫉妒他的技能,因為我知道他掌握的是任何人在一兩天的時間就能學(xué)到的基礎(chǔ)知識。 然而,他只用了一周時間就完成了這個項目 90% 的工作。 在這么短的時間內(nèi),他做出來了一個看得見的產(chǎn)品! 他是怎么做到的?!他是如何克服在網(wǎng)站還未完善時就發(fā)布的恐懼的?他怎么想到為網(wǎng)站創(chuàng)建這些內(nèi)容的?他是如何做到不過度設(shè)計,保持專注,進入編程這個奇異的世界的(對他來說)? 我必須承認這一點,我意識到我生活在自我技能懷疑以及對他人批評的恐懼中。當(dāng)涉及到我的個人項目時,我會陷入完美主義的怪圈,所以一旦我開始一個項目,就會投入無窮多的時間,窮盡所能來讓它成為我能做到的最完美的應(yīng)用,但結(jié)果往往是半途而廢。 我唯一一次 100% 完成的個人項目,是因為有一個老板會為我付報酬。其它的個人項目我都只完成了 50%~90%,或者是感到無聊放棄了,或者是干脆忘記繼續(xù)做下去。 我深知我的本職工作做得很好——每天都在學(xué)習(xí),承擔(dān)并完成了大量的項目。我在這個領(lǐng)域干了 15 年多了,與一些最好的開發(fā)人員一起工作,甚至有能力挑戰(zhàn)他們。 我開發(fā)過的軟件和應(yīng)用能帶來數(shù)百萬美元的收入,擁有數(shù)十萬用戶。我的存在讓這些軟件和應(yīng)用變得非常安全可靠。 02 開始改變 那我為什么要糾結(jié)我的個人項目呢?聽起來有點像人格分裂。 我意識到我需要回到我剛開始工作的時候。'K.I.S.S', Keep it Simple and Stupid! 我也開始更加關(guān)注開發(fā)社交圈。我加入了幾個小組。其中之一是一個初學(xué)者小組,讓我能夠像一個菜鳥程序員一樣重新思考。 我注意到有些菜鳥程序員只有幾個月的開發(fā)經(jīng)驗,但他們都敢于提供一些建議,甚至一些全日制課程。我更震驚的是很多人不但感興趣,而且還感謝他們。他們的追隨者不斷增多。 對我來說,這太令人震驚了。他們是如何做到這一點的?當(dāng)人們幾乎不知道他們過往經(jīng)歷的時候,怎么會重視他們的建議呢? 我猜我可能一直沒有意識一點,好多人只是在尋找比他們多了解一點點的人。他們不在乎那個人是否比他們多學(xué)了 25 年或 25 分鐘,他們只關(guān)心是否能從這個人身上學(xué)到一點點,并希望與其維系一條溝通渠道。 很快我就發(fā)現(xiàn),我只發(fā)布了一些文章就已經(jīng)有了很多“粉絲”??磥砦乙朔淖璧K來自我自身。 所以今年我要強迫自己做出改變,我決定采取下面的一些小步驟: 首先,我考慮了一下我的現(xiàn)狀,由于我在外面接了一些私人項目,如果再去完成所有的個人項目,那會讓我壓力太大。(這些年我一直都有一份全職工作,但在大部分時間里,我會接一些私人項目來做。) 我作了個決定,如果我在一件事上賺的錢不足以讓我的生活方式有大的提升,那就不值得我花時間。 我一直在想這個問題。如果我接的私人項目掙不到我全職工作收入的 50%,那我就不應(yīng)該這樣接私人項目。 所以我放棄了這些私人項目,由此而來的壓力釋放是驚人的——我不需要為更多的客戶負責(zé)了。我只需要應(yīng)付一份普通的工作、我的家庭和我的個人項目! 我做的第二件事,是強迫自己構(gòu)建一個快速的個人項目,無論我對它感覺有多糟糕,都要馬上發(fā)布它。 我也這么做了!你可以在 https:// 上查看。 我的下一個目標(biāo)是繼續(xù)向該站點添加功能。學(xué)習(xí)一些新的框架、包和設(shè)置,我會很快掌握,并在將來的項目中使用。 一開始很順利,但是后來我在重構(gòu)上被堵了 3 個月。3 個月過去后,每天我都興奮地為新的 API 后端編程。 03 故態(tài)復(fù)萌 三個月前,我又重蹈覆轍,再次把每件事過度復(fù)雜化,且力求盡善盡美,做好的功能我又不想發(fā)布了,因為我的完美主義的強迫癥又犯了。 當(dāng)我意識到我又一次讓自己陷入同樣的困境時,我強迫自己改變,拿掉沒有完成的功能,將已完成的部分發(fā)布出去。 我做到了!感覺很棒。雖然新功能不多,但都已經(jīng)上線運行。這可能不是我最終想要的,今后還需要添加無數(shù)的改進。但至少這一次我做到了,毋庸置疑,上線這些新功能肯定比讓它們靜靜躺在我的筆記本電腦里無人關(guān)注要好。 我必須努力克服我的舊習(xí)慣,直面對別人批評的恐懼,要認識到即使沒有人喜歡它,至少它可以被人看到。我一開始要做的不是使它完美,而是要使其“可見”,然后得到反饋并加以改進。 我的下一步是完成后端 API 設(shè)置,每隔幾周發(fā)布一次小的更新,直到我對這個項目感到滿意。 到那時就是開始下一個個人項目的時候了。 除此之外,我還打算向人們展示我的新想法,把舊項目拿出來展示給別人看。 這是一個學(xué)習(xí)過程,在走過了 25 年的編程旅程后,我感覺現(xiàn)在才剛剛開始。 04 Ta 說 讀完這個故事,不少評論慨嘆同感良多,也同時發(fā)表了對作者某些觀點的看法: Tyler Smith: 對此我也深有體會。兩年前我辭掉了工作,成為了一名網(wǎng)站開發(fā)人員,因為我有幾個個人項目要構(gòu)建。事實上,我應(yīng)該足夠勝任開發(fā)人員這個工作,因為我可以在成為開發(fā)人員后的 10 個月內(nèi)做出一個可接受的版本,但有兩件事總是讓我停步不前: 1. 新奇事物綜合征:我總是想用最好的平臺來完成這個項目,所以我從 Wordpress 轉(zhuǎn)到 Laravel,再轉(zhuǎn)到 Django,然后開始學(xué)習(xí) Serverless。這是一次很好的學(xué)習(xí)歷程,但我什么也沒做出來。 2. 我想要的功能遠遠超過我的個人能力。 我被困了一年沒有上線任何東西。 拯救我的是一堆關(guān)于最小可行產(chǎn)品(也稱為 MVP)的文章,同時也是厭倦了什么都做不出。我把我的抱負從 10 個功能降到 1 個功能,并在 14 天內(nèi)在 WordPress 上建立了一個可運行的網(wǎng)站。這個站點在 WordPress 中并不出眾,目前為止還沒有人訪問過該站點,不過可擴展性倒是也完全沒問題了。 在過去的兩周里,我一直在嘗試推廣我認為非常酷的東西,盡管代碼庫有點亂,但我對它非常滿意,而且沒有人關(guān)心代碼。 祝你和你的項目好運!如果你多關(guān)注代碼的發(fā)布,你會做得很好! Eric Ochoa 我喜歡這部分:“…他們不在乎那個人是否比他們多學(xué)了 25 年或 25 分鐘,他們只關(guān)心是否能從這個人身上學(xué)到一點點,并希望與維系一條和他溝通的渠道?!?/p> 我常常覺得在我對任何問題發(fā)表任何看法時,我必須先成為這個問題的專家。但事實是,通過分享你已經(jīng)掌握的任何知識,都可以幫助很多人(包括你自己)。 原文:https:///dechamp/25-years-of-coding-and-im-just-beginning-442n |
|