大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。
当前系列: 野生程序猿入坑指南 修改
程序员是干什么的?

修电脑,装系统?还是写游戏,做外挂?能不能做一个机器人,帮你找回QQ密码……

写代码的,做软件的,IT民工,搬砖的……


不要混淆这些岗位

我首先给大家简单的介绍一下,一个“软件/项目/产品”的制作流程:

1.     产品经理/发包方:提出需求,我们要做出一个怎么怎么样的软件

2.     UI:设计界面,需要多少个页面,每个页面长啥样子

3.     程序员:进行开发,所谓的“写代码”

4.     测试人员:进行测试,类似于工厂的“质检员”,检查软件写得对不对

5.     支持/实施人员:进行部署和维护,比如是个网站要发布(部署)出来,随时随地观察运行状况,出错了要赶紧处理(维护)

产品经理 vs 项目经理

都有经理两个字,但完全不一样:

产品经理,没有下级,管不了人(和“客户经理”类似),他能管的就是产品,产品做出来应该是个啥样子,怎么个流程,比如这里要放一个按钮,点击就……。负责提“需求”,你可以理解成公司内部的甲方爸爸。(《人人都是产品经理》,产品经理最恨的一本书,^_^)

项目经理,可大可小,但无论如何,下面是要管人的,真正的经理,^_^,前面说的:产品、UI、开发、测试、实施……都归他管。他要负责项目的进度:保质保量的按时完成(交付/上线)。

UI、美工和前端

笼统来看,他们都是做“界面”的,但严格来说:

UI和美工不算程序员(开发人员),他们的作品是图片,UI让产品“好用”,美工负责把产品“好看”。做美工需要的是美感;做UI需要的是“用户心理学”啥的,其职责在某些地方和产品经理重叠。

前端属于开发人员,按UI提供的图片,写出程序可用的代码(比如:HTML+CSS+JavaScript),但有时候,(对美工要求不高的时候)公司也把前端当UI用……

测试 vs 开发

实际上,测试分为:

  • 人工测试:基本等同于行政文员。确实没啥技术含量……
  • 自动化测试:需要编程(至少写写脚本),和开发岗的要求差不多了。

但是,测试的工资并不低。为什么?

  • 愿意设测试岗的公司一般都还是不错的(很多“小”公司都不设测试岗,^_^,开发或者产品经理兼了,或者用户内测/公测)
  • 愿意干的人少,(觉得)没有技术含量,工作本身也单调枯燥且乏味,担心以后……

唯一担心的,测试(尤其是人工测试)岗从整体上看,确实有缩水的趋势。自动测试往往被开发人员兼任。

怎么选?我就一句话:学开发做测试没问题,学测试做开发不可能。

技术支持/实施

售前基本上就是销售了。挂羊头卖狗肉,因为销售不好招……

售后涉及的工作内容包括:

  • 部署:比如医院的挂号收费系统,得部署到医院里面的每台电脑上
  • 维护:系统运行期间出问题了,你得先快速的解决(不是通过改代码),比如重启系统啥的……

有可能要出差。

选择那个岗位?

如果真想做开发,最好是一步到位。什么“以后再转开发……”,基本上都是自己安慰自己了。

不想做程序员写代码:

  • 想法很多,软实力不错(学历高/有气质/会忽悠/心思细腻……):产品经理
  • 美感卓越,至少喜欢漂漂亮亮的玩意:UI/美工
  • 学了写代码,但做不了开发:测试/支持

项目经理?哈哈……得从基层(一般都是程序员)做起呀!


收入:No 1

这可能是童鞋们最最最关心的问题了吧?^_^,也是很多同学转行的最直接原因,最主要目的!

程序员有钱,这是很多和程序员有过较深入接触(因为不炫富)的同学直观的感受,段子说的:

嫁人就嫁程序员,钱多话少死的早!

国家统计局权威统计,程序员(IT行业)的工资已经连续n年高居榜首(第二是金融业)

注意这是行业工资,只要是在这个行业中,产品测试美工运维,行政会计出纳……而程序员绝对不是这个行业中拖后腿的。

以后呢

IT行业现在是繁花似锦烈火烹油,但会不会是昙花一现?有没有泡沫?(科班/野生)程序员每年输送这么多,会不会(甚至已经)饱和?……

江湖传言,千万不要立flag,flag是说倒就倒!预测这玩意儿,超级不靠谱。未来的事情,谁都说不准。不如换个思路,

为什么IT行业/程序员收入高?

价格是由供需关系决定的。

现在程序员工资高,本质就一个:需求旺盛,供给不足

先说需求

