你是否做了正确的决定?

深圳首期周未班的同学们大家好,我是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 于北京

写给深圳首期Python自动化开发周未班的信的更多相关文章

  1. python自动化开发学习 进程, 线程, 协程

    python自动化开发学习 进程, 线程, 协程   前言 在过去单核CPU也可以执行多任务,操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换任务2,任务2执行0.01秒,在切换到任务3,这 ...

  2. python自动化开发学习 I/O多路复用

    python自动化开发学习 I/O多路复用   一. 简介 socketserver在内部是由I/O多路复用,多线程和多进程,实现了并发通信.IO多路复用的系统消耗很小. IO多路复用底层就是监听so ...

  3. Python自动化开发-简介

    1.Python简介 Python创始人  Guido Van Rossum,人称"龟叔",1989年圣诞节期间,为了在阿姆斯特丹打发时间,开发的一个新的脚本解释程序 作为ABC语 ...

  4. python自动化开发-2

    1.python的数据类型之列表 列表是Python开发语言中最常见的数据类型之一,通过列表可以实现对数据的增删改等常用操作. 列表的定义:例子 names = ["Lucy",& ...

  5. python自动化开发-[第十六天]-bootstrap和django

    今日概要: 1.bootstrap使用 2.栅格系统 3.orm简介 4.路由系统 5.mvc和mtv模式 6.django框架 1.bootstrap的引用方式 1.Bootstrap 专门构建了免 ...

  6. Python自动化开发 - RESTful API

    本节内容 1.  RESTful 简介 2.  RESTful 设计指南 3.  Django REST Framework 最佳实践 4.  理论拓展与开放平台 5.  API文档化与测试 一  R ...

  7. Python自动化开发 - Django基础

    本节内容 一.什么是web框架 二.MVC和MTV视图 三.Django基本命令 四.路由配置系统 五.编写视图 六.Template 七.ORM 一.什么是web框架 对于所有的web应用,本质上其 ...

  8. python自动化开发-1

    1.python简介 python是一门简明并且强大的面向对象的开发语言,已经在WEB开发,软件开发,科学计算,大数据分析,自动化运维等领域得到了广泛的应用. 注意:所有测试均已python3为主,与 ...

  9. python自动化开发-[第二十一天]-form验证,中间件,缓存,信号,admin后台

    今日概要: 1.form表单进阶 2.中间件 3.缓存 4.信号 5.admin后台 上节课回顾 FBV,CBV 序列化 - Django内置 - json.dumps(xxx,cls=) Form验 ...

随机推荐

  1. python基础 (迭代器回顾,生成器,推导式)

    1.迭代器回顾 可迭代对象:Iterable 可以直接作用于for循环的对象统称为可迭代对象:Iterable.因为可迭代对象里面存在可迭代协议,所以才会被迭代 可迭代对象包括: 列表(list) 元 ...

  2. node.js 使用NAPI写C++插件,(部分转帖)

    原文:https://www.cnblogs.com/chyingp/p/nodejs-learning-napi.html 可能是版本问题,我用node v10.6.0 遇到了问题 不过解决了. 一 ...

  3. centos服务器监控 服务器虚拟机里面的客户端zabbix-agent安装

    开启zabbix要用的端口, 也可以关闭服务器的防火 [html] view plain copy #vim /etc/sysconfig/iptables -A INPUT -m state --s ...

  4. clientdataset新增append新增多条记录的时候报错 key valation

    在前面加上两句 adsDetail.Active := False; adsDetail.CreateDataSet;

  5. http 自定义信息头(header)设置与获取

    一.后端设置(如:java) 在你服务端(如:java)返回的时候写上: res.setHeader("Access-Control-Expose-Headers",propNam ...

  6. union: redis config

    # how to save to disk # warning: how to disable, just comment this config save $second $changes

  7. JavaScript Json(转)

    JSON是JavaScript Object Notation的缩写,它是一种数据交换格式. 终于,在2002年的一天,道格拉斯·克罗克福特(Douglas Crockford)同学为了拯救深陷水深火 ...

  8. Oracle 12c 安装问题及解决方案

    1. 介绍 今天在我的开发电脑上安装Oracle12c,电脑环境是windows10家庭中文版,安装的Oracle数据库版本Oracle(12.1.0.2.0) - Standard Edition ...

  9. 7.地图随机装饰,与转化过程补充,与ai的设计思路

    这两天本来只想实现地图的随机装饰,然后发现以前的bin格式设计存在不足,所以最后不得不去改地图,并去重制整个地图的阶段,此篇总结这个过程 先描述下bin结构 首先地图由无数六边形组合,一个六边形由两层 ...

  10. python3 爬取搜狗微信的文章

    目标地址:http://weixin.sogou.com/weixin? 这个地址是搜狗微信的文章搜索,可以搜索到微信的文章,而我们目标就是这些文章内容 这个url经过测试,当我们没登陆微信只能看到1 ...