NC0:一个自毁倾向社区的形成

有关自学奥密的公开

俗话说:"开始回忆过去才标志进入老年"

对应也有断言:"人类的进步根源在 --- 从历史中一向没学到什么教训"

结合起来理解, 应该就是 -> 经验其实并没什么用?

但历史故事却总是很有市场, 那么俺就专注说说故事吧, 私人的...

每个好故事都必须有狗血开篇

从 JAVA 到 Python

90年代, 大家如果看穿越小说就知道, 那是中国开始腾飞的年代, 计算机专业是最火的年代. 俺也无法逃避历史规律, 不过, 因为是第一批宅文化受洗者, 从海南摄影美术出版社开始, 完全沉迷在日本漫画/动画中, 并且, 在广州无意间看到转播香港电视台深夜播放的:"アキラ",

惊为天人, 也进一步明确, 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 数据库提供支持
  • 网络配置
  • 电脑修理
  • ...

算是暂时在魔都立足生存下来了;

周末去公司用企业网络搜索国外技术资源下载/自学/实验... (是的, 那时还没有功夫网, google 还只是众多搜索引擎中的一个)

从大学时代就知道 Linux 的传奇, 于是当然的在旧机器上开始尝试安装 RedHat 2.4, 首个可以邮购光盘的版本, 之前都是几十张软盘的发行版.

ASP 当然无法运行在 Linux 中了, 那时至高组合是 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 版块可以自由讨论

哗, 相比 PHP 只有 BBS , CZUG 甚至于开放了一定接口, 允许用户定制网站界面; 正好综合自己的技能, 贡献了几个 ()

以此为契机, 接触到了 Python , 再通过部署发布 moinmoin 维基服务,给啄木鸟社区, 从而获得了 SINA 的面试机会, 从上海北漂帝都, 技术成长开始加速.

回想这个阶段, 最大的变化是不再独自折腾, 而是:

  • 第一时间注册社区列表/BBS
  • 任何实践/问题都及时反馈给社区
  • 积极回答自己知道的折腾过的问题
  • 也积极发表看法, 和其它学习者相互印证
  • 并开始有意识的收集好文章/资料/网页

建立自我检验机制

如何一周学会一门新语言?