我经常把现在的程序员,比作蒸汽机时代的机械工程师(工人)。为什么那时候工人的收入会比农民高?搞工业比农业挣钱,所以大量的资金愿意投入到工业生产中来,作为行业里面的普通一分子,收入高点,简单一句话:吃时代红利。

这个红利能吃多久?我是看不到头的,有生之年。触目所及,不说什么AI说什么大数据这些高大上的(这些高大上的反而没有落地),就最简单的,需要被数字化被信息化的地方太多太多了!

比如说,线上教育,现在无非就是老师录点课程传到网上……这个太初级太原始了!

学生的学习呢?怎么办?现在基本上就靠自觉。学生的学习,应该建档,真正的电子的学(习经)历:每天学了什么,学得咋样;老师应该向“教练”转,答疑解惑、辅导改作业……

你仔细去观察,生活中这样的例子随处可见。good idea是层出不穷,只是说很多还不能/没有商业化。我们可能需要更多的企业家,工程师,底层技术的进一步突破,但IT产业的繁荣,这个趋势是“不可阻挡”的。

而且,IT产业的繁荣,和房地产和银行(依靠政策调控)的繁荣,不是一回事,它是内部驱动的,是代表着先进生产力的新兴事物。

再说供给

你可能很奇怪:除了各大高校疯狂扩招,各种大大小小的培训班,怎么就会供给不足呢?

学编程是比较难的(后面细讲),还是有门槛的。大学计算机专业,你刨掉985/211,你去看他们的就业率,能做开发(程序员)的有多少?很少的。大部分是做销售、测试、技术支持……;培训班,那个进大厂(美团送外卖的)段子怎么说的

而且这个门槛不是说只有入门那一次的,它是动态调整的。就业行情好,门槛低点你就进去了;行情差了,你有可能被淘汰的!(35岁危机再讲)

所以,转行学编程?别人劝学我【劝退】,为什么?劝退语录:

大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。 

从业人员会不会饱和?

一些比较流行的说法:

  • 低端饱和,高端(合格/靠谱)稀缺
  • 双向奔赴:就业招聘两难
  • 早就饱和了,饱和了十多年了(“饱和”个锤子)

生态环境的“动态平衡”,听说过没有?

市场里面的供需,也一样,它是动态平衡的。程序员的供需,在人才市场上,也始终是“动态平衡”的。市场上“缺”程序员,工资就会开得高一些,于是更多的人加入进来;市场上程序员多了,工资自然就会降下去,于是淘汰一部分人……

你不可能指望你从业三十年四十年,市场一直“缺”程序员!尤其是中国这种“卷王之王”的人口大国。十年前,建造师的证,多值钱呀,考试多难呀,现在呢?只要一个东西挣钱、值钱,中国是绝对不会“缺人”的。

程序员工资收入高,已经十多年了,接下来几年,会不会降一降温,挤一挤泡沫?是不是就在接下来这几年我不确定,但升温降温,泡沫起来又破灭,这个过程一定是不断循环的。

你还有几十年的从业时间,你考虑这些个问题没有多大的意义。


工作时间

科普:996.ICU,更狠的:007

这两个词就把很多同学“”着了。程序员加班真的这么夸张么?

但是,我10年一线老码农,就没怎么加过班!

自己总结的原因:

  1. 外企:100%
  2. 非互联网行业:60%
  3. .NET:外企和非互联网行业用得多

赶时间的同学,可以到此为止了:加不加班,看公司。不想加班,你换个公司,甚至进公司之前你就问清楚。

为什么会这样加班?互联网公司和传统工厂不一样

  • 传统行业:时薪不变,月薪好看(996在很多工厂根本就不算一个事!)
  • 互联网:市场要求,以快打慢。一将功成万骨枯:竞争残酷,是一个“一家通吃”的游戏,百团大战只剩美团、滴滴优步烧钱大战、共享单车一地鸡毛……所有这些眼花缭乱的骚操作背后,都有一个值:快,节奏非常快。我踏踏实实经营,工匠精神……,行不行?不行——至少目前来看是这样的,快鱼吃慢鱼,一步慢步步慢。

再(给想创业的同学)多说两句:互联网的玩法和传统企业完全不一样,极度讲究“规模效应”,而且是迅速形成的规模效应。不是向管理要效益,而是向规模要效益。就像打仗一样,不惜一切代价,目标就是上市IPO,纳斯达克敲钟。

为什么已经是大厂的互联网公司,还是要加班?惯性。

