![](https://static.studygolang.com/190712/e166d373ca39c26c8c92b50ad98e0287.jpg)
有关自学的公开秘密
俗话说:“开始回忆过去才标志进入老年”
对应断言则是:“人类的进步根源在 — 一向没从历史中学到什么教训”
结合起来理解, 应该就是:
经验其实并没什么用?
但历史故事却总是很有市场,那么俺就专注说说故事吧,私人的……
每个好故事都必须狗血开篇
从 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
第二期入门班正在报名, 希望有效获得编程经验请访问:
本文作者:
Zoom.Quiet (大妈)
Python 中文社区创始成员 / 管理员;
热心于 Python 社区公益事业,
作为大家熟知的社区“大妈”,
因主持 OSTC 2015 “程序媛专场”,坐实这一称号,得到广大程序猿认可;
OBP 及蟒营工程设计者 /主持人;
主持编撰“可爱的 Python”/“真实世界的 Python 仪器监控”等技术图书;
参与并主持各种线上 / 线下活动,
坚持用 Pythonic 感化国人进入 FLOSS 世界进行学习 / 分享 / 创造…
PS:
题图是出自书法世家的 吴雅婷 小姐姐,
她还曾为 PyCon2015China T裇题字,纪念衫深得 Guido 老爹赞赏。
![](https://static.studygolang.com/190712/04f2b353c32260a2186ca733fb58f615.jpg)
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)