當前位置: 妍妍網 > 碼農

編程二十年,38歲Google程式設計師的16條建議,涉創業、技術淘汰、拿大廠offer……

2024-03-09碼農

以能夠讓計畫自負盈虧,並在這一約束下最佳化其增長的方式來管理和調整計畫,這是這個世上最厲害的本事。

距離我正式開始編程的工作已經過去 二十年 了。在這些年裏,我有以下收獲:

  • 獲得了科學領域「卓越能力」的綠卡申請批準

  • 成為了Google的開發者專家

  • 成為了IEEE的高級會員

  • 擔任過一家擁有100名員工的公司的營運長

  • 我編寫的一段程式碼的下載次數達1.35億次

  • 兩次面向2000人的觀眾發表演講

  • 根據國家電視台的評選,我是俄羅斯最誠實的人

  • 然而,我也有很多缺憾,而且這期間花費的時間太長。我認為,如果我早點套用我學習到的態度、原則和優先事項,就可以在5年內迅速達到事業上的大部份目標。如果你的職業生涯剛剛起步,這篇文章可以為你 節省15年 的時間。想象一下,如果我在23歲(而不是如今的38歲)就擁有如上所有的成就(除了IEEE,需要10年時間)。

    在本文的第一部份中,我將簡要介紹我的職業生涯。在第二部份中,我將詳細介紹我認為擁有最大影響力的每一條建議。

    第一部份:2003年~2023年的職業發展

    2003年12月22日,我遲遲無法入睡,於是決定尋找一些網域名稱。我檢查了一些突然想到的網域名稱,發現了GetSoft.ru,於是我將它買了下來。

    我能用這個網域名稱幹點什麽呢?我想著。最後,我決定我可以構建一個軟體市場。

    當時,我成為一名業余開發者已經7年了(從11歲開始)。我制作了【俄羅斯方塊】、【炸彈人】、【坦克大戰】等遊戲的複制版本,並把它們上傳到我的網站,然後將連結放到當時的許多初創市場。當時的那些軟體市場確實不太方便,而我知道自己能做一個更好的。

    我學習了PHP,不過只是因為當時互聯網上的大多數URL都以「.php」結尾。

    2004年3月4日,我推出了GetSoft.ru。

    我的第一版業務網站(經過Google轉譯)

    接著,我編寫了一個指令碼,解析了一個競爭對手網站的內容,並行送了類似於下面的個人化垃圾信件:

    你好,某某某。我們推出了一個新的軟體市場。請將您的程式(標題1,標題2,標題3...)添加到其中!

    這一招奏效了,帶來了一些初始內容,吸引了搜尋流量,進而吸引了更多的供應商:

    這個網站讓我獲得了在Telma(如今改名為Harman Connected Services)實習的機會。這家公司坐落於俄羅斯下諾夫哥羅德,與我在同一所城市,由於為摩托羅拉手機制作固件而小有名氣。我在那裏工作了一年就離職了,因為我認為自己很聰明,有更好的機會,而且當時我透過出售廣告賺了很多錢。

    這筆收入讓我變得懶惰。時至2010年,市場發生了變化,收入下降,我錯過了早期社群網路的黃金時代。我沒有建立社群,只是依賴搜尋流量。

    我沒有想出拯救自己的網站的計劃,於是,我開始以自由職業者的身份為他人制作企業網站。我曾考慮過成立一家代理機構。

    2011年,我偏離了編程方向。我結識了一位非常了不起的老師。在他的幫助下,我開始講課,講的都是一些自己的興趣愛好,例如攝影和攝像,一直持續到2013年。後來,他鼓勵我投放公寓裝修廣告,然後將這些潛在客戶賣給裝修工人。雖然小有所成,但很有限。後來,他聘請我教授別人如何獲取訂單並售出,這份工作一直持續到了2014年中期。

    後來,他又聘請我擔任他的另一家教育公司的學習材料制作主管,後來又提升我為CTO和COO。我為他搭建了所有的IT基礎設施,並從零開始制作了學習管理系統。

    巔峰時期,我們有100多名老師,2500多名學生,以及100多家活躍的聯盟行銷合作夥伴。那段時間的收入增長了四倍,2015年的利潤為274,000美元,是俄羅斯平均薪資的600倍。

    2016年,他重新規劃了管理和薪酬,而我辭職了,並寫了一本關於如何做好工作以及如何升職的書(目前僅有俄文版)。

    後來,我再次開始從事自由職業,因為我一直有一個夢想,那就是經營自己的公司,而這又占據了我多年的時間。當時,企業網站的市場收縮,簡單的無程式碼服務占主導地位。我制作了自己的CRM,但很難賣出去,因為不適合市場。由於個人的自尊心作祟,我無法接受普通工作。

    時至2019年,我終於意識到由於沒有在大公司工作的經歷,讓我有很多欠缺。於是,我搬到了莫斯科,並在Calltouch找到了一份工作,這是俄羅斯一流的電話跟蹤和行銷分析平台。2020年秋天,我辭職,再次開始創業。

    我的這家創業公司需要最便宜的移動以及Web前端,於是我決定學習Flutter。我不想浪費自己的積蓄,恰巧我的一位朋友正在使用Flutter,我就在他那裏找了一份兼職工作。那段時間裏,我暫停了自己的創業公司,為他工作。與此同時,我開始寫部落格。2022年2月,戰爭導致我們的客戶破產。

    我逃到了喬治亞(一個歐洲國家),在Akvelon找到了一份工作,這是一家外包軟體供應商。而這成為了我人生的轉折點。這家公司為Apache建立了一些知名的開源計畫,透過他們,我結識了一些谷歌工程師。

    我在Akvelon工作了一年,由於個人的工作經歷以及寫作,我獲得Google開發者專家的頭銜。

    當時正是搬到已開發國家的好機會。我討厭成為一名沒有居留授權的永久遊客,因為身份問題,我總是被人視為失敗者。

    美國一直是我的首要目標。我曾經夢想賺到足夠多的錢,拿到投資移民的綠卡,但現在我了解到EB-1A傑出能力計劃,而且發現它是可行的。我決定進一步提升個人資料,達到他們的要求。

    所以我加入了IEEE,並迅速晉升為高級會員。

    後來,我又申請成為CODiE獎的評審,並獲得了批準。

    第二部份:我的建議

    1.挑選最好的地方,並建立全球網路

    我就讀的大學距離我家步行只需15分鐘。那是2002年俄羅斯的思維方式:一個小而封閉的世界。在我的同學之中,只有一個人去了莫斯科讀書,更不用說出國留學了。當時,身邊沒有人做榜樣,讓我看到一個人可以走得更遠,而我也沒有互聯網,沒辦法了解其他渠道。

    反觀我的Google主管,比我年輕4歲,來自墨西哥,在南韓上學。然後加入了當地的Google,隨後又搬到了美國。想象一下,高中畢業僅6年,你就能達到這個高度。

    這個年齡段是人生最美好的時光。做好充分的準備,你可以去任何夢想的大學。之後難度會逐漸增加。

    一直以來,我都相信這個世界上有更好的地方,我遲早會到達那裏。在過去的20年裏,那裏發生了很多事情,而我並未參與其中。

    我有一位朋友,比我小4歲,在我剛剛在家鄉讀完四年大學時,他就被一所美國大學錄取。震驚之余,我意識到一個事實:機會一直都在等著我。

    即便不出國,你也可以建立全球專業人士關系網。我身邊的大多數人都如井底之蛙。雖然他們也建立了LinkedIn檔案,也發了很多英語貼文,但只有俄羅斯的招聘人員與他們聯系。

    這是因為僅僅改變語言還不夠。許多地方社群都缺少國際協會和會議。如果你知道某個更為成功的社群,請立即加入,然後參與寫作與演講。對我來說,Google開發者專家和IEEE就是很好的例子,全球有成千上萬的社群在等待你。呆在井底是有風險的。

    2. 創業

    我的第一個商業計畫就是前面提到的軟體市場。雖然有一個很好的開頭,但後來我面臨很多問題,因為我沒有將其視為一項業務。

    第一個問題是,我希望這個計畫是「公平的」,因此我拒絕了除廣告之外的任何變現方式。我拒絕了所有付費推廣,因為我認為學生程式設計師和已建立的供應商在平台上應該平等。這導致我的開發資源不足,而競爭卻在不斷加劇。所以,我建議你積極抓住商機。 這個世界上所有「免費」的東西都依賴於某個人的成功和不斷增長的業務基礎。 你免費提供的每一件東西都必須是某個可靠的業務流程的副產品,並且需要擁有足夠明確的光明未來。否則,用自己的資源慷慨解囊的慈善行為將毀掉你,傷害你周圍的世界以及你試圖幫助的人。

    第二個問題是資源詛咒。有了錢,我就什麽都不想幹,所以我什麽都沒有幹。雖然我為迎合自己的審美稍微改進了一下我的網站,但從未像最初的幾個月那樣全力以赴。這其實是打工人的思維,而不是商人的思維。我不知道如何克服資源詛咒。 我能告訴你的最好建議是,無論你依賴什麽,總有一天會崩塌。仔細想想,那時你會剩下什麽。

    3. 獲取利潤

    對於大多數程式設計師而言,最大的問題在於,他們並不會從經濟角度考慮問題。

    編程是一項高創造性的活動,需要絕對的安全性,個人的不確定性和恐懼會導致你停滯不前。這就是為什麽程式設計師大多有固定薪資,與市場、銷售、配送、服務等其他職位不同,這些職位的薪資很大一部份來自傭金。

    程式設計師不僅不擔心產品是否熱銷,甚至不擔心是否按時完成任務。人們普遍的看法是,相較於程式設計師因為固定薪水而變懶的風險,團隊成員因害怕帶回家的錢不夠而減緩速度的風險更高。

    截止日期確實會給編程工作帶來壓力,但這只是一種假想,我從未見過任何人因未能按期完成工作而被解雇,或者受到處分,特別是在一些國家解雇並不是簡單的事情。即使是不稱職的程式設計師也會被安排一些枯燥的任務,只不過不漲薪資罷了,而且他們很快就會辭職,對雙方都有好處。

    程式設計師擁有固定薪水的原因還有兩個。首先,大型計畫很難提出一個合理的利潤計算公式,既保證公平,又能夠快速反饋以影響到個人行為。IT行業常見的自然利潤反饋迴圈至少需要幾個月的時間。

    另一個原因是讓程式設計師了解軟體公司的經濟學是有風險的,因為去掉這唯一的障礙,他們不僅會離職,而且還會創立競爭性企業。如果他們願意,並且性格外向,他們有這類舉動的機率遠高於市場、銷售、支持等輔助人員,因為他們擁有最稀缺、最有價值的技能和專業知識。

    雖然薪水固定對心理健康有好處,但不利於我們培養判斷什麽對公司業務發展有利的直覺。管理層可能會口頭解釋公司的首要業務,但這遠不如傭金來得有效。

    程式設計師抱怨他們希望花更多時間重構,而不是構建新功能。或者,他們不明白迅速推出測試版的原因,想要再多幾個月的時間來完善工作。或者,他們向管理層施加壓力,要求擴充套件最小化可行產品,添加他們喜歡的功能。或者,他們希望使用個人喜好的技術,盡管不是最佳選擇。

    後果是:

  • 我們這些人很難創業,因為我們不知道如何正確地排列各項工作的優先順序,需要在實踐中學習,並且會損失大量資金。

  • 很難找到 以業務為導向的程式設計師 ,不需要人監管也能關心業務。

  • 以商業思維創業可以獲得優勢。目前沒有任何的相關教育,但我知道有兩種方法可以提供幫助。

    1)傭金

    如果你的薪資與利潤成正比,你會徹底改變自己的行為。

    作為程式設計師,你可以在為小企業做小型計畫時獲取相應的傭金。舉個例子,為某人制作一個聊天機器人作為額外的銷售渠道,對方同意給你一些分紅。

    任何按傭金計酬的非編程工作也是有幫助的。銷售員通常具有良好的商業直覺,如果他們變成程式設計師,也會保留這種直覺。

    自由職業似乎也有助於培養對利潤的感覺,因為你的行為會迅速獲得反饋。完成一個固定價格的訂單的速度越快,就可以越快得到一個新的訂單。然而,這很少與業務需求有關,因為你只是學會以簡單的方式完成每個任務,而不是從業務戰略的角度決定優先處理哪些任務。

    2)僱用某人

    用自己的錢創辦一家公司可以為你開啟一個全新的世界。別人眼中一個不重要的小功能,在你看來可能是500美元或5000美元的成本,你會殘酷無情地將其擱置,直到進入市場並有資金支持。

    在開始有收入後,你會發現成百上千被擱置的功能,你需要實作那些現階段能夠最大程度推動收入增長的功能。你最喜歡的功能可能並不在列表的最上端。你必須學會忍耐,而且還要向員工解釋為什麽你沒有那麽多錢讓他們花兩個小時做他們想做的事情。

    以能夠讓計畫自負盈虧,並在這一約束下最佳化其增長的方式來管理和調整計畫,這是這個世上最厲害的本事。

    盡早學會這一點,可以將為你節省幾十年的功夫。

    4. 接觸仍處於早期階段的技術,及時跳出走向衰退的技術

    1)人工智慧

    我接觸神經網路已經幾十年了。18年前,我上過一門相關的課程,做了一個簡單的神經網路。當時沒有TensorFlow或其他產品,我不得不手工建立一個感知器的C++類,以及在這之上的一切。但沒過多久,我就把這些知識拋到了腦後,我只知道我們可以編寫文字編輯器、小算盤、電子信件客戶端,現在還可以制作一些神經網路。對我來說,人工智慧只是其中一項技術,沒有特別之處。

    其實,當時人們普遍認為未來AI將主導整個行業。然而,在課程結束之際,我並沒有將那些知識和我的新技能與將來我從事的工作聯系起來。

    三年後,我遇到了一次機會,有人邀請我參與一個能夠從視訊流中檢測雜貨盜竊的系統,那是在2008年!我拒絕了,因為我想自己創業。

    現如今在創業時,我需要一種能夠檢測程式碼片段使用了什麽演算法的AI。雖然比行業最尖端的技術要簡單得多,但我理解起來依然有困難,而且我有拖延癥。

    2)行動應用

    還有一項技術是行動應用。17年前我曾上過一門關於移動開發的課程。當時是Java Mobile Edition,沒有針對特定作業系統的編碼工作,但令人驚訝的是你可以在一個小到能放進口袋裏的裝置上執行程式碼。但我用JavaME做了個俄羅斯方塊,放到網上,然後就拋到腦後了。

    14年後,一切都變成了行動應用。我開始學習Flutter,事先沒有任何Android和iOS開發的知識。大多數Flutter的招聘都要求原生移動的開發經驗,並將Flutter視為一種花哨的工具,所以我不太適合。

    我有一位朋友是一家「專註於移動開發12年」的工作室的技術負責人。他們的客戶包括肯德基、漢堡王、SAP和Mars。我本可以創辦這樣的工作室,但我沒有。

    3)PHP

    相反,我在20年前建立了一家PHP相關的公司。在3個月內啟動創業公司,這並沒有錯,但我在那裏停留了太長時間。

    4年前,當我決定找一份「真正的工作」,而不是自由職業時,我意識到了這一點。PHP的工作很無聊。由於某種原因,大公司新計畫的後端幾乎都使用了其他技術。

    當時,我被現實狠狠打臉。我曾親眼目睹了其他技術的興起:Node.js,Go等等。但我一直呆在舒適圈內,我的客戶認為PHP是最佳解決方案,而且原因有很多。然而,時移勢易,如今PHP的市場正在萎縮。

    如果你沒有看出某個技術即將消亡的早期跡象,就不得不等到更艱難的跡象出現,付出更高的代價。小公司網站的市場被無程式碼網站服務扼殺。接著,大一點的公司也轉身離開了。

    技術不會無緣無故被拋棄。原因是不合適。如果你說你不看重流行度,只要能達到你的目的即可,還請三思。其他更適合行業要求的技術,很可能也更適合你的需求。

    對於PHP來說,問題在於標準庫混合了你可以想象的所有風格,型別不明確,配置困難。在最後一份PHP的工作中,我花了幾周的時間修復和配置linter,而對於Go、Dart或TypeScript之類的編譯型語言來說,這是開箱即用的功能。

    4)認清生命周期階段

    我們很難判斷某個新興的技術只是短暫的輝煌,還是會主導整個領域。然而,這個問題的答案在某個時間會變得十分清楚。如果你還說沒看見,那麽就是自欺欺人。舊技術的消亡亦是如此。

    理想情況下,你應該在前景明朗的時候進行切換。至少應該在意識到你在自欺欺人時進行切換。

    5)主動質疑

    你必須積極主動。主動質疑:「這仍是正確的選擇嗎?」

    你周圍的人可能並不關心你是否拋棄某項技術。

    雇主需要你維護現有的技術棧。同事需要你的同意才能安心地切換技術棧。如果你順其自然,最終可能會被迫去使用一些已經走上末路卻仍在假裝自己還活著的技術,即便你有機會切換,也將是一段糟糕的經歷。

    看看StackOverflow的薪水統計表:

    他們為Objective-C支付更高的薪水是為了阻止你轉向Swift。阻止你從Perl轉成Python時也出現了同樣的情況。

    補充說明:

    不要因為某項技術很流行就去學,這樣你不會有學習的激情。在選擇發展方向時,背後必須有更好的原因。我喜歡系統的整體設計,包括後端、前端、基礎架構以及許多其他部份。因此,我會熟練掌握一系列系統設計的技能。

    如果我在2005年完全投身於人工智慧,或者在2006年完全投身於行動應用,就會錯過這些技能。那麽,我將錯過在工作中體驗這些技能的機會。 我選擇技能的根據是個人的習慣,而不是對未來的遠見。 這是我後悔的地方。

    5. 想一想下一個淘汰的技術

    這條建議討論的是技術的淘汰,只不過是從更高層面。不斷湧現和消亡的不僅是技術,還有使用這些技術的「模式」。

    我認為, 整個技術的發展不是一部創造史,而是消亡史

  • 網站的出現不是因為它們很酷,而是因為必須淘汰紙質目錄。

  • GetSoft.ru之類的市場出現不是因為我們喜歡尋找螢幕保護裝置,並在早期論壇上聊天,而是為了消滅去店裏購買CD的需求。

  • 平台商店導致客製市場沒落,因為人們希望在獲取套用時省略記住並鍵入「getsoft.ru」的多余步驟。

  • 一切都變成移動不是因為手機有多好,而是因為電腦的體積過大,是一種負擔。

  • 無程式碼網站的出現是因為從想法變成網站的過程太漫長。

  • 如今Flutter很受歡迎,也是我的主要業務。目前的使用模型是公司僱用程式設計師或外包供應商,建立、釋出和維護應用程式。這是值得投資的模型嗎?

    我們聽到越來越多有關低程式碼和無程式碼解決方案的訊息,例如FlutterFlow和AppSheet。一次偶然的機會,我得知我的兩個朋友正在獨立開發一個「基於Flutter的WordPress」,這樣既能夠淘汰常規的小型網站,又能更輕松地生成Flutter套用。

    即使這項技術尚未消亡,你也有可能處於具體使用的某個已死的分支上。這並不意味著,你會像我當初淹沒在網站代理的紅海中一樣,淹沒在Flutter代理的紅海中。當年一些人透過網站取得了巨大的成功,而一些人將在未來幾年透過手動編寫Flutter套用而取得巨大的成功。

    只不過你可能不再是乘風破浪的人,而是在努力向前遊。你可能在浪費本可以用來迎接下一個浪潮的時間。

    仔細想一想你的客戶和使用者所面臨的負擔。你必須清楚某些產品的出現會消除這一負擔。而這最好是你提供的產品。

    6. 開展價值鏈中的業務

    2002年,我嘗試制作業余電腦遊戲,當時的競爭非常激烈。每天透過各個市場存取我的網站的人只有大約10個,將其變成一項業務會非常困難。於是,我制作了自己的軟體市場,第一年日均訪客就達到了1100名。

    這是價值鏈中更高的一步。我無須再與其他人競爭,而是將他們的競爭轉化為我的優勢。我可以提供所有可選擇的軟體。

    很快,我了解到還有一個更高的位置。有個人建立了SoftSearch.ru,這是一個軟體市場的搜尋引擎。時至2004年,軟體市場已達數百個,他充分利用這些軟體市場,並真正擁有了每一款軟體。我不知道他的收入是多少,但當時市場正在變化,很多被淘汰,他仍然是受益方。2014年,我關閉了GetSoft.ru,而他直到2019年才關閉了SoftSearch.ru。

    這是一種模式。這種模式的兩個極端的例子是Google和Uber。Google沒有與其他網站在內容上競爭,而是更上一層樓,為整個網路建立了搜尋引擎,並受益於這些網站。Uber利用了司機之間的競爭,而不是在相同的領域與他們角逐。

    你不一定要成為自己行業中的Google或Uber。在大多數情況下,業務及其整合需要截然不同的技能。市場是相對簡單的軟體,但其中包含的寶藏可能難度高出了幾個數量級。當一款軟體售出時,作者獲得的收入和認可度比市場所有者更多。你可能更擅長自己的業務,而不是組織整個領域。但你應該意識到這種模式。

    還有一個 居於價值鏈中更高位置的例子是成為教師 。在尋找自由職業者時,如果你沒有時間反復試錯,一種聰明的方式是找到該領域的一位教師(他有很多成功的學生),並僱用這位教師來完成工作。雖然比普通自由職業者要貴,但成功率更高。這就是為什麽在一個衰落的市場中,教育者是最後失業的人。

    我的一位雇主就在教人如何從事大眾利益和服務的經營。後來,他轉而教人如何成為自己喜歡的領域的老師。後者為他帶來了4倍的收入,因為他在教育鏈中走向了更高的一步。

    另一個處於價值鏈中更高位置的例子是為領域制定標準、行為準則或獎項。這會瞬間將你提升到其他人之上。我認為在成為高手之前,你不必勉強,但要意識到在某個時刻,這些方法可能是你乃至整個行業最好的發展方向。

    7. 選擇科學而非套用

    我是一個喜歡實際行動的人,不太適合學術界。我從事的是能產生實際成果的工作,雖然基於科學和常識,但我不研究新的演算法、理論或原則。我不做研究。我做自己的業務,然後等著有人為我提供新的API,讓我能夠使用新的好東西。我希望自己更接近他們的位置。

    實際上,這是在獲得學士學位後你要做的一個重大選擇。如果選擇攻讀碩士學位,那麽就要從事科學研究。編寫有用的產品換不來碩士學位,你需要進行自己的研究或發明,為世界提供新的思路。

    我沒有攻讀碩士學位。在我們國家,工程學位畢業後可以選擇工程學位,只需在獲得學士學位後進行1.5年的套用性學習,無需兩年的研究性學習。所以,我就選擇了這個,但我後悔了。

    15年前,進入市場是比較容易的。只要把事情做好,就能夠躋身行業前列。想一想Facebook。他們並沒有在其他人的成果之上創新,唯一不同的是,他們將這款軟體套用到了迅速發展的領域。

    而今是科學的時代。架構出色和程式碼清晰的優勢已經減弱,因為預設情況下越來越多的人都能做到這一點。這些在戰術上很重要,但單靠它們無法獨自嶄露頭角。

    與之相對,具備一些「魔法」元素的人很快就能取得成功。一個擁有AI預測或生成功能背景的服務問世,就會導致其他上百個現有的服務消失。

    Python的崛起是一個很好的例證。這門語言之所以受歡迎,主要是因為它有豐富的數學庫。

    對科學的贊美並非新鮮事。40年前,科學家們忙於資料庫索引和搜尋演算法。有的程式設計師可能希望自己發明了一個好演算法,並擁有市場上最好的資料庫管理系統。但時光流逝,這些系統成為了程式設計師構建套用的基礎。神經模型也將經歷同樣的過程。如果你沒有參與它們的開發,那只能使用現成的模型來簡化更高層次的工作。

    不同的是,40年前的科學威脅到了圖書館員和電話操作員的工作。而現在,它正在削減分析師、設計師和助手的工作。程式設計師將是下一個受影響的群體。他們不會全部失業,但是程式設計師與科學家的比例正在穩步下降。

    而這種趨勢將繼續。科學離市場更近了。很快,消費者就會直接購買科學。他們將使用瘦客戶端,這類產品沒有作者,只有一位應用程式員。你聽說過為ChatGPT制作前端的人嗎?沒有,因為他們可以輕易被取代,而且獲得的報酬也非常少。

    此外,如果你在考慮下一個淘汰的技術,科學家是最早獲得資訊的人。在尋找下一個淘汰技術的過程中,選擇一個科學職業,然後利用你的成果開創革命性的事業。

    一些淘汰源於實踐,比如社群網路。它們只是將舊技術套用於新領域。但是隨著時間的推移,在不借助科學的情況下減輕人類的負擔變得越來越困難。

    我感覺自己偏套用,但從不會止步不前。我希望自己攻讀碩士學位,從事幾年的研究,然後再決定哪個更適合我。立足於科學,如果你願意隨時可以降級去做產品。反之則較為困難。

    8. 不要僅投資自己

    回顧我的整個人生,我一直認為程式設計師的需求高漲,而且薪資很高。因此,我從未覺得有必要存錢。結果,38歲的時候,我的銀行卡裏只有2萬美元,一輛開了12年的車,以及公寓的四分之一(但我已經離開了那個國家)。

    與此同時,我的一些年輕的朋友,雖然收入不高,但他們已經還清了大部份房貸。

    20年的時光轉瞬即逝,驚訝之余,我意識到過去一直生活在「未來」,卻從未將其變為現實。

    你應該註重理財。參加投資課程,學習投資,買房子。

    由於獲得了Google開發者專家的認證,我備受青睞,成為了團隊領導和CTO。如果不是這個認證,相信大多數雇主都會選擇一個25歲的人,而不是一個38歲的人,更不用說10年後48歲的我了。

    我的上一份工作,老板主動要求解約,是因為他們沒有適合我的技能的工作了。他們提前29天通知的我。整個團隊只留下了一個年輕人來維護現有的軟體。我不知道他們的理由是什麽。部份原因可能是,高級程式設計師對維護感到厭倦,隨時可能會辭職。但事實仍然是,只有最年輕的那個人保住了工作。

    大多數和我年齡相仿的開發人員沒有這樣的有利競爭,所以你必須做最壞的打算。隨著人工智慧的發展,沒有人是安全的。因此,永遠不要認為自己是特殊的人。你依賴的任何東西都可能在某一天消亡。屆時,你可不希望自己口袋裏只有2萬美元。

    更糟糕的是,過了35歲,這個世界將你視為一個沒有財產和金錢的乞丐。一年前,我申請澳洲簽證被拒,原因是我沒有展現出賺錢和存錢的習慣,也沒有任何房產,所以他們擔心我會滯留。

    我很震驚,因為20多歲的時候,我幾乎可以毫不費力地獲得美國、法國、荷蘭等國的簽證,而那時我擁有的金錢和財產更少。

    年輕的時候,人們對你充滿了希望,所有的大門都會為你敞開,這種幻想掩蓋了世界的另一面:如果有門,那是為了將某些人關在門外。

    而「某些人」就是年近40的所有人,我們不再「不符合社會標準」。就沖著這一點,我們也要做到符合社會標準。

    9. 在IT行業的領軍企業找工作

    我做了8年的自由職業,到頭來什麽都沒留下。我為當地最有名的的一家牙科診所制作了一個網站。那又怎麽樣呢?

    我甚至不能向任何人展示這個網站,因為兩年後他們又制作了一個更新的網站。我有大約40個類似的案例。

    在行業的領軍企業裏工作,通常拿不到太高的薪資,但你可以快速成長。我知道有人剛開始的薪資也就是平均數,六年後翻了10倍。而且他們還有很多可以講述的資歷,可以為他們爭取到任何工作機會。

    自由職業的難度和有趣程度無法與優秀的企業相比。你不過是用人生最美好的時光換取金錢而已。

    多麽希望我能早點明白這一點。我看到過很多早期的文章,都在贊揚自由職業帶來的自由,所以我從未對這個想法產生過質疑。事實上,能夠帶給你自由,而且不會讓你變成無所作為的流浪漢的唯一方式是建立自己的業務,但這又是另外一個話題了。

    在一家小公司工作可能比自由職業有趣一點,因為你可以獲得一些管理和市場的經驗,但嚴格來說,這仍然是一份平庸的工作。舉個例子,我曾是一家教育公司的CTO。我為他們制作了一個CRM和一個LMS,使用的技術已經流行了十年之久。雖然那家公司發展良好,那又怎麽樣呢?無論業務的性質如何,對於其他人來說,這些系統只不過是PHP + MySQL+CRUD。

    大公司需要很多技術:

  • 分布式系統的架構

  • 高負載

  • 事務,處理競爭條件,平行計算

  • 請求最佳化,效能分析

  • 自動化測試以及CI/CD

  • 正確的重構比例,應對一些遺留程式碼

  • 修改和部署程式碼時須非常小心

  • 在小公司的IT部門工作,以上技術你統統接觸不到。但如果你願意,可以很輕松地從大公司的專家降級到小公司的某個職位。

    這種技能要求上的不對稱性決定了你應該趁著還有機會尋找一份在行業領軍企業裏工作的機會。此外,你還能獲得大把吹噓的資歷。

    另一個關鍵原因是,從事自由職業或在小公司工作,你通常都是技術水平最高的那個程式設計師,所以你只能透過互聯網學習。但從同事那裏學習比閱讀和觀看視訊學習的效果更好。

    這種學習滲透到了空氣中。工作時,你能收到大量訊號,雖然註意不到,但仍然會被你吸收,成為你的一部份。如果你在家裏從事自由職業,外面只有狗叫聲,對你毫無意義。但如果你在辦公室,周圍都是熟練的專業人員,有人正在討論你從未想過的問題的解決方案,這就變成了你免費學習的機會,甚至不需要你主動要求。

    如果你是周圍技術水平最高的人,那麽你應該逃離這個地方。

    好訊息是大公司通常會招聘實習生,然後慢慢培養。例如,我兄弟在讀大學期間在英特爾工作了兩年。這無疑成了24歲的簡歷上濃墨重彩的一筆。離開學校,就很難獲得這樣的機會了。

    10. 承擔關鍵任務

    僅僅進入大公司工作還不夠。你有很多選擇,看似都差不多,但從個人長期發展的角度來看,就完全不同了。

    舉個例子,EB-1A綠卡有一個標準要求你承擔關鍵角色,具體定義是根據組織的度量標準有著重大影響。即使你從事的是最尖端的工作,需要掌握世界上所有的技能,別人也不一定會將其視為「關鍵」,因為影響力有可能是間接的,或者可能有太多像你這樣的人,而你個人的貢獻度很難評估。

    另一方面,你甚至可以在完全不涉足任何現代技術的情況下承擔關鍵任務。例如,我曾經有幸負責一家公司的身份驗證系統。那只是一些PHP程式碼,但我發現並修復了一些關鍵的漏洞。我還幫助他們在CI中引入了靜態分析,減少了意外停機時間。很有可能是這兩者的幫助,我才達到了EB-1A計劃的標準(我說「很有可能」,是因為我第一次申請就透過了,但沒有人告訴我他們是如何統計分數的,但我認為這是強有力的一點)。

    當然,你不需要在「關鍵任務」和「尖端技術」之間進行選擇,你可以兩者兼之。選擇合適的公司和職位,然後花點時間深耕,就可以同時滿足這兩個檢驗標準。

    在考慮一個職位時,想一想是否可以輕易向外行證明你為計畫的成功做出了關鍵性的貢獻,即便你並沒有任何正式的領導職務。這可以讓你的簡歷達到一個完全不同的維度,而不僅僅是技術上的卓越。

    我只有4年的時間在做在我看來是關鍵的任務。這意味著,其余16年的時間都白白浪費掉了,對我的簡歷沒有實質性的提升,我本可以提升5倍。

    大多數時候,只有做好準備的人才能抓住關鍵角色的機會。CEO或CTO會直接找你,就像我經歷過的那樣。但在那之前,你仍然可以積極地尋找這樣的機會。

    假如我是一名初級程式設計師,在尋找關鍵角色時,我希望成為身份驗證、加密、高負載系統DevOps或查詢最佳化等領域的助手。這些職位要求你做事滴水不漏,而不是豐富的經驗。通常,如果一個職位的錯誤成本很高,而且無法輕易找借口脫身,那就是我要尋找的職位。

    11. 【致加西亞的一封信】

    美國作家艾爾伯特·哈柏德的著作【致加西亞的一封信】是一本很了不起的商業書籍。篇幅很短,只需幾分鐘就能讀完。

    在我給別人分配任務時,通常他們都會問太多問題。如果是一周的工作,我通常需要花大約兩個小時來解釋那些我認為理應5分鐘就能明確的事情。

    如果你一路堅持讀到這裏,我相信不需要詳細展開說明,你已經心領神會了。

    另一方面,有些熱血青年不問青紅皂白就開幹,結果往往會做錯事。不過這種情況較為罕見,我也不太擔心。

    我也曾是其中之一。有一次,我需要建立一個端點,以便前端可以顯示資料庫中是否存在某些記錄。我猜想他們可能會需要記錄數,所以我返回了記錄數。如果他們真的需要,就可以直接使用了。於是,我寫了一條非常簡單的語句:

    CTO在看我的解決方案後非常生氣。他要求我統計一下耗時。結果為不到1毫秒,我看不出有什麽問題。然後,他要我統計下面這條語句的耗時:

    結果快了20倍。

    我錯了嗎?以前我在小企業工作,應用程式的負載都很低,為將來快速改進而做好準備是最重要的技能之一,這就是為什麽我問都沒問就做了這些工作的原因。我缺乏的是在高負載的系統和環境中工作的經驗。

    在遇到問題時,你需要判斷這個問題是出於某種習慣,還是有必要。 然後,根據你的判斷決定是放棄,還是問一問。這需要對大環境的深刻理解,包括業務需求、預算、目標、路線圖、架構及其限制、待辦事項列表、外部依賴、整個程式碼庫的歷史等等。

    如果你不確定如何完成工作,最簡單、最有效的方法是想一想哪些工作需要優先處理。

    然後從中得出解決方案。就上面的SQL語句而言,如果我想清楚這一點,可能就不會掃描整個表了。

    其次,你需要意識到平衡,根據上述所有的這些計畫因素,更好地判斷問還是不問。

    提問代表積極主動,不去打擾別人代表你能勝任這個職位,二者之間的平衡是你晉升的關鍵因素之一。

    12. 為重要的開源計畫做貢獻

    開源貢獻可以為你的簡歷、面試、會員計劃、獎項,甚至人才移民計劃加分。

    我最受歡迎的開源貢獻是PHPStan中的一個功能,PHPStan是最流行的PHP靜態代分碼析器。我的這段程式碼下載次數超過了1.35億次。

    這很可能是我透過EB-1A計劃的一個標準「為領域做出重大科學貢獻」的原因之一,也為我獲得綠卡貢獻了三分之一的力量。

    為了貢獻這段程式碼,我不得不換成兼職工作,因為當時我34歲,已沒有精力只利用業余時間寫程式碼。20多歲的時候,我們的時間非常自由,而且精力無限,所以請善加利用。

    我還有兩個最厲害但不太受歡迎的貢獻是,為兩個Apache套用(Beam Playground、Tour of Beam)編寫的前端以及一款Flutter的程式碼編輯器。

    開源貢獻加上寫作和演講,為我贏得了Google開發者專家的頭銜。從該計劃的面試來看,我感覺開源的貢獻比寫作和演講更為重要,但我也不十分確定。

    如果你選擇了合適的計畫,開源貢獻就像是在早期購買了正確的股票。之後,你什麽都不用做,只需靜觀下載數量不斷增加,直到數百萬。就像股票一樣,錯過這樣的機會,到了一定年齡,你將不再「符合社會標準」。然而,與股票不同,即使計畫失敗,開源貢獻也不會下降,評判標準依然是流行度的最高點。

    但是,與其他工作一樣,為了做貢獻而做貢獻會很無聊。我為開源做的這些貢獻都是因為我在工作中有這類的需要。因此,你應該選擇一份工作,而開源貢獻只是順手而已,平衡的秘訣是:無需額外的努力就能換來不錯的結果。

    我們總是渴望自己的軟體包成為熱門,這樣我們就能成為頂級開原始碼庫的所有者。但大多數人都沒有這麽幸運。我最好的Flutter軟體包只能排進前16%,很令人心碎。

    別把所有的雞蛋都放在自己的籃子裏,你可以去幫助那些有名的人。這可以與自己的計畫不火的風險形成對沖。

    縱觀我的整個職業生涯,只有不到7%的時間在專職從事開源工作,但希望我能做出更多貢獻。據我所知,有些Google開發者專家80%的職業生涯都在從事開源工作。你也有這樣的機會,只需慢慢尋找。

    13. 走向公眾

    20年前,是否成為公眾人物還是個人選擇。當時還沒有社群網路,互聯網也沒有視訊,為了獲得知名度,人們必須為專業雜誌撰稿。這需要付出很多努力,所以對於專業人士來說,保持低調也未嘗不可。找工作時,你只需發送自己的簡歷。而對方也別無選擇,只能相信你,並邀請你參加面試。

    如今,這種方法已經不行了。成為公眾人物幾乎不費吹灰之力,保持低調只能說明你畏懼、身無所長或者人生規劃有問題。即使是內向的人,至少也應該寫一些文章,以免引起懷疑。如果你突然出現在社群網路上,有50個朋友,卻沒有任何作品,也沒有關於你的公開記錄,那麽就很難找到一份像樣的工作。

    現如今每個人都是公開的,所以你應該 積極走向公眾才能脫穎而出 。你應該把自己取得的每一個成就、每一個發現和每一個可重用的成果都記錄下來。

    保持沈默理應比向全世界表達自己更難。

    1)多寫作

    我的第一篇技術文章發表於2004年9月29日。閱讀次數為5千多次,我感到非常高興。那時我是一名大三的學生,許多人已經在學習我的經驗了。

    由於某種原因,我發表第二篇文章已時隔17年。

    最近這兩年,我才開始寫部落格,如今已有十萬多次的瀏覽和幾百個粉絲。粉絲的數量呈指數增長,因為這些數位越高越能吸引更多人。如果中間沒有間隔17年,我現在可能已成為一名巨星。

    下面是我的一些建議:

  • 不要在程式碼審查和指導會議中重復自己說過的話。 相同的話,如果你說了兩次,就應該花點時間寫下來並釋出,然後將連結發送給他們。如果你沒有寫作的習慣,就從這個最簡單的方法開始吧。

  • 在所有流行的平台上釋出文章。 僅使用一個平台,有可能推薦演算法會改變。你花了多年時間建立的粉絲群,肯定不希望他們突然看不到你的新文章了。許多平台都出現過這樣的情況,現在主要用作文本的托管。在各個平台釋出文章,就可以降低這種風險。

  • 遵循「以作者為先」的原則。 選擇工作時,請檢查該公司是否支持這條原則,並幫忙宣傳你的社交帳號。有些公司允許你在工作時間內寫作,甚至會支付額外的稿費,盡管他們可能不允許你在文章結尾呼籲讀者訂閱你的個人帳號。

  • 將一切重要的知識都轉化為文本,即使是簽證被拒。 這樣,你的在生活中就永遠不會失真失,因為即便遇到最差的情況,你也為此撰寫了一篇文章。

  • 寫私人日記。 剛開始的時候,可以非常簡單,比如「我去了某地。我做了某事。」一年後,你會發現自己在不知不覺中寫下了富有哲理的長篇文字。

  • 2)制作視訊

    一般來講,熱門視訊的粉絲數量是熱門部落格文章的10倍以上。這意味著,僅靠寫作會無形中失去很多。

    我不擅長制作視訊。通常在正式錄制之前至少需要完整地演練一次,但我討厭演練。我討厭在鏡頭面前表演,或者因為說話卡頓重新錄制。我討厭為了錄屏提前準備,比如開啟資料夾和索引標籤等。我討厭編輯視訊,因為太耗時間,而且我總是在事後發現還有許多需要改進。真希望自己能夠早一點學會制作視訊。

    年輕時制作視訊要容易得多。因為你有大把的時間,也不會遇到上述我討厭的所有事情。所以無需理會我的抱怨。

    2011年,我開始做YouTube頻道,算是比較早,但後來我沒有花太多時間在上面。觀看次數超過10萬,還算不錯。不過,我的頻道講述的不是編程,而且其他相關的內容。

    我參加過有關視訊制作的課程,攝影方面的學習還算不錯,制作了3個短片。

    我甚至制作了一個關於如何拍攝視訊的課程,其中包括不要害怕直播,如何設定相機支架、照明和麥克風,以及專業編輯等15個主題。

    文本最大的優勢在於你可以隨時編輯,直到完美,而視訊無法做到這一點。我在獲悉綠卡申請結果之前就寫下了本文,然後在拿到結果後又更新了相應的部份。視訊卻不能這樣,但是在AI的幫助下,我們可以撰寫視訊指令碼,然後渲染視訊,感覺就像自己錄制的一樣。你的面部表情、螢幕、所有動作都將完美地放入視訊,所以我上述所有抱怨的問題將不復存在。話雖如此,那些天生習慣錄制和釋出視訊的人會更有優勢,因為他們思維更敏捷,而且具有推廣視訊的經驗,所以盡快開始學習制作視訊吧。

    3)在活動中發言

    我的童年和少年時期有口吃的問題,所以我會盡可能避免說話。另外,我似乎還患有阿斯伯格症候群(社交與非言語交際障礙),因此我很難清晰地表達自己的想法。長大以後,普通人都具備表達自我的能力,而且他們都很有魅力,而我顯得很遲鈍(這是我擅長寫作的原因之一,算是一種補償)。

    後來,我意識到我錯過了很多良機,於是我決定改變。我不得不加倍努力,才能獲得其他人從一開始就享受並視為理所當然的東西。

    以前,我很害怕講話,如今卻兩次面向2千人講話,盡管是關於政治而不是編程(都是用俄語)。

    這種經歷很難忘,可以極大地解放自己。

    現場演講是生活和工作的全新維度。你會遇到平時永遠不會遇到的人。此外,相比於視訊,現場觀眾對你的印象更為清晰和鮮明,你們之間可以建立更牢固的聯系,你可以獲得更多信任。你更為真實,而真實的人更有說服力。

    在會議上演講還能讓你收獲各方面的贊譽:成為組織成員(Google開發者專家,IEEE),移民計劃加分等。隨著時間推移,你參加演講的機會將越來越多。哪些人會被邀請演講?之前發表過演講的人。

    最簡單的鍛煉演講的方法是成為大學的兼職老師,讓人們認識你。在意識到需要改變自己之後,我就采取了行動。我的一位朋友是老師,在跟教授確認後她同意讓我成為一個學期的代課老師。我就這樣拿到了鍛煉自己的機會。

    如果你是某個職位的領導,或者是一名技術高手,就可以輕而易舉地成為某次聚會的演講者。你可以問問你上級在哪裏演講。我就問過我的上司,他感到很驚喜,並安排了我與其他兩位大公司的員工共同開展了一次交流會,總共有40名觀眾。

    很多經理都以為程式設計師不喜歡演講,因此甚至都不會提這樣的建議。與其等待別人恩賜,不如主動去詢問。

    我很後悔當初沒有抓住機會多多講話。現在我是一名Google開發者專家,每周都受邀參加國際會議,而且我終於有了空閑時間,因此我將接受這些邀請。

    14. 保存一切

    1)工作成果

    小時候,你可能不太關心自己的勞動成果。只有父母會為你保留童年時期的畫作。

    後來,你開始在意並嘗試保存過去的成果,為的是將來可能有需要,或者只是為了炫耀。

    成年後,你會註意到自己害怕失去存檔,好像它們已成為你的一部份。你會質疑為什麽這些存檔對你來說這麽重要。你可能會克服這種恐懼,在自己身上找到安全感。逐漸地,你不再那麽關註你的存檔。你可能不想保存一些龐大的檔或難以整理的東西。甚至可能會故意刪除一些東西來解脫自己。

    雖然這種態度代表更好的心理健康,但後來你意識到,保留過去的東西仍然很有趣。

    我的硬碟在2000年左右損壞了,所以我無法展示15歲前制作的遊戲。1998年,我使用QuickBASIC 4.5復刻了遊戲【乓】,雖然對你來說沒有太大意義,但我多麽希望能在這裏放一張截圖。幸好我還有2001年使用Visual Basic 5復刻的【Digger】遊戲,其中所有的寶石都是在3DS Max中渲染的:

    在回顧過往20年的文章裏,你可以展示自己早期的作品,它們是那麽可愛。

    2)反饋

    更重要的需要保存下來的是客戶、同事、上級給你的反饋。日後需要的時候,就很難獲取了。因為他們可能會:

  • 辭職,然後失去了在檔上簽字的權力。

  • 忘記你的工作對他們的價值。

  • 變成名人,變得太忙。

  • 更改所有聯系方式。

  • 離世。

  • 舉個例子,我在PHPStan中進行了一項改進。2020年的時候,這個庫還很受歡迎。我以為如果日後需要向某人證明我的工作,看看PR就知道了,因此就沒有獲取更多的證據。

    後來,在申請綠卡的時候,我必須向移民官證明我的貢獻,但這位移民官不明白PR的含義,也不明白它的影響。即便你向他們解釋,也並非每位移民官都會努力去理解。有些人只看中權威人士簽署的檔。有些人會尋找介面來淘汰你。

    因此,我詢問PHPStan的作者是否可以提供一封信,簡單地說明我的工作的意義,但他說他太忙了,無法打印並寄給我一封紙質信函(這是我的律師的建議)。聽到這個訊息,我感到十分沮喪,因為當時我花費了幾十個小時在那個功能上。但時隔三年,人們已經忘記了當初你的工作帶給他們的感覺,他們不欠你什麽。

    如果你付出了很多努力,做好了某件事,那就想法收集一封證明信。在剛結束工作之際,提出這樣的要求很自然。

    至於我的綠卡,我不得不寫信給PHP相關的許多公眾人物,其中兩人同意出具書信證明這個功能很重要,而且產生了影響。

    我的這個請求確實有點奇怪。只有不到10%的人回應了,大多數人都沒有看信,有些甚至直接進了垃圾信件。所以,千萬不要等到你被人忘記。遺憾的是,你一定會被人忘了。

    15. 保重身體

    這部份內容實際上真應該放在文章開頭,但那樣這篇文章感覺就像是一篇廉價的新時代文章。

    我今年38歲,有一些健康問題。

    我有脊椎側彎的問題,呈S形。十幾歲的時候,醫生告訴我如果不矯正的話背會疼,但每個人17歲的時候都覺得自己無敵,所以我壓根沒聽進去這些建議。

    直到25歲之前,矯正都不難。但我一直等到30歲左右才開始關註,那時已經很難了。我透過瑜伽和按摩,用兩年的時間將彎曲的弧度從25度改善到了21度,但進展非常緩慢,所以後來我放棄了。我多麽希望當時自己沒有放棄,因為到了38歲,矯正就更加困難了。近幾年來,我的背部一直很疼。

    我不能跑步,因為我的膝蓋會疼。這是大學體育訓練時單腿深蹲造成的。另外,從未有人告訴我如何正確跑步,我的跑步方式會把地面的沖擊力直接傳遞到膝蓋。有些運動醫生專門研究跑步。他們可以指導你,如有必要,你可以試試。

    除此之外還有節食的問題。我曾嘗試素食主義,但沒有註意我的飲食是否包含身體所需的肉類的所有營養。第一年效果很好,我感覺自己充滿活力。但兩年半後,我感到不對勁。愉悅感消失了,而且我發現自己的腿和手腕很容易扭傷。我隱隱感覺自己的身體缺少一些東西,然後我又開始吃肉了。現在我希望自己沒有那兩年半,或者縮減到6個月。

    永遠不要相信個例。如果受傷,去看醫生。素食主義不能拯救你脫離地獄。

    請記住以下幾點:

  • 每一種體育運動都需要一定的技巧。如果做得不正確,可能會受傷,而且可能無法康復,並引起永久性的疼痛。

  • 如果需要監督你訓練的人,請咨詢高級運動醫生。

  • 在25歲之前治愈困擾你的問題。過了這個歲數,你會失去很多機會。

  • 不要相信年輕時的自愈能力。這種超能力會消失。你對身體所犯的每一個錯誤都會在30歲後回到自己身上。

  • 16. 不要被絆住腳

    上面我介紹了很多自身的變化,其實在做出這些改變之前我就知道自己必須這麽做。

    我非常戀舊。即使放棄編程四年後,我仍在幫助那些為他們制作網站的人。他們在使用我的引擎,所以我覺得有義務支持他們,否則很無禮。

    當時我不知道,如果關閉自己的業務,不會發生什麽可怕的事情。他們可以在幾天內找到替代品,只不過你願意幫忙,他們懶得找罷了。對於他們的緊急請求,「下次還是找其他人吧」之類的答復不管用,你必須說不。

    至於個人問題就更難了。在過往的大多數關系中,我一直認為如果有一天她回心轉意,我們就可以重新在一起了;或者我只是想在她陷入困境時待在她身邊提供幫助。我就這樣在原地等待,直到自然而然地找到其他人,一切又周而復始重新開始了。

    我有一個非常喜歡的按摩師。還有一個很了不起的瑜伽老師,九年了都沒有換過。

    這些只不過是我自己意識到的事情,沒有意識到的肯定還有很多,比如食物、公園、街道等等細枝末節的依戀。

    我就讀的大學在全球前1500名中都排不上號,但離我家只有15分鐘的步行路程,考慮到蝴蝶效應,這可能是我一生中最錯誤的決定。的確,2002年的時候,我很難獲得任何資訊,或者找到一個榜樣,但有些人確實先行了一步。

    最糟糕的情況莫過於被莫名地絆住腳。這是一種潛意識的阻礙,會蒙蔽你的雙眼,讓你甚至無法認識到某些事情其實並不重要。

    這就是為什麽人們建議為了改變而進行一些改變,比如每月去另一個地方度周末,嘗試新的菜肴等等。這樣可以讓更大的變化變得更簡單,也有可能是避免立即實施重大變化的一種技巧。

    面對每一次改變,我都希望自己做好準備。我需要在做出決定之前完成一些事情,這其實是一個謊言。

    準備永遠不會充分。每一年我都會發現相比於當下擁有的一切,過去一年的依戀只是借口。然而,在接下來的一年裏,我會培養更強烈的依戀,而且還有更多理由不做出改變。

    我建議你直面這種謊言,現在即刻做你想做的事。

    人生真的可以加速嗎?

    真的可以在5年的時間裏做完原本需要花費20年的事?

    我原本計劃寫,據我所知最年輕的Google開發者專家只有23歲(據我估計)。但後來我遇到了更誇張的例子。

    在一次Flutter電話會議上,我遇到了Aila McPhail。她和妹妹Sumay在兩年前建立了一所線上兒童學校,那時她倆分別是12歲和9歲。如今,她們擁有1500多名推特粉絲(而我只有41名),她們的學校已經為500多名學生提供了服務。姐妹倆居住在美國維吉尼亞州北部Falls Church,一座人口不到1.5萬的小鎮。

    Sumay還有4年的時間才能申請Google開發者專家的頭銜,但她已經能夠透過線上會議與Flutter團隊的高級經理交流了。Aila需要再等7年才能申請Google開發者專家,但她能夠像一個成年人一樣表達自己的想法,只不過她的聲音和視訊暴漏了她的年齡。

    我也是11歲開始接觸編程,而後在18歲前開始虛度光陰。這兩位女孩比我更優秀。你也可以!

    作者丨Alexey Inkin 譯者 | 彎月 編 | 夏萌

    原文連結丨https://medium.com/dev-publicity/advice-to-my-younger-self-and-you-after-20-years-in-programming-a3a2ccc7a942

    本文經授權轉載自微信公眾號「CSDN」(ID: csdnnews)

    dbaplus社群歡迎廣大技術人員投稿,投稿信箱: [email protected]