写给深圳首期Python自动化开发周未班的信
你是否做了正确的决定?
深圳首期周未班的同学们大家好,我是Alex, 老男孩教育的联合创始人,Python项目的发起人,51CTO学院连续2届最受学员喜爱的讲师,中国最早一批使用Python的程序员,当然还有一堆头衔,看过我视频的人都知道我喜欢吹nb啦哈, 今天要收着点,讲正事。本来下面的话要在深圳当面跟你们说,但实在北京这边太多事抽不开,只能以这种方式表达了。
2009年我第一次接触Python,源于我做为移动飞信的第一名Linux工程师,一入职就要面临上千台服务器上的应用代码集中部署的问题,那时还没有saltstack\ansibale\jekins等这些好用的软件,我那时只会用shell,写了近千行代码才勉强搞定 这事,但实现的不好,于是我就埋下种子,想做一个通用的运维自动化平台,09年呀, 做运维其实挺容易的,会个apache+tomcat, nagios,lvs懂点就能万八千的。所以没人要求运维会开发,但我想着做平台那个事,于是自学,开始学c++, 结果很痛苦,学java一个月,还是写不出东西,只到无意间看到python , 才有了今天的故事, 我自学了差不多得小2年,才能做出点像样的东西 。 一个批量主机管理程序,像极了现在的ansible, 靠着这个工具,拿到了Nokia\新浪、联想等公司的offer, 12年工资18k还算可以的。那时候 我就觉得,运维要是会了开发,非常有竞争力,之前对软件、系统原理级的东西都不太懂,比如都说不明白线程、进程的关系,消息队列存在的意义不明白 等, 受开发人员鄙视是正常的。anyway, 会了开发后, 我的职业生涯就走的比较顺,先后在金融公司、外企都做过, 最后一份是汽车之家的自动化架构师。
同时,自2012年起,我们开了第1期自动化Python开发班, 做为中国当时最早做Py的机构,比较尴尬,招生难,很多人并不觉得运维需要会开发,觉得运维会个shell就可以了。我当时断言,自动化是大势,不会开发的运维的终将被淘汰,Facebook一个运维可以管2万台服务器,而我在汽车之家时,公司2000台服务器,却需要40个运维管理。效率差在哪呢? 我举个例子,公司每年要进行资产盘点,2千多台服务器的资产到了2014年了,竟然还在用excel表维护, 但资产经常会变化, 加个硬盘、内存, 报废机器、业务 线变更 等经常换,靠 人肉维护 久了, 就会导致不准。 所以年终必须下到几个机房一台一台的再对一遍,几个运维两三天的时间就干这事,有趣的是,那年,他们对完后,发现跟财务 再对的时候 ,还是有20多台对不上, 怎么办?只能再来一遍,费时费力,还没技术含量。 事实上,好多公司的IT系统的自动化程度都是不高的。我做的CMDB项目一期上线后,先实现了资产管理功能 ,自动汇报硬件信息,加了硬盘、内存什么的也会自动在数据库里变更,并且纪录是哪个接口多了块硬盘。从此,运维再也不用下机房盘点了。 其实如果每个运维都会开发的话,你就会自然而然的想办法把各项工作自动化起来,机器能干的绝对不用人。
我讲这个么,只想表达一个观点,运维会开发不应该被当作一个加分项,这应该是必选项,如果不会开发,你就不是一个合格的运维人员。
当然在做的同学可能不全是运维,有可能有些测试,道理 是一样的,一个测试,不会开发,只能进行简单的功能性测试,进行些天天点击鼠标的活的话,一方面是你不受重视,另外你自己也得不到成长 。
无论你做什么工作,只要你长期得不到成长 ,你就会没有成就 感 ,你就会焦虑。 这是每个稍微有些上进心的同学都会有的心理状态 , 当然也有那种在收费站干了16年,被裁员了还死皮赖脸让政府负责的人,这样的人是典型的失败型人格,是注定要被淘汰掉的,我们不去管他。
总之,现在来学这个Python这条路选 的比较对,剩下的就是你要坚持 学完,不要三分钟热度,会编程是个很Cool的事情,期待5个月后你能用Python开发出有趣的项目。
自学vs报班背后隐藏在认知问题
另外,我在跟大家讨论一个小问题,在座的同学,肯定有一些是来这之前自学过的,然后觉得坚持 不下来才来这, 也肯定有人来之前纠结了很久是自学或报班这个事。 我首先恭喜你做了正确决定来这里。不过我想跟你们探讨下你做这个决定背后隐含的一些认知问题
我先说个故事, 前段时间,我参加了一个创业大赛,一堆创业者,玩创业沙盘游戏,这个游戏就像大富翁游戏,总共20步,每走一步要干不同的事,他把创业 的各个环节加到游戏场景里了,比如什么时候招人、融资、卖产品等,5人一组,一共玩3轮,一轮代表创业一年,游戏规则就是最后看哪家公司估值 最高。 我们一共6组,大家的启动资金都是200万, 不同的是,在每一步,每组可以做的选择不同, 比如到招人这一步,你可以选择招普通员工、也可以招经理或总监,当然代价是花钱不同,然后你可以选招研发人才,那你的产品单价就会高,你招运营人才,你的用户留存就高,你招销售人才,你的客户转化 率就高。 总之就是每一步都有很多的变量。第一年下来,我们组估值6千多万,第2年4千多,最后一名1千万, 第二年,我们7个多亿,第2年4亿多,最后一名到了3千万。 第3年下来,我们26亿,第2名10亿左右,我们比他们高2.6倍,最后一名呢,你猜多少? 4千万。几十倍的差距。 起点一样,为什么结果差距如此之大?
通过这个游戏, 我感触颇深, 创业以来,路走的很艰难,最怕没方向 、走错路,导致多年心血功亏一篑,每一步都走的如履薄冰。 这个游戏使我切换到了上帝视角,可以在一天内看到企业在3年里一系列的决策导致的结果,真的是一步错,步步错呀。
游戏的主持人,是《单点突破》的作者张本伟老师,他在游戏开始之前,一直在不断的强调一句话,企业的ceo一定要在对市场格局充分理解的情况设定清晰的战略目标,做一年看三年,即站在3年后看现在,想清楚3年后你们企业 要达到的目标,然后反向分解你现在每一步做的事,这样才不至于走弯。各位没创业,所以可能体会不到,我太有体会了,我只所以怕每步走错, 说白了不就是因为没有清晰的战略目标么?我们只是模糊的觉得要做大、做强, 甚至 上市 。 但什么时候 做多大?怎么做 ? 其实没有认真 思路和规划化,导致 一直都是自然生长的状态,只能摸着石头过河,每走一步都担心掉到河里。
还好,我们老男孩现在终于设定了清晰的战略目标。
anyway, 你说,Alex你扯这么多,到底想表达什么? 我想表达的是,其实我们在坐的各位,是不是也没有清晰的战略目标呢?肯定是的,多数人都是。只有模糊的,没有清晰的。
即都模糊的希望自己变优秀、有长成、挣更多钱, 可是成长多少算是成长呢?什么样算优秀呢? 一年工资涨1千块也叫成长,涨1万也叫成长。 注意了, 重点来了, 如果目标不可量化,就不是清晰的,没有清晰的目标,我们就不会对自己有清晰的要求。很多人成长慢就是因为对自己没要求,混日子就成了可以接受的。 但如果你设定,3年内必须进入BAT,工资必须达到30k, 这效果就完全不一样了,目标清晰了,你就可以分解了,BAT要求是什么呀? 学历够不够?能力够不够,分解到3年里,一一的去实现,3年内,你不断的用这个清晰的目标鞭策自己。3年后,你会发现,你真的就去了BAT。但如果没有目标的话,你现在工资10k, 3年后,达到15,你可能觉得也能接受 。
所以在坐的各位,一定要认真思考一下自己3年的战略目标,到底想成为什么样的人,达到什么样的水平,过什么样的生活,是想三年后还混在基础岗位上,鄙视链的最底端?还是成为受人尊重的架构师、开发负责人等。 当然目标一定要切合实际,你现在挣 10k , 非要3年后挣50k, 目测实现有难度 ,但30k还是努努力就够的到的。
你说,好的老师我明白了,我回头认真思考下目标的事。但这跟我决定来学Python有什么关系呢?
当然有,我Alex从不说废话,哈哈,你决定来这学思考的大多是浅层面上的问题,比如自学效率低呀、坚持不下来呀、不系统呀等。 但少有人从战略高度思考参加培训的意义,参加培训是帮你快速达到你的战略目标。我有的学员,现在广州网易,年薪60多万,刚工作3年。 我也有学生,干了七八年运维了,工资才15k。很大的一个区别就是有人盯着长远目标走,有人只在意眼前。大道理大家都懂,但还是那么多人活成了懂道理的loser。
同学们,你要想尽一切办法用最快的方式实现你的战略目标,不要等,不要拖。因为你一旦达到了第一个目标,比如去bat,30k, 只有你有点上进心,过不了多久,你就又不满足现状了,你就找新目标,可能是年薪60万啦,工资30k的人和10k的人看事情的境界肯定不同。60k与30的也不同,创业者跟打工者更不同。人活者很大的一个意义我觉得就是不断解锁自己的认知层次,逐渐发掘自己生命价值的过程 。
好了,我就说这么多,我一跟从月薪2500的网管,走到运维、运维开发、开发、架构师、cto、合伙人,算是经历了技术人员的各个职业阶段,同时也了解技术从业者的弊病,就是战术勤奋,战略懒惰,光低头干过是没用的,一定要抬头看路。 一个农民,刨地技术再好,都改变不了农民多本质。
anyway , 最后希望在坐的每位同学都能通过在老男孩的学习,使自己的战略目标更快实现。
2018-08-12 于北京