❏ 站外平台:

论一个自毁倾向社区的形成

作者: 大妈

| 2019-07-11 11:29   评论: 3    

有关自学的公开秘密

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

对应断言则是:“人类的进步根源在 — 一向没从历史中学到什么教训”

结合起来理解, 应该就是:

经验其实并没什么用?

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

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

从 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 老爹赞赏。



最新评论

delrey [Mobile Safari 12.1|iOS 12.3] 2019-07-17 13:06 6 回复
g m
delrey [Mobile Safari 12.1|iOS 12.3] 2019-07-16 15:02 5 回复
Fd
来自120.231.178.247的 Firefox 56.0|Mac 10.12 用户 2019-07-13 00:23 6 回复
是也乎,( ̄▽ ̄)
没想到这篇和 LINUX中国 硬核技术风格完全不搭的私人回顾,
也能用观点的形式来发布,
可见, LINUX中国 的确保持了 LINUX 世界那种无法从精神还是到技术都开放开源....

PPS:
蟒营当期课程 报名截止 190725,
上课时间 190728~190908;

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。