論一個自毀傾向社群的形成

大媽發表於2019-07-11

論一個自毀傾向社群的形成

有關自學的公開秘密

俗話說:“開始回憶過去才標誌進入老年”

對應斷言則是:“人類的進步根源在 — 一向沒從歷史中學到什麼教訓”

結合起來理解, 應該就是:

經驗其實並沒什麼用?

但歷史故事卻總是很有市場,那麼俺就專注說說故事吧,私人的……

每個好故事都必須狗血開篇

從 Pascal 到 Python

90 年代,大家如果看穿越小說就知道,那是中國開始騰飛的年代,計算機專業最火的年代。

俺也無法逃避歷史規律,

又因為是第一批宅文化受洗者,從海南攝影美術出版社開始,深度沉迷在日本漫畫/動畫中,並且,在廣州無意間看到深夜轉播香港電視臺的:“アキラ”,驚為天人;

也進一步明確,3D 動畫是趨勢,所以,專業選擇計算機及應用;以便日後轉向 3D 動畫製作,畢竟, 3D 動畫是隻能由電腦生成了嘛; 可以說, 當年的內心戲非常中二了;然而按部就班四年讀下來:

  • Pascal
  • 彙編
  • C
  • C++

同時利用圖書館資源, 自學 JAVA 以及 Photoshop/3DMAX/Flash/… , 結果發現:

  • 畢業了, 依然不知道如何獨立完成一個軟體的構造和釋出
  • 同時, 美術能力,並不是會幾個繪圖軟體就能自動生成的

不甘心, 畢業找到一個小廣告公司, 全職折騰排版/圖片處理/圖形繪製/… 期間用業餘時間嘗試獨立完成美術作品:

  • 用兩個月, 才邊學邊用 Illustrator 9.0 所有可用功能, 將 CLAMP 的作品 – “聖戰”中一幅彩頁復刻出來
  • 用兩個星期, 才能在 Flash 2.0 上完成一個 10 秒左右動畫場景

進一步在市電視臺, 瞭解到進行影片編輯的 SGI 工作站都是 20 萬美元起… 計算一下自己當時工資, 得上百年才買得起。

而工作一年的我, 連拼裝相容機都買不起; 生活所迫, 聽從同學勸告去上海, 回到軟體行業。

雖然, 當時已有一年多沒怎麼程式設計了, 只是習慣性的關注技術動向, 看過幾眼 ASP;

好在整個兒行業也都在初期, 就憑那種勇於看文件照著瞎搞下來的經驗, 也透過了面試, 回到程式碼世界。

那時, 還沒有全棧工程師概念,但實質已經在承擔相同職責了, 崗位是軟體工程師, 而在公司看來一切和電腦相關的都歸軟體管, 所以:

  • 用 ASP 開發產品後臺
  • 用 Dreamwave 設計網站,用 Firework 完成網頁特效, 用 Flash 製作動畫barnner
  • 用 IIS 釋出網站
  • 用 Access 資料庫提供支援
  • 網路配置
  • 電腦修理

算是暫時在魔都立足生存下來了;

恢復自學習慣, 週末去公司用企業網路搜尋國外技術資源下載/整理/實驗…

從大學時代就知道 Linux 的傳奇, 於是當然的在舊機器上開始嘗試安裝 RedHat 2.4, 首個可以郵購光碟的版本, 之前都是幾十張軟盤的發行版。

然後, 實驗 LAMP :

  • Linux
  • Apache
  • MySQL
  • PHP

這是當前至高技術組合;

為了在 Linux 上覆現 ASP 那種流暢的開發/執行/除錯體驗, 折騰了整整3個月, 因為那時中文資料很少, 又還沒習慣官方英文文件 , 加上網路還只是 512K …

總算 PHP 入門了, BBS 也知道怎麼架設了,但是, 為了一個功能網頁要從系統到Web 服務到資料庫都要折騰一遍的體驗, 實在太麻煩了…

這時, 注意到 Zope, 全新網際網路應用開發機制, all-in-one 的開發者/除錯/執行整合環境…

雖然中文資料幾乎沒有, 但竟然已經有中文技術社群了——CZUG.org(China Zope User Group):

  • 是潤普公司, 用 Plone 1.0 釋出的一個綜合 CMS 網站
  • 開放註冊, 能在其中 BBS 版塊可以自由討論
  • 甚至於開放了一定介面,允許使用者定製網站介面;
  • 正好綜合自己的技能, 貢獻了幾個