光阴似箭, 几年过去, 也从 SINA 进入金山, 南下到珠海, 通过成立 CPUG(China Python User Group, 中国Python 用户组), 在北京主持了47场线下分享活动, 也在线上用 code.google 项目托管服务完成了几本图书的翻译, 更是参加以及组织了一系列社区, 自己也无意间变成 大妈 (ZoomQuietAbt - Woodpecker Wiki for CPUG(https://wiki.woodpecker.org.cn/moin/ZoomQuietAbt))

因为要组建团队, 不得不开始面试, 才发现, 社区中聚集起来那么多靠谱工程师, 并不是能直接转化为自己同事的.

而人才市场上基本都是有证书无对应能力的工程师原胚;

刚好当时在探索 知识管理, 根据有限的几本书, 结合自己以往技术社区体验, 一冲动就认领了金山大学的任务, 负责对内部培训,将实习生中对 Python 有兴趣的毕业生, 快速转化为软件工程师;

为了最小化指导时间, 将课程设计为项目驱动式:

  • 不教 Python 本身, 只快速展示合理的编写->运行->调试循环工具链
  • 直接分组, 各组自行设立目标作品
  • 立即进入敏捷开发循环:
    • 配置好项目托管(Trac)+邮件列表
    • 每天下午进行站立会议, 公开逐一阐述:
      • 完成了什么
      • 没完成什么
      • 需要什么帮助
      • 明天计划完成什么
    • 现场实时点评
    • 其它时间, 通过网络随时回答
  • 每周5下午, 进行一次版本迭代发布会
  • 连续8周, 8个作品, 5个可用
  • 全部学员养成团队协作节奏
  • 大半学员通过用人部门考核

简单说, 就是在企业内部, 构造出一个短期技术社区, 以原创产品为目标, 驱动学生直接针对具体问题来自学, 同时, 定期+随时, 提供软件工程涉及所有方面的指导, 又因为使用项目托管系统, 对内部所有信息共享, 这样相同问题, 只要回答一次, 再次发生时, 给个链接就好.

经过那次实践, 算是形成了明确的自学框架.

后来有机会为公司构建开源社区, 为了推广公司安全接口, 尝试用相同方法, 快速自学新技术栈完成小工具来演示接口使用:

  • 一周自学 golang ,完成 CLI 检验原型工具
  • 一周自学 node.js, 完成 CLI 检验原型工具
  • 一周自学 chrome , 完成 crx 扩展插件工具
  • 一周自学 lua , 完成 OpenResty 检验插件
  • 一周自学 微信后台, 基于 SAE 完成检验功能
  • ...

也都转化为在线教程 -> http://chaos2.zoomquiet.top/

那之后, 才有信心传播 Feynman 技法是对的:

如何证明自己学会了?
能教会其它人时...

进一步发现必需支持

环境和目标

金山大学中 Python 训练营代号: PythoniCamp, 简称 蟒营 ,

后来通过金山高校联盟, 在珠海几个大学试点, 也主持过几期:

  • 时间缩短到6-4周
  • 项目托管也迁移为外部的 code.google (是的,那时 github 还没有发布)
  • 其它基本不变

但是, 发现学生和实习生, 心态完全不同了, 没经历过人才市场碾压, 进入大学就开始放飞的学生, 明显对这种连续迭代的节奏不适应, 或是说, 不想适应...

后来, 有几位学生毕业后, 进入金山, 前后对比, 才发现蟒营当时的所有要求, 都是职业软件工程师的最低要求... 这才重新理解, 并认同蟒营反教学过程.

通过持续交流, 以及后来 GDG 社区各种校园活动的展开, 也慢慢认识到, 技术社区式自学 想成立, 不仅仅是线上项目空间,

更加重要的在:

  • 关注所有成员成长的社区氛围
  • 怼事不怼人全员平等的社区关系
  • 作品目标明确的版本迭代共识
  • 标准规范的提问机制和行文礼节
  • ...

加速自毁的努力

自豪的自毁是种觉悟

随着大数据/AI 的兴起, Python 重新回到大众视野, 各种培训班/线上课程扎堆暴发.

但是, 软件行业和其它行业不同:

  • 其它行业的技术发展目标都是令本行业永续发展
  • 而软件行业相反:
    • 甚至于, 软件这个概念本身的提出目标, 也是为了辅助机械替代人来劳动
    • 即,软件行业的努力目标就是通过提升软件能力
      • 直到软件可以自动生成新软件
      • 从而不再由人来写软件
    • 也就是说, 软件行业的目标就是消灭软件行业

这当然也是 IT 技术圈一惯的自食风骨, 比如说:

GNU
~ GNU is Not Unix

综上, 在这么多年开发/社区/培训的实践/折腾后, 发现正确的编程培训姿势:

  • 不对编程语言或是具体框架/软件进行培训
  • 专注激发原本就有的自学能力
  • 通过编程体验的积累
  • 获得可以自学任何 IT 技术的习惯
  • 再也不用参加任何入门培训班

所以, 和软件行业一样:

蟒营
就是为了消灭蟒营本身而设计出来的...

要知道, 我们在婴儿阶段, 任何自然语言都不会时, 仅仅通过有限的父母对话,就能在两年以内, 用没发育好的大脑, 完成世界上最复杂的语言 — 汉语的自学,

足以证明, 所有成人都有无论哪种严格意义上完美的自学能力.

只是, 在通过近20年系统教育后, 被体制化消灭/压制了这种天然自学能力; 转而迷信权威/教材/考试/....

毕竟, 我们的高等教育源自苏联产业工人的大规模培训体制.

而当前高速发展的移动互联网时代, 手机已经变成人体器官, 编程能力也在演变为基本社会能力.

从 PythoniCamp 一步步演化来的 蟒营(101.camp), 就是复制笔者私人自学经历, 结合知识管理思想, 使用自学社区形式, 形成以 Python 为入口, 重获综合自学能力的课程:

伴你重新享受自学的乐趣
    Reactivate Joy by Self-teching with You

https://py.101.camp/

PS:

首发: Linux中国




自怼圈/年度番新

DU22.8
关于 ~ DebugUself with DAMA ;-)
点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

订阅 substack 体验古早写作:


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


蟒营®编程思维提高班Python版

**2021.01.11** 因大妈再次创业暂停定期开设, 转换为预约触发:
  • + 扫描预约入群, 学员每满 42 人即启动新一期训练营 ;-)
  • 101camp22.7
  • + 任何问题, 随时邮件提问可也:
    askdama@googlegroups.com