以前那一帮子人,很享受“加班”的状态。你说这是心理有毛病吧?我告诉你,不一样的。人家拼命是看/拿到了效益的。(有格局的)早期的创业团队里面,真没什么“剥削”,那真的就是大家跟我冲,赢了……一辈子荣华富贵,输了啥也没有(老大倾家荡产)。几千万的投资拉进来,几个月不到烧完,再几个亿拉进来,……,就几十个人的团队,啥都透明的,那种刺激,你想想。

外一篇:我为什么还要加班?

前两天有个线上班已经出栈的同学,很苦恼: 

公司规定的5点半下班。但大家都要“”到6点多才下班。什么叫做“磨”?事情都做完了,没啥事情可做的,假装加班?他不理解。

于是他自个儿到点就走,然后就明显的感觉到被“针对”了,被“孤立”了,很难过。

他红着眼睛问我:“为什么我就不可以……

我说:“你可以呀。没人用枪用刀逼着你加班吧? 

他懵了。

我说:“以前我在有一家公司,情况和你一模一样的,不管其他同事怎么的,反正我就是到点走人……”

他更懵了,眼睛更红了。

事后回想,我当时也没能组织好语言,安慰他一下,话说得太直,来得太“陡”,不知道以后他还会不会找我聊天……

这个同学的问题首先是

天真

他想的是:我不加班,大家也都不要加班。这样确实挺美,想得美!

我办个培训班,有人降价抢生源,我也想我不降价(学费),大家都不要降价,一起挣大钱,可能不?

不可能的吧!说一个很多同学接受不了的事实:职场上你最大的敌人是谁,是老板吗?不是的,是你的同事。(你自己想)

第二个问题就是

懦弱

人没有力量的时候,就想着“合群”,身处一个团队之中,他就会感觉到更安全:很正常。

这个同学发现他不加班不合群了,就慌了,这就是本质。他不断的追问“为什么不可以?”实质上就是在强调自己行为的“正确性”,希望以此来获得力量,因为我们从小到大都是被教育:正义必将战胜邪恶嘛!但“自愿”加班不是一个对不对的问题,是一个选择问题,这是其他同事选择向老板/领导“示好”,这件事你可以说他们很“贱”,但你不能说他们“错”了。

我也觉得宁愿花更高是学费,去那些不靠谱培训机构、不来我们源栈学习的同学,很“贱”呢!但你不能说人家“错”了。钱是人家的,他想怎么花就怎么花。

怎么破?

很多苦恼的根源在于:你的实力无法匹配你的野心。

这本质上就是一个实力的问题。天真也好,懦弱也罢,都是:野心很大(不加班),实力不够(技术菜)。

如果你实力够了,面试之前就先问:单休双休,要不要加班?不如我意的,来都不来。

如果源栈的实力够了,学生都排着队报名,那我也不会痛苦了……

人就是这样的,清醒一点:不能“既要又要”。

  • 打工人,要想挺直腰板,就拼命的锤炼你的技术吧,不然你就得学会“放下身段”,加加班受受气
  • 飞哥也一样,要想不为招生的事发愁,就只能拼命把课讲好,不然就只能和同学们“嘘寒问暖”,奴颜婢膝


工作状态

这一块我会将程序员的工作和其他工作做一个对比。

神秘面纱

路人以为的编程 vs 真实的编程:面向google编程

和律师工作很像,你以为律师:

  • 熟读律法,其实都要靠查
  • 法庭上雄辩滔滔,其实唯唯诺诺
  • ……

还有医生:真事!我老婆生二胎的时候,大出血,几个护士手足无措,医生喊过来之后百度一个什么什么药能不能用……

编程本质上就是一份普通人经过学习培训就可以(胜任,好吧杠掉)完成工作,有挑战、有门槛,但也不是什么极限挑战,门槛高不可攀。(后文:“能不能学”再细讲)

飞哥的教训:了解一个职业,最好不要去通过电视电影这些影视作品。

摸鱼划水

程序员看着加班多,996,掉头发,但其实大部分时间都在划水!工作强度没你想的那么大。

真正不好划水的是什么工作?

  • 自己负责:计件/律师(法律个体户)/老板
  • 流水线:被誉为20世纪最伟大的发明哟!

编程开发:创造性劳动,很难KPI(量化)的。

外行管理闹笑话:每天提交多少行代码。@想一想@:代码是不是越多越好?(类比写作:3000字的检讨 vs 两行绝句)

有时候闷一天,啥都做不出来,但人家不是没干活哟。要查资料(google)要调试,关键是要思考,而思考本身就需要休息,出去走一圈“换个脑子”……所以你看一些逼格高点的互联网公司,公司内部是有咖啡厅有健身房的……这不是秀,而是一种“务实求真”的态度:人家干的是脑力活,不是体力活。