以此為契機, 接觸到了 Python / 自由軟體 / 開源技術社群 /… 業餘時間多數不是在郵件列表中被人罵笨, 就是在 BBS 中被人罵笨; 但是, 技術是切實在跌跌撞撞過程中學到了;

也有能力反饋社群, 再透過部署釋出 moinmoin 維基服務給啄木鳥社群, 進而參與線上協同開發專案, 完成了幾個基於 Python 的小模組, 才知道, 釋出任務的大牛, 是 SINA 技術部領導, 從而獲得了 SINA 的面試機會, 北漂帝都, 技術成長開始加速.

回想這個階段, 最大的變化是不再獨自折騰, 而是:

  • 第一時間註冊社群列表/BBS
  • 任何實踐/問題都及時反饋給社群
  • 積極回答自己知道的折騰過的問題
  • 也積極發表看法, 和其它學習者相互印證
  • 並開始有意識的收集好文章/資料/網頁

建立自我檢驗機制

如何一週學會一門新語言?

光陰似箭, 幾年過去, 也從 SINA 進入金山, 南下到珠海, 之前透過成立 CPUG(China Python User Group, 中國Python 使用者組), 在北京主持了 47 場線下分享活動, 也線上上用 code.google 專案託管服務完成了幾本圖書的翻譯, 更是參加以及組織了一系列社群, 自己也無意間變成 大媽

因為組建團隊, 不得不開始面試, 才發現, 社群中聚集起來那麼多靠譜工程師, 並不是能直接轉化為自己同事的。

而人才市場上基本都是有證照無對應能力的工程師原胚;

剛好當時在探索 知識管理, 根據有限的幾本書, 結合自己以往技術社群體驗, 一衝動就認領了金山大學的任務, 負責對內部培訓,將實習生中對 Python 有興趣的畢業生, 快速轉化為軟體工程師;

為了最小化指導時間, 將課程設計為專案驅動式:

  • 不教 Python 本身, 只快速展示合理的 編寫-執行-除錯 工具鏈
  • 從一開始就直接分組, 各組自行設立目標作品
  • 立即進入敏捷開發迴圈:
    • 配置好專案託管(Trac)+郵件列表
    • 每天下午進行站立會議, 公開逐一闡述:
      • 完成了什麼
      • 沒完成什麼
      • 需要什麼幫助
      • 明天計劃完成什麼
    • 現場實時點評
    • 其它時間, 透過網路隨時回答
  • 每週 5 下午, 進行一次版本迭代釋出會
  • 連續 8 周, 8 個作品, 5 個可用
  • 全部學員養成團隊協作節奏
  • 大半學員透過用人部門考核

簡單說, 就是在企業內部, 構造出一個主題技術社群, 以原創產品為目標, 驅動學生直接針對具體問題來自學,

同時, 用定期會議控制節奏,配合隨時提供軟體工程涉及所有方面的指導,

好在使用專案託管系統, 對內所有資訊共享, 那麼相同問題, 只要回答一次, 再次發生時, 給個連結就好。

經過那次實踐, 算是形成了明確的自學框架。

後來有機會為公司構建開源社群, 為了推廣公司安全服務介面, 嘗試用相同方法, 快速自學新技術棧完成小工具來演示和推廣介面:

  • 自學一週 golang ,完成 CLI 檢驗原型工具
  • 自學一週 node.js, 用 CoffeeScript 釋出單一功能 API
  • 自學一週 chrome , 完成 crx 擴充套件外掛工具
  • 自學一週 lua , 完成 OpenResty 檢驗外掛
  • 自學一週 微信後臺, 基於 SAE 完成檢驗功能

也都轉化為線上教程: http://chaos2.zoomquiet.top

那之後, 就有信心傳播 Feynman 技法是對的:

如何證明自己學會了?

能教會其它人時...

進一步發現必需支援

環境和目標

金山大學中 Python 訓練營代號: PythoniCamp, 簡稱 蟒營

後來透過金山高校聯盟, 在本地幾個大學試點過幾期:

  • 時間縮短到 6-4 周
  • 專案託管也遷移為外部的 code.google(是的,那時 GitHub 還沒有釋出)
  • 其它基本不變

