論一個自毀傾向社群的形成
有關自學的公開秘密
俗話說:“開始回憶過去才標誌進入老年”
對應斷言則是:“人類的進步根源在 — 一向沒從歷史中學到什麼教訓”
結合起來理解, 應該就是:
經驗其實並沒什麼用?
但歷史故事卻總是很有市場,那麼俺就專注說說故事吧,私人的……
每個好故事都必須狗血開篇
從 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
一步步演化來的 蟒營, 應該說, 綜合上古時代, 網際網路技術愛好者們共同自學經歷, 結合知識管理思想, 基於實踐型社群, 形成以 Python 為入口, 重獲綜合自學能力的課程:
伴你重新享受自學的樂趣
Reactivate Joy by Self-teach with You
第二期入門班正在報名, 希望有效獲得程式設計經驗請訪問:
本文作者:
Zoom.Quiet (大媽)
Python 中文社群創始成員 / 管理員;
熱心於 Python 社群公益事業,
作為大家熟知的社群“大媽”,
因主持 OSTC 2015 “程式媛專場”,坐實這一稱號,得到廣大程式猿認可;
OBP 及蟒營工程設計者 /主持人;
主持編撰“可愛的 Python”/“真實世界的 Python 儀器監控”等技術圖書;
參與並主持各種線上 / 線下活動,
堅持用 Pythonic 感化國人進入 FLOSS 世界進行學習 / 分享 / 創造…
PS:
題圖是出自書法世家的 吳雅婷 小姐姐,
她還曾為 PyCon2015China T裇題字,紀念衫深得 Guido 老爹讚賞。
相關文章
- Python 短文字自動識別個體是否有自殺傾向Python
- python與nodejs寫爬蟲你更傾向於哪個一個?PythonNodeJS爬蟲
- 研究人員釋出了第一個判斷“遊戲障礙”傾向的心理測試遊戲
- 一次推送,毀掉一個公司
- 低智商者更傾向強烈的音樂?
- 《Below》:一個走向自我毀滅的克式冒險
- 一種自平衡解決資料傾斜的分表方法
- SQL查詢一年的十二個月份,形成報表SQL
- Gmail“自毀”功能引擔憂 或被政府利用摧毀紀錄AI
- 一次向linux開源社群提交補丁的經歷Linux
- NVO.US:研究顯示諾和諾德司美格魯肽與自殺傾向關聯
- 使用beego擼了一個社群Go
- 用thinkphp開發的一個集問答、論壇、小說、圈子等大型程式設計社群,PHP程式設計
- 此貼討論一下 AI 在 UI 自動化中的應用,以及個人的一個想法AIUI
- 自媒體-社群
- 受不了了,learnku社群這個評論框我真是服了
- 兩個會話分別只執行一個SQL,可能形成死鎖嗎會話SQL
- 硬幣系列三 | 硬幣自動分類的一個論文復現
- 即便遊戲提供了壞人路線,大多數人還是傾向於做個好人遊戲
- Redis ORM是一個可怕的主意嗎? -DEV社群RedisORMdev
- 【終極指南】使用Python視覺化分析文字情感傾向Python視覺化
- 實現一個前向渲染的Phong模型(一)模型
- 社群團購的戰火,正在燒向哪裡?
- 高山是如何形成的
- 從一個罕見案例聊聊我對社群的看法
- 向大家分享一個shell指令碼的坑指令碼
- 如果社群出一個 Beego 教程就好了Go
- 如何養一個高活躍度社群?
- 毀滅程式設計師效率的 15 個障礙程式設計師
- 來自一個小白的祝福
- 兩個技術小錯誤會毀掉一場風暴事件事件
- Hibernate 一個更新問題的 討論
- 【老師見打系列】:我只是寫了一個自動回覆討論的指令碼~指令碼
- iOS開發UI篇--使用UICollectionView實現一個傾斜列表效果iOSUIView
- 語言的力量主要來自於社群
- 奈飛傾向於使用速度優先的快速資料壓縮演算法演算法
- 74%的玩家傾向於雲遊戲採取訂閱制 而非直接購買遊戲
- 分享一個高顏值的技術社群 HackerTalk黑客說黑客