如果AI 大幅降低了學習門檻,幹嘛搬家?
自從 AI 程式工具出現,學習程式的門檻大幅下降,X 上面就出現很多連 10 歲小孩也能寫軟體的影片。Cursor 等AI 工具的出現,不只是降低的學習軟體工程的進入門檻,更大幅提升了學習體驗的滿足感。
Cursor 的創業團隊說他們在乎的用戶體驗來自 “fun = speed” 是有道理的,AI 提高速度帶來的快感,不只來自於不用再像以前一樣卡在一個 bug 卡很久,求師無門。現在寫程式,也不需要花時間計較編程語法的細節, AI 也可以根據目前代碼庫 (codebase),了解上下文 (context),根據同個文檔的資訊寫出需要的代碼。而這個快感也延伸到 AI 的程式的生成速度上,譬如說 Cursor 就會把整個代碼庫暫存 KV cache,因此 AI 就不用重跑變化不大的上下文,你問問題時也不需要給他相關的編碼,他可以自己搜尋。因此,從理解層次(解決問題、學習新的語言)到執行(寫出正確代碼),AI 都能一手包辦。
簡而言之,只要基礎概念足夠清晰,就可以和 AI 協作進行修正,通常讓高級的 AI 可以負責規劃,而基礎的 AI 負責執行,學寫程式變成一個更輕易試錯、迭代的歷程。那在這個人人都可以用 AI 的時代背景下,我們待在什麼城市,有什麼關係呢?
舊金山的工作工作工作文化,寫程式就像呼吸
除了大科技公司的員工多在意 work life balance,其他科技人通常工作及生活,有新創圈的朋友因為極端的工作主義被放上新聞。但即便撇除工作至上主義,很多人可能也都有自己的 Side project。
因此上班、下班其實沒有太大的差別,畢竟上班下班都在寫程式,然後週末去黑客松繼續寫。因為太多黑客松了,每個週末,我可能都得三個黑客松挑一個去,很多黑客松都是大公司像是 Openai、Anthrophic 贊助的,非常高級。
但即便是熱心人士自己在家裡舉辦的居家黑客松,舊金山也因為人才濟濟,會有神秘的名人現身,之前就在某家見到知名機器學習作家 Chip Nguyen 害我說話吞吞吐吐,如果你不能理解,你可以想像他是機器學習界的 BTS,然後你在某個人家家裡撞見他心跳加速的感覺。
因此你可以想像,在這樣生活風格下,可能每天都會寫程式,寫久了,就像是吃飯、喝水一樣令人習慣,也不覺得是在工作了。帶了一年後,寫程式之於我,就如同 Tiktok 之於現代人,是生活的預設的狀態,至於為什麼有這個文化,以下會做細緻的討論。
整個城市都是我的家庭教師
那如果我假設你不在新創工作,只以非常學習取向的方式來討論程式學習,也能夠很輕易地看出為什麼待在舊金山比在學校好得太多了,而以下會以人際網路的方式來探討為什麼舊金山的學習工程的速度是其他地方不能比的。
第一次學程式的困境:只有半個老師
就拿大學時,非工程學習,但修了一堂資訊課的我來說吧。說實話,我並不覺得自己有太多工程上的天份,更直白點說,應該是完全沒有天份才對。在台大上個給商學院學生的程式課學得亂七八糟。後來還主動學了四五次,都因為遇到卡關而作罷。
當時最大的困難,不只在於不明白程式語言、工程思維、連英文能力很差的情況下,連查個資料都很有難度。老師總是喜歡說「不會,就Google。」但我可是連把自己的問題,打成一個 Google 可以準確搜尋的關鍵句子都非常勉強。
當時唯一的學習管道,算是朋友 Reggie 吧!但我們的關係為非正式、非義務性、也沒有明確學習路徑的朋友關係,也沒有機會接觸資工相關的人際網路,有一搭沒一搭的學,學習動機容易隨著卡關下滑,自然沒多少進步。
轉戰資工系:也只有一個社群
那你可能會問,那如果是資工系的學習呢?畢竟加入系所,就是正式、義務的學習模式,也有同學相互切磋了吧。
在 Minerva 念 CS 的時候,確實是有一群同學和教授,有明確的學習路徑、學習時數、完成作業的義務。但即便如此,大部分的時候也只在課堂互動,或限於作業的框架範圍。教授為主要的資訊傳遞者,但也大概只有一週兩次下課加上 Office hour 的時候才能夠更深入的學習。如果想要擴增學習領域,從基礎演算法框增到學習 Duolingo 推播的演算法,還是要自己想辦法的。學習網路是有的,但只有一個,而且身邊同學的實力大同小異,大家常常卡在一起。
舊金山的學習:整個城市都是我的家庭教師
在舊金山有機的學習網路就比其他地方多上許多,我分成四個學習,工作、加速器、黑客松、科技活動來探討。
工作環境:當然會有資深工程師的指導,新創講究速度,非常有利於學習曲線的指數性成長,但如果我們現在假設你不在新創工作,那你還有接下來三個社群。
加速器環境:我的公司和前公司都在新創社群,簡言之,就是一個讓很多新創進駐工作的加速器,平常人如果找得到管道也可以進來。因此每天除了和公司內部人才的學習,也和身邊的其他新創學習,粗淺的玩其他公司做的機器人,深入的則是合作發展 SEO 策略,軟體新創的問題大同小異,有非常強的聚集效應。此外,會來的工程師很多也想自己創業,我在失業期就找到需要幫忙的工程師,他成為我的個人家教,讓我在幾週內快速學會前端工程。
黑客松:即便你沒工作,混不進加速器,那還是可以去黑客松,舊金山每個週末都有黑客松,而週末還會來寫程式的人通常也是對於寫程式充滿熱情,神乎其技的工程師。有些熟面孔每週都會看到,最後也都認識了,向大家學習。
科技活動:舊金山一週大該有 20 場 AI 相關的科技活動了,有些是工程師們去 Demo 自己的專案,有些是公司性的推銷活動或是講座。大部分不懂舊金山的外人會來參加大型活動,但我個人認為這些活動沒有實作、講的粗淺、也只是幾分種粗淺的認識人,學習效果最差就是了。
此外,AI 無法取代人的地方,是見解和哲學。AI 或許可以寫很多程式,但沒有辦法教你如何思考 debug 和某個語言的哲學,這只有遇見好的工程師會告訴你的,譬如説,為什麼 React 的 state management 這麼奇怪,其實就是因為 大部分的程式語言是 imperative ,你告訴程式第一步到第十步,但 React 是 declarative 語言,不在乎中間的流程,只在乎最前與最後的結果。這些更像藝術與哲學的思維與想像,我想都會未來最被重視的技能。他們的哲學,也讓我從害怕程式到出現真實的興趣,可以一輩子帶著走。
聚集經濟帶來的網路效應
大部分的人思考人際網路,可能會想到未來可以找工作的人脈等等。不過我想談的是舊金山工程人才密集帶來的網路效應 (network effect) 帶來的高速學習。
我觀察到的現象有 (1) X 變成快速累積篩選學習資源與社會資本的地方 (2) 天天交付程式 (ship everyday) 是舊金山人的驕傲,所有人都有自己的 Side project。
這樣獨特的文化推崇天天寫程式,也讓學習有很高的收穫期望值和快速的學習迭代,住在舊金山要不成為頂尖的工程師也挺難的吧。
X 變成快速累積社會資本與篩選學習資源的地方
社群網路 X 是舊金山人的 Linkedin,我的 X 充滿著新科技產品的影片、論文、和效能討論。實際上是,如果你有做出一些像樣的專案,你是可以一夕爆紅的,紅到吸引投資人。像是朋友剛到舊金山的時候,只有 4 個追蹤者,發了幾個月的機器人手臂之後,追蹤者暴漲,創了公司,知名的投資人也去密他。
舊金山的人才高度密集,讓你知道你和知名的科技人在 X 上真的只有幾步之遙,如果認識一些網路核心 (network hub) ,想要找誰其實都很快,也會被邀請進有門禁的特殊活動,或是 Apple 的發表會等。這和一般城市要慢慢向上爬完全不同,舊金山相信年輕人,有才就有機會,帶給工程師們非常強烈的學習動機,不會有花很多時間學習慢慢轉職成功,或是花很多時間終於有人看見你的專案等,收割遲緩的問題。
既然好的新科技很快就會在 X 上出名,平常見到的人也很快就會告訴你,篩選出好的學習資源自然容易,畢竟整個城市都幫你篩選好了。學習新科技遇到的問題常常是工具的選擇,選了一個不好用或是難學的工具,也找不到人求教。舊金山的集體智能都幫你選好了,好的工具在 X 上曝光,在線下的認識的人認可,是會聽到很多次,看到很多熟人轉發的,想不知道都有困難。
這就和菜市場不知道要買哪一攤的菜一樣,不需要每家都嘗試,認真審查,只要聽三姑六婆咬耳朵就差不多可以相信了。目前學工程的大問題其實不時資源不足,而是資源雜亂,不知從何下手,但如果社群已經幫你做出學習選擇,不但省時、省力,踩雷機率小,還可以在透過身邊的人的解釋大致了解工具的運用方式,在 X 上看效能,其實學習地圖自然而然就在腦海裡成行了,根本不需要大張旗鼓地做研究。也降低了學習卡關的阻力。
總結而言,X 與現實交錯互動帶來的外部肯定,與對學習資源的篩選效果都帶來快速學習的動機與成效。
天天交付程式 (ship everyday) 是舊金山人的驕傲,所有人都有自己的 Side project
如果談論社群的力量,就得談論社群所造就的文化。當工程師高度密集,AI 新創爆發性成長,大家在社群媒體評斷人的標準就已經不太是職位了,而是已努力寫程式。從開始寫到上架的速度,一週寫幾天都是賣弄的內容。許多人會炫耀自己的 Github 有多綠(推送了多少程式),很多新創招人廣告也會說:「如果你的 Github 是一片青綠,你就是我們想要的人才!」但在台灣根本沒多少人會管你的 github!
在這個人人都有機會的城市裡,Shipping fast 成為身份認同,超越職稱和畢業學校(畢竟這裡超多人輟學),是優秀人才的絕對指標。雖然看似愚蠢,但其實我所見過的優秀工程師,或是高度成長的新創,大家的 Github 確實是一片青綠,鼓勵大家天天寫程式,讓寫程式變成像呼吸空氣一樣自在,我現在也真的是天天都會寫,沒寫就覺得哪裡不對勁。
至於人人都有 Side Project 也是這樣文化下的產物,週間上班寫程式,週末在黑客松繼續寫。Side project 不只是愛好,他們也可能變成下一個公司,如果在黑客松贏了的話,很多是可以拿到投資或是新創加速器的座位,或是得到 X 上知名科技人的青睞,或是很多人使用,這和一般人想像自己做好玩,沒有人在乎的 Side Project 期望值完全不同。此外,因為高度密集的黑客松,Side Project 的回饋週期非常短,也可以找到其他人一起做,因此迭代速度可以非常的快速,專案的發展自然有好的動力。大家見面打招呼也變成 “What are you building?” 。
那如果一個學習環境以寫更多程式為榮,大家正業是寫程式,休閒副業還是寫程式,身邊見到的人也討論程式,任何一張白紙人才一送來舊金山馬上就會填上代碼的。
沒有的娛樂,專心致志的城市氛圍
除了網路效應外,先天的程式限制也會讓人成為好的工成師。因為舊金山沒、有、娛、樂,完全是工程師無人島。
我沒錢,所以更沒有娛樂。不像是在台灣,到處都有好吃的好玩的。而且舊金山晚上出門並不安全,還得很多人一起才敢出門,根本不可能有什麼夜衝,太陽下山了,大部分的時間就待在家了。即便想要探索科技以外的領域,像是文化與藝術,不但機會不多,品質也不高。
像是我去上了跳舞課,問了同學他們在做什麼。
「我是系統工程師。」
「我是機器學習工程師。」
「我是初級工程師。」
謝囉,全部都是工程師、工程師、工程師,我懷疑只有跳舞老師不是工程師。壞處是我感覺到自己科技領域外的探索有所受限,好處是沒有太多分心的事物,專心致志。
舊金山的破壞與創新
大家常說,舊金山開創新的紀元,紐約傳承舊世代的繁華。雖然舊金山除了科技以外,真的娛樂與享受都不多的城市,但它承載的破壞與創新,對我有著深深的魅力。在其他城市口出狂言,表達自己想要破壞的舊制度,想要創造的未來,可是要被取笑的,但在舊金山,我不再感到孤獨。看著隔壁桌的機器人手臂、知道 Sam Altman 就在隔壁棟演講、去黑客松也能見到 Andrew Ng,看見身邊一堆人進了富比世的 30 under 30,就知道自己離世界頂尖,並沒有想像中的遙不可及。也能明白能在人生二十來歲,在一個掌舵駛向 AI 帶來的世代的核心,不論是成是敗,這航道都一定精彩可期。
所以如果想成為頂尖的工程師,搬來舊金山吧!