在上篇文章《Web2 終是末路,Web3 才是歸宿:接觸 Web3》中,我大致回顧了借由「Web3 前端訓練營」向 Web3 全棧工程師轉型的學習經歷。
在訓練營剛開始的那段時間,常會看見有人問:「學完能找到 Web3 的工作嗎?」更有甚者,會抱著傳統思維想要找穩定的 Web3 工作……
從我當前的了解來看,Web3 行業是變化莫測、相當動盪的,不存在「穩定」一說,某個項目一夜之間就消失不見了也很正常;硬要說的話,可能交易所算是相對穩定的。
所以說,想入 Web3 這行,必須接受工作的不穩定性,大力地擁抱不確定性 —— 讓自己變得富有彈性、靈活性,能夠快速且高效地學習新知識,以應對不斷的變化。
對於自稱「獨立開發者」的我來說,自然不會將收入鎖死在「打工(找工作)」這一個選項上,而是要豐富其多樣性。
除了《開發者,獨立吧!》中「老生常談」的那些之外,在 Web3 圈子裡又多了「賞金任務」和「黑客松」這兩別具風味的 —— 當個「賞金獵人」也很不錯!
黑客松的體驗#
作為在國內 Web3 開發者圈子裡也算有些影響力的 OpenBuild,不算「Web3 前端訓練營」還組織了很多活動,包括剛剛結束的「ETH Shenzhen」。
這届「ETH Shenzhen」包含兩部分:分享與圓桌會議;黑客松比賽。其中,黑客松參賽隊伍若未獲獎,廣東省外的會有差旅補助。
在大會開始的半個月前,有個訓練營學員專屬的線上黑客松,實際可以認為是與「ETH Shenzhen Hackathon」進行聯動的環節,兩者可用同一個項目,於是我就順勢都參加了。
在參加訓練營之前,我就有了以自身為中心社區化發展成為類 DAO 組織的想法;訓練營學習中做 NFT market 時,讓我覺得那個想法具備一定可行性。
那不如借助參加黑客松這個機會,使其更為具像化一些,作為參賽項目,日後成為我「互聯網自由宣言」陣營的另一個作品!
參賽項目介紹#
經過一天左右的思索,我確立了項目的名字與定位 ——
中文名為「吾界」,英文則是「Selfverse」,它們都表達了同一個意思 ——「(自)我」就是「世界」或「宇宙」本身。
我們所看到的世界,是內心世界的呈現;若想活得精彩,就得先豐富充盈自己的精神,以形成較為健全的、體系化的、內外循環的「生態系統」。
真實、完整的「自我」往往隱藏得很深,與他人進行交互的是經過層層過濾且一定程度上粉飾過的「人格面具」。
這在現實生活中自不用說,即便互聯網有匿名性的特點,絕大部分人也不得不或多或少地遵守人際交往中的那些「潛規則」。
當下的日常生活越來越離不開互聯網,很多人需要在網上維持相對穩定的「人格面具」,尤其是借助於數字手段靠它維生甚至致富的人,像自由職業者、獨立黑客、數字遊民等等。
有些流行的、更通俗易懂點的詞可以把「人格面具」給換掉 —— 人設、影響力、個人品牌、超級個體……
定位是提供一系列工具作為基礎設施幫助有需要的人更輕鬆地打造「人格面具」,並促進加強人與人之間「連接」的緊密性。
用不拘泥於區塊鏈的去中心化技術,以去中心化的方式為使用者解決問題,將部署、托管、管理等使用層面的選擇權交給他們。
本項目為我設想中的「面向個人與家庭去中心化及數智化方案」的重要一環,未來會與 LinXoid 及 KnoSys 進行深度整合。
線上黑客松#
訓練營線上黑客松的比賽時間雖寫著是 8 月 1 日到 10 日,但宣發時 1 日這天基本已經結束,並且要在 10 日下午 2 點前提交,因而實際開發時間很可能不足 8 天。
具體到我身上的話,是 3 日中午開始進入開發,先寫支持 RBAC 的智能合約,于 5 日單元測試通過;從 6 日起編寫前端界面,本以為兩天就可搞定,結果沒想到是我低估了角色權限控制相關處理的複雜度,最終在 9 日下午聯調完成。
接著就是準備項目的介紹材料,並以 PR 的形式提交到訓練營 GitHub 倉庫中,時間十分緊迫!
由於我的項目想法太大,在如此短暫的時間內實現全部已有構思是不可能的,所以只能先做一小部分功能:
為了節約開發時間,前端 UI 組件庫我選擇的是用起來比較熟悉的 Ant Design 與 Ant Design Web3,並且用 Vite 部署為純前端單頁應用。
線下黑客松#
雖說「ETH Shenzhen Hackathon」可在線上參與,但最好還是到線下場所去,會有很多不一樣的感受。
這個黑客松於 8 月 16 日下午至 18 日晚上在深圳舉行,我需要乘飛機前往,為提高容錯性而買了 15 日航班的機票。
16 日的第一個環節是黑客松參賽人員簽到,會得到專屬紙製腕環以區分身份;在 X 上完成互動還有含文化衫、帽子、袋子等的「大禮包」可拿,與訓練營時收到的完全不同,全新設計!
然後是接連幾個贊助方的工作坊 —— 開場的那個可能是準備不夠充分,秀了一波現場 debug 技能,導致沒有順利講完;忘記是在第二個還是第三個時,我離場去寫自己項目代碼了。
要是看了上文中的視頻,可以發現付費作品只是個空殼子,並沒有實際內容,就像買了本只有封皮而無內頁的書一樣 —— 參賽這幾天主要就是解決這個問題。
為此,我要做如下處理:
- 增加文章模塊,站長新增、編輯和發布,訪客瀏覽與打賞;
- 改造付費作品模塊,站長將文章作為章節與其關聯,訪客能看到目錄並查看實際內容;
- 增加基金模塊,在背後統一控制付費和打賞的資金流轉,以將其集中在同個智能合約中;
- 增加訪客獨有的個人中心,可查看自己的付費與打賞記錄。
我先把相較簡單的訪客個人中心給做了,因覺得用戶標識只用錢包地址的話會顯得過於蒼白、單調,就加入了像 MetaMask 那樣根據地址生成的 Jazzicon,並將所有頭像都改成這個。
接下來,把之前已經想了一些邏輯的代幣基金、系統設置、用戶登記等智能合約代碼給寫寫完,就差不多到破冰派對環節了。
主辦方點了烤串、披薩、炸雞、啤酒、汽水等外賣到會場,看到吃的喝的大家都一擁而上,很快就分完,也顧不上聊什麼天 —— 看來都餓壞了……
這一天我輕微地 social 了下,有在杭州就已見面交流過的,也有事先在網上建立了一定程度的連接,這次是首次面基的。
回到酒店後比較晚了,我項目的這個版本還是有些開發工作量的,時間較為緊張;鑑於我不想準備路演用的屁屁踢,這兩天必須得開發完畢 —— 我決定碼力全開熬夜幹!
聽著許巍、BIGBANG 等人的歌,把文章智能合約寫完以及與資金流轉相關的部分智能合約調整好沒問題之後我就睡覺了,那時馬上凌晨 4 點。
後兩天的流程大體相似:
- 不到 9 點抵達會場,簽到後轉悠一圈就去 coding 區域趕項目代碼;
- 中午就吃主辦方提供的盒飯,都帶湯,也都有牛肉;
- 下午做些與項目相關的事情,或是撸碼,或是講解;
- 晚上參加主辦方組織的聚餐,切換到 social 模式。
那些嘉賓的分享我幾乎沒去聽,而是全力備戰最後一天下午的路演,為此我 17 日晚上真的通宵達旦,總算把剩餘功能基本都搞定,這下可以安心了!
到了 18 日,把項目收收尾後,我迫不及待地想跟他人分享下自己的項目,於是拎著電腦到前台附近找在做大會志願者的同為訓練營學員兼助教的人,正好他沒在忙。
我坐在他旁邊,邊用電腦演示邊講解功能,還說了一些較為遠期的構想,如:把自己作為價值承載物吸引他人投資,向投資者發放代幣以證明其權益,日後達成某(些)條件時可獲得回報。
這是我第一次這麼詳細地向別人介紹我的項目,在說的時候心中有種激動之情;他有認真地聽我在那「吹牛逼」,不僅說出了自己的理解,還給了一些建議。
終於到了路演環節,大概 30 來個參賽項目,給每個項目 10 分鐘,全部搞完再算上中斷休息等時間,總共要奔 5、6 個小時去 —— 我是第 10 個。
由於我的項目要演示完整功能流程的話,無法 10 分鐘內完成,就在到我之前先把初始化配置弄好,演示用數據加好,以節省上台後的時間。
在我正式路演時,幾乎沒有再做什麼數據變更操作,而是對著已添加好數據的網頁介紹;僅僅這些就已經差不多把時間佔滿,只給評委留出提兩個問題的餘地……
要問我上台緊張嗎?意識層面的回答是「不」,並沒有心裡忐忑等感受,可能是做自媒體拍 vlog 鍛鍊出來了;但我身體好像不這麼覺得,還沒說幾句話聲音就開始顫抖了,後面我一直在調節控制。
我項目所參加的主賽道是「開源工具與基礎設施」,使用方式有點類似於 WordPress;並且項目背後的理念和設想自認為比較新穎,需要對潛在用戶進行長期教育與培養,因此暫無商業化的想法。
然而,縱然我已事先聲明,評委依然問出了相關問題,這令我有些尷尬,不知該怎樣回答他們……
黑客松結束了,晚上放鬆地與 OpenBuild 及訓練營的小夥伴們一起吃了這趟深圳之旅的最後一頓晚餐,次日我就乘飛機回杭州了。
黑客松的感想#
我認為自己的路演是失敗的,感覺獲獎的希望極其渺茫,只要不是 0 分,就是對我最大的認可!
雖說在 10 分鐘內說清楚我的項目是辦不到的,但這不能作推脫的說辭,尚有很多改進空間,如:
- 即使功能已經做得相對完整,只有應用演示的話還是不夠,屁屁踢不可或缺;
- 說話的語速有點慢,表達過程沒什麼節奏可言,在我後面有兩個連著的項目讓我聽得酣暢淋漓,十分享受,要向他們學習;
- 在路演前的那些時間裡多跟評委接觸,多介紹下自己的項目,這就相當於延長了自己路演的時間。
這下我領悟到了,打黑客松也是在下一盤棋 —— 整場比賽中,給開發、路演材料準備、social 之類的時間占比如何分配,這會影響到實際工作量與 social 對象等的設計與安排,從而影響獲獎概率。
黑客松於我而言有兩種意義:
- 做自己的項目時如同創業,那些評委就像是投資機構的,得通過優雅的表達打動他們,獲得獎金就是拿到投資了;
- 做他人的項目時就算是一個賞金任務,用自己的專業能力助其獲獎並瓜分獎金作為報酬,只不過對做賞金任務來說,這報酬有更高的不確定性。
除了寫代碼,這幾天我在 social 上也比往日投入了更多精力,以前我在線下是不太愛說話的,主要是在聽別人說;而這次我不僅較積極地被動式交流,也會主動去跟別人說話,包括完全陌生的人。
但還是有所不足,因為我 social 的對象基本都是之前已經有一定聯繫的了,「全新」的極少極少。
像這類技術性活動很多技術人會有個誤區 —— 為學習技術而參加 —— 抱有這種想法的人,最終大概率會失望而歸。
以前我就是這種人之一,在 2017 年前總會參加各類技術性活動,但很少使我有「學到了」的感覺,大多時候是「不過如此」,因而直到今年之前我就沒再參加過。
如今我的看法改變了,參加活動更重要的是了解業界動態,與他人交流並建立深度連接,進而尋覓合作的可能性 —— 這些是對自稱「獨立開發者」的我來說提高事業成功率的關鍵。
總結#
至此,我這 3 個月左右的從傳統互聯網行業 Web 前端工程師向 Web3 行業全棧工程師轉型的初期階段經歷總結就結束了。
對我來說,由於有豐富的知識與經驗所形成的抽象模型網絡在背後做支撐,轉型從技術層面講難度不算大,稍有難度的是從龐雜的區塊鏈體系和多變的 Web3 行業中提煉出較為穩固的模型,並積累有價值的項目經驗。
要入 Web3 這行,就得在思想上堅定地撕下「穩定」這塊狗皮膏藥,「靈活」及「高效」才是自己最大且最強的武器!