“程序员的门槛很低,哪怕你是小学学历也能当!”,这是我在跟一个刚认识的朋友介绍我程序员职业的时候,给她的回答。
对方是个女孩子,据说也是计算机专业毕业的,但是打从毕业以后就没有从事计算机相关的工作,所以对于程序员到底难做不难做也没有什么概念。
我们在聊天的时候,得知她是06届的毕业生,当时整个班级毕业以后从事计算机相关工作的也没几个。有一个同学做得比较好,开了家互联网公司,赶上了风口,现在身价上亿。
但是对于她们这种普通人来说,一直觉得编程是一件很难的事情,然后问我学历是不是很高。我说我只是大专学历,现在还在读成人本科,但是学历只是用来当敲门砖的,实际上想要当一个程序员,只需要小学文化就可以了。
她比较诧异,问我真的假的,我点点头。然后我和她解释了很多关于编程为什么我认为很简单的原因。
我觉得程序员可以简单归类为三种类型:
第一种就是高端程序员,他们懂计算机原理、编程原理、喜欢研究算法。这类程序员一般作为领头羊,做的东西都比较有建设性。
第二种是懂一些计算机原理、编程原理和一些常用算法的人,或者是只是了解个大概,但是自己解释不清楚的那一类。这类程序员比较大众化,大家做出来的产品大多没有什么太大的技术含量,但编程水平还行。
第三种就是基本上不懂计算机原理、编程原理,甚至只能做加减乘除这些简单的东西。他们只会用框架,离了框架基本上就干不了活。但是只要稍加指导,也能往上升一个层次。所以,这种程序员努努力,就能变成第二种程序员。但是他们的程序员生命周期比较低,一般来说到达第二种程序员这个层次,基本上就“毕业”了。
我之所以说小学学历也可以当程序员,指的就是第三种程序员。其实,只要会二十六个字母,脑子能记住点常用关键词,然后把编程基础学学,最后再给个可以用来训练其能力的舞台,他们也能把事情做好。
可毕竟这类程序员他的底子在那,所以上升空间有限,即使再努力也不可能达到第一种程序员那种层次。即使可能有一些人通过努力可以达到第一种程序员那种层次,也只是少数人,代表不了大多数。
可毕竟每个行业的人才都会分三六九等,否则就不会有人年薪百万,有人月薪几千了!虽然说,第三种程序员可能一辈子达不到年薪百万这个梦想,但是做得时间久了,薪资也会比一般打工者要强很多。
就拿我来说,我虽然是个大专生,目前以我的能力,我也只能把我当成第二种程序员。但是我目前的薪资比起同龄的本科生甚至很多研究生都要多很多。
所以,你说编程难吗?我觉得如果你不是非要去做什么人工智能、宇宙飞船,那么编程其实也不难。
做一个企业的网站能有多少技术含量?做一个普通的用来点餐的小程序有多少技术含量?这些东西在我以往很多公司里,都是交给刚毕业不久的小年轻去做的。
我见过不少程序员离了框架就不知道怎么写程序了,但是很多企业就是要求你作为一个程序员就必须用框架!那是因为框架能解决很多事情,也能减少本应该很长的软件研发周期。如果你跟你的老板说:“我有能力自己写一个框架出来,只要你给我一年时间!”,我保证大多数小公司的小老板会跟你说:“好好用你的框架,不要瞎操心!”。
所以,我最后要说的是,导致我认为小学毕业的人都可以成为程序员的原因,就是大多数公司的软件项目其实没有多少技术含量。
就像一个普普通通的企业网站,虽然网络上能找到很多现成的,但是每个企业都会有自己独特的需求。当这些需求存在的时候,就需要很多普普通通的,没有太高技术的软件公司去满足他们的要求。而这些软件公司里就会有一些看起来学历不高,能力一般的人去做这些你们认为优秀的程序员都不会去干的这些活!
其实,我认为程序员这个行业最能体现社会阶层,因为程序员的水平不一样,待遇也不一样,圈子也不一样。
有些圈子比较高端的程序员称那些写普通程序的程序员叫作“码农”,其实我一点也不反感。因为程序员的阶层就是这样的!
水平好的程序员我们叫“大牛”,大众水平的程序员我们可能喊各种“哥”,再往下一点的程序员可能就会被叫做“码农”。
这就跟社会阶层一样,当官的、公司白领、普通职工、农民工......
但是如果离了底层“码农”,软件行业乃至于互联网行业还能不能继续转下去,还真不一定。至少我觉得,如果把底层的程序员全部抛弃掉,会有很多小企业撑不下去。
我记得我之前找工作的时候有个小公司的老板跟我说过一句话,我印象很深:“在我们公司,学历什么的不重要,只要你的能力可以,我们公司就要!”。
是这个老板太实在吗?不,是现实!
最后,为了不引起误会,我还是要把话说明白一点。虽然现实情况下,程序员的入门门槛很低,但是因为现在程序员的学历普遍已经很高了。如果你此时真的是一个小学学历的成年人,想学编程,我非常佩服你的勇气!但是我不建议你贸然去学编程,并决定以此为生。
因为,程序员的门槛虽然低,但是很多企业招程序员的门槛很高!