但是, 發現學生和實習生, 心態完全不同, 沒經歷過人才市場碾壓, 進入大學就開始放飛的學生, 明顯對這種連續迭代的節奏不適應, 或是說, 不想適應…

後來, 有幾位學生畢業後, 進入金山, 前後對比, 才發現蟒營當時的所有要求, 都是軟體工程師的最低職業要求… 這才重新理解, 並認同蟒營的 教學反轉 過程。

透過持續交流, 以及後來 GDG 社群各種校園活動的展開, 也慢慢認識到, 技術社群式自學 想成立, 不僅僅需要線上專案空間,

更加重要的是:

  • 關注所有成員成長的社群氛圍
  • 懟事不懟人全員平等的社群關係
  • 作品目標明確的版本迭代共識
  • 標準規範的提問機制和行文禮節

加速自毀的努力

自豪的自毀是種覺悟

又近 10 年過去, 隨著大資料/AI 的興起, Python 重新回到大眾視野, 各種培訓班/線上課程扎堆暴發。

但是, 軟體行業和其它行業不同:

  • 其它行業的技術發展目標都是令本行業永續發展
  • 而軟體行業相反:
    • 甚至於, 軟體這個概念本身的提出目標, 也是為了輔助機械替代人來勞動
    • 即,軟體行業的努力目標就是透過提升軟體能力
      • 直到軟體可以自動生成新軟體
      • 從而不再由人來寫軟體
    • 也就是說, 軟體行業的目標就是消滅軟體行業

這當然也是 IT 技術圈一慣的自食風骨, 比如說:

GNU

~ GNU is Not Unix

綜上, 在這麼多年開發/社群/培訓的實踐/嘗試/積累後, 發現正確的程式設計培訓姿勢:

  • 不對程式語言或是具體框架/軟體進行講解(官方文件足夠權威和充分了)
  • 應該專注激發原有自學能力
    • 直接透過程式設計體驗的積累
    • 獲得可以自學任何 IT 技術的習慣
  • 從而, 再也不用參加任何入門培訓班

所以, 和軟體行業一樣:

蟒營

就是為了消滅蟒營本身

而設計出來的課程

要知道, 我們在嬰兒階段, 任何自然語言都不會時, 僅僅透過有限的對話嘗試,就能在兩年以內, 用沒發育好的大腦, 對世界上最複雜的語言 — 漢語, 完成完美自學,

這足以證明, 所有中國人都有完美的自學能力(無論哪種嚴格意義上)。

只是, 在透過近 20 年系統教育後, 被體制化消滅/壓制了這種天然自學能力; 轉而迷信權威/教材/考試/要點/學習方法/….

畢竟, 我們的高等教育源自蘇聯產業工人的大規模培訓體制。

而當前高速發展的智慧移動網際網路時代, 手機已經變成人體器官, 程式設計能力也演變為基本社會能力。

PythoniCamp 一步步演化來的 蟒營101.camp, 應該說, 綜合上古時代, 網際網路技術愛好者們共同自學經歷, 結合知識管理思想, 基於實踐型社群Community of Practise, 形成以 Python 為入口, 重獲綜合自學能力的課程:

伴你重新享受自學的樂趣

Reactivate Joy by Self-teach with You

第二期入門班正在報名, 希望有效獲得程式設計經驗請訪問:

https://py.101.camp/


本文作者:

Zoom.Quiet (大媽)

Python 中文社群創始成員 / 管理員;
熱心於 Python 社群公益事業,
作為大家熟知的社群“大媽”,
因主持 OSTC 2015 “程式媛專場”,坐實這一稱號,得到廣大程式猿認可;
OBP 及蟒營工程設計者 /主持人;
主持編撰“可愛的 Python”/“真實世界的 Python 儀器監控”等技術圖書;
參與並主持各種線上 / 線下活動,
堅持用 Pythonic 感化國人進入 FLOSS 世界進行學習 / 分享 / 創造…

http://zoomquiet.io/

PS:

題圖是出自書法世家的 吳雅婷 小姐姐,

她還曾為 PyCon2015China T裇題字,紀念衫深得 Guido 老爹讚賞。

論一個自毀傾向社群的形成

相關文章