有朋友看了以往的文章,给后台留言,有些人工资低干不下去,想转程序员;还有很多没学历的想改变生活的,也说要做程序员;以及一些大学里应届生,找不到工作,自学想当程序员。
那么问题来了,程序员或者说IT行业的入门门槛真的那么低吗?
假如他们这些人进入IT行业发展又真的会好吗?
一、程序员门槛
新手程序员要是引导的好,一两周也可以学会一门语言并上手干活。而且程序员是乐于交流的一群人,很多开发的问题也都能在stack overflow csdn 甚至QQ技术交流群里找到答案,只要想学还是能成长的很快的。
虽然程序员的门槛低,但是门里面的天地也是很广阔的。技术日新月异,需求变化多端,开发的系统也可能是冗余复杂,这行竞争很激烈工作强度大,入行也只是万里长征的开始而已。
二、入行门槛是不高,发展门槛就不低了
程序员和程序员之间存在着那么几条明明暗暗的线,那些线外行人看不见,水平低的看不懂,只有准备摸到那根线的人才知道自己被坑了。
行业在高速发展之中,经济成就和热钱的进来,造就了无数的岗位,岗位一多没经过系统培训的人就这么入行了。
如果工作过一段时间,你就会发现那些程序员会“差那么一点点东西”。
以上是一个程序员的基本素养,现在的码农队伍起码缩水90%。就互联网来说,到处充斥着 一群 “HTML文本构造人员”,仅此而已。
程序员这个概念太大了,会 html/css 的人、会写 linux 内核的人,都是“程序员”。
前者门槛有多高?
后者门槛又有多高?
程序员这个行,能力层次太多,而恰恰社会也需要各个层次的程序员。(总需要一些人来写 html/css 吧。)
再比如同样会写 html/css 的人,能写出优雅的兼容的 css 和不兼容的 css 又是不同层次,而且层次相差也不小。就像做饭,人人都会做饭,但是专业的厨师却不多。
三、入行门槛不高,多掌握技术才是发展硬道理
如果我们对码农技术进行分层(层次本身没有优劣,是为了描述技术依赖关系而划分,但是多掌握几层一般会更好一些) :
半路转行的程序员只要老老实实把计算机本科教程刷一遍,经过系统培训正常情况下应该熟悉4-5层,一些小牛熟悉3-6层,个别神人能额外再擅长1层。
在经济形势不错,码农职业有泡沫的时候,熟悉第6层就能找到工作,运气好,收入也许还不错。因此,码农职业给人感觉“门槛低”(其实门槛也确实不算高,如果和医生职业比的话)。
然而工作若干年后 :
这样等到35岁以后,前者还有可能继续做码农的工作,后者则出局的可能很大。
冯唐说写作有一条金线,计算机无疑也有这么一条金线,或者也许各行各业都有这么一条金线。这条线,是无形的,没人知道在哪。过了,你会知道你过了;没过,可能你根本不知道有这条线。
这条线是感觉上的,也是技术上的。
过了这条线,coding就不是为了钱是为了多巴胺了。这条线之上,程序不再是工具,而是玩具,会让你感到兴奋。你能感觉到语言,代码,算法,模式,思想都碎成粉碎,一块块等着你来拼。你能体会到程序里齿轮般环环相扣的精巧。你能闻到代码的味道,看到代码的形状。
过了这条线,你最爱的事会变成重构,变成删代码,因为你能感觉到有一个完美的东西在那里等着你。
过了这条线,35岁让你不写程序了你会觉得我他妈还没玩够呢。你会觉得你能干这个行业干一辈子了。觉得一件事能干一辈子了,这才是过了那个门槛,否则只是路过。
这行竞争很激烈工作强度大,入行也只是万里长征的开始而已。一个行业,都有他的付出。不断的学习才是程序员的归宿。
注:本文由“IT行业观察”整理自知乎问题https://www.zhihu.com/question/26679707/answer/33701031,转载请注明出处。做一只乐于奉献的文字搬运工,喜欢就文末给个赞呗!