所以,过度加班的企业,其实很容易“上班划水,加班干活”。

一直高强度的工作加班,钱必须得给够!旧闻:腾讯游戏上线60个月工资

死宅死宅的

有没有不适合做编程的?有!“宅”不下来的就不适合做编程。

室内工作,面对电脑而不是人,一坐就是一天,话少。

  • 出栈的同学(以前做销售的)第一天上班,回来感叹:整整一天,都没说到10句话……
  • 背靠背的座位,都是QQ而不是转身开口

但我特别享受这种生活!不喜欢寒暄、客套、应酬……

即时反馈

源栈同学教室学习场景:

  • 学不动了,bug怎么都搞不定的时候:扇自己耳光,我脑子进水了来学编程
  • 代码跑过了:载歌载舞我真特么是个天才!

编程会上瘾的,类似于打游戏闯关:行就行,不行就不行。

这种即时反馈,很容易让人产生快感。

所以一般游戏上瘾的好强/胜型(不是逃避现实)选手,学编程会更“有劲儿”。

但和游戏不同:

  • 新手村不够友好:体会这种通关的快感,要更长的时间
  • 绝大多数人,不能一直升级:一般5年以内,都会发现没多少新东西可学了,对日常工作开始倦怠……

一些职业是没有及时反馈的,比如做会计做行政,每天都是日常事务,能有什么反馈呢,领导夸你一句?

客观因果律

程序员很“钢”,钢铁直男的那种“钢”。其他的描述:木讷,不通人情世故……,为什么?

我代码能跑,一定是因为我写对了;有bug,肯定是我写错了。

对就是对,错就是错。代码的世界是非黑即白的,没有模糊混沌的状态。

这一点非常重要!很多职业不是这样的,比如:

  • 美工,做设计做方案,好看不好看,客户说了算;
  • 行政,做得好不好,领导说了算;
  • 做生意,赚钱不赚钱,市场说了算
  • ……

所以你做这些事情,就会去琢磨人。人是很难琢磨的,今天早上领导为什么夸你?真的是因为你今天做得比昨天好么?不一定的,有可能只是领导今天心情好。包括市场行情这些,运气的成分,你自己不可把控的成分,很大。

程序员的工作,就没这些“破事”。

职业塑造性格,群体性格又塑造他们

单纯的人际关系

程序员,总体上来说,没有太多坏心思。

因为(至少职业初期)坏心思也没啥用,所谓的职场上“踩着人家往上爬”。

你怎么踩人家?技术实力啊。

就算你溜须拍马,爬上去了,没实力,你干不了的。一堆人等着看你笑话。

所以程序员同事之间的关系,就感觉冷冷清清的:上班各干各活,下班各回各家。既没有什么呼朋唤友,也没有拉帮结派,不能说没有喜恶,但因为利益滋生的办公室政治还是很少见的。


工作地点:北上广深杭?

办公场所,室内,空调屋,肯定不是工地也不是车间。

会不会出差?(开发/测试岗)不多,少数支持/实施岗可能会多一些(招聘时都会注明)

集中在大城市:

    一线:北上广深杭

    二线:少数IT产业比较发达的省会城市:武汉、西安、成都……

    三线:其他省会城市/大城市:重庆、南京、大连、长沙、贵阳、乌鲁木齐……

三线以下城市,就业机会不多的!准备回老家的同学慎重。个人建议:至少在外面镀层金。


不要更新了,学不动了!

到目前为止,最想【强调】的一点。

理解这一点,你才能理解我们后面要说的很多东西。

很多人的传统思维还是:学校学知识,工作用知识。(选培训班的时候对课程表的……) 

但编程这个行业:一直用,一直学,边用边学,边学边用。吃老本很难的!

技术的“日新月异”,在IT行业体现得非常明显。

更新频率太快,前面的还没学会呢,后面新的又来了!我十年前学得技术,现在还在用的,大概不到一半。参考:程序员所积累的编程知识在十年后将有多少变得没用

所以学习,就是程序员生活的一部分

一个标准的程序员,你问他下班了在干嘛?一半的几率,答案是在学习……尤其是在入行的前几年。

唯一的好消息:新技术不是凭空出现的,一定是有延续性的,是站在巨人的肩膀上的。所以“老人学习能力不如新人”就是扯淡,主要是这些老油条不想学了,或者有拖累了……

IT 程序员 转行 建议
觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 野生程序猿入坑指南 中继续学习:

我们的 特色

  • 面向就业
  • 线上线下结合
  • 同学互助
  • 师生共赢

报班 QQ群:273534701

  • 获取视频资料
  • 要求作业点评
  • 参加阶段性测试
  • 模拟面试