给想转行作程序员的人泼一盆冷水

原文地址:https://geekplux.com/2019/04/02/advice-for-who-wanna-switch-to-programmer (opens in a new tab)

最开始想写一篇《现在转行作程序员还来得及吗》,因为有不少朋友问我这个问题,但写着写着发现我一直在劝退,索性改了题目。

*本文针对的是那些想要转行找到工作的同学,而不是纯粹兴趣想学编程的同学

所以现在转行到底来不来得及?我觉得:来得及,但风险很大。有的朋友动力足,现在已经转行成功入职 BAT,有的半工半学,还在挣扎中;有的去了培训班,马上毕业了;有的问完继续走原路……但绝大部分都失败了

转行做程序员的好处我相信你已经充分了解,要不然也不会有转行的想法,所以我就不赘述了,这里主要说几点风险(前方劝退,谨慎阅读)。

学习成本低,不意味着就没有成本

编程难么?说实话还是挺难的,这里我是针对大部分没有基础的人来说的,不排除有天才、大神能无师自通。很多人对编程的印象来自于电影,即使现实中有程序员朋友,你也很难 get 到他每天到底在电脑前干啥。为什么用键盘输入一句话,电脑就开始自动帮你干活了,这些你没有自己写代码之前,是没有体感的。隔行如隔山,就跟我读别的行业的文章跟天书一样,想转行,是需要付出很多的。

上手门槛低,反而更难找到工作

已经有水泥搅拌机了,你还需要学怎么用铁锹么?

没错,现在的编程门槛越来越低了:以前建个网站可能要 LAMP 一条龙,现在只需要拖拖拽拽一键生成;美国倡导全民编程,App Store 里也有很多少儿编程教学 App,按部就班就能开发属于自己的程序,一切看起来 so easy。但是,掌握越是容易的东西,你的竞争力就越低,大家都会的东西为什么还要给你高薪。“世之奇伟瑰怪非常之观,常在于险远,而人之所罕至焉“。

所以“学会”编程,和找到工作之间,有一定差距。

不同的工种,可能完全是两种体验

如果把编程比作盖房子,那有的人是搬砖头的,有的人是搅水泥的,有的人是做木工的。虽然都是体力活,但是木工可能比水泥匠优雅一些,水泥匠可能比搬砖工轻松一些(这里全是主观比喻,你懂就行),盖的房子越大,工种分的越细,虽然都是盖房子,但不是所有的工种都适合你的,你只有充分了解才能判断出自己到底擅长什么适合什么。而且一旦选了方向,面对的都是浩如烟海的知识,每天还在更新,根本学不完。你要是上进,还得“一专多强”,就是什么都得会一点,还有一个方向是你的核心竞争力。

不同的等级,付出的是脑力与“体力”的区别

同样是盖房子的例子,有的人当了工程师,有的人是规划师,有的人是架构师,失之毫厘,差之千里。别人是画图纸的,你是搬砖的,画图纸的同学比你还赚的多。行业专家历经沧桑,经历过“修下水道把光纤挖断”这种史诗级故障,所以在做架构时能做到充分的应对。而新入行的同学,不管是科班生(就是计算机专业毕业的同学)还是半路出家的,经验还稍显稚嫩,得从基础工作做起(各行各业都差不多的)。而且大部分转行的同学,还有可能应聘去了一些外包公司,在外包公司工作,大概率是接触不到核心技术的,只能做做边缘工作,纯“体力”劳动了。

转行成功不是高枕无忧

编程是学无止境的,想要转行就要做好这个觉悟。每天新的技术层出不穷,我三年前会的技术,现在已经完全被淘汰了,是完全,都没人再用了。所以我在这个技术上积攒的经验是完全没用了,新人虽然听都没听过这个技术,但和我是站在同一起跑线的。我需要不同的学习,还要学的比他们快,才能保证不被他们淘汰。

年龄是跨不过去的坎

不是说高压高强度工作导致身体跟不上,而是即使你一直轻松的工作,到了一定年龄,学习速度是真的有可能比不上年轻人。去年流出某公司裁退34岁以上员工的新闻,想来也不是无稽之谈。且不说前几年国内软件工程等计算机专业在大学呈现井喷现象,导致新人很多(这里吐槽一下,是个学校就开设了这个专业。很多大学极不负责任,任教老师可能是现学现卖,所以国家也是一下子撤销了 35 个软件工程学位点),现在转专业转行的人也越来越多,公司可以以更低成本招聘更有潜力的人,所以老程序员的出路已经成了一个问题。

以上两大点,令我们从业者也是忧心忡忡,不少人年纪差不多就转行出去了,而你们还在前赴后继的转行过来,又是一座围城。现在第一批程序员已经到了40多岁,且看国内到时候是否会出现从事程序员工作一辈子的人罢!

该不该去培训班 最后来探讨一下这个问题,该不该去培训班?我的建议是,你可以去,先听听试讲,多尝试再选定。现在的培训机构如雨后春笋(就是因为程序员转行了呀),有的培训班完全是流水线,教你编程,包装简历,批发上市,送入公司,学的不好的人留下来当讲师……所以你一定要亮出你的火眼精睛。

另外,自学才是转行做程序员的正确方式,也是检验你适不适合这个职业的方法。你不妨买一本给小白看的入门书,什么《21天掌握xxx》之类的都行,多买几本,先用这种书找找感觉,如果实在入不了门再去报班。学习编程要 learn by doing,勤动手多实践,不是光看书就够了,要边看书边敲键盘把他们都实现了才算学会。

写程序有个原则叫 DRY:Don't repeat yourself。把要重复回答的东西写成文章,之后再有人问我类似的问题,我就能直接甩一个链接,“你去看我写的那篇文章吧,看完就懂”。这是写博客的意义,也是偷懒的精髓。