程序员这个职业到底怎么啦

2018-09-19 08:32:59 +08:00
 yidinghe

当一个生意很赚钱的时候,什么乱七八糟的人都会想来做这个生意。这很正常。

当一个职业薪水高的时候,什么乱七八糟的人都会想从事这个职业。这也很正常。

程序员就是其中之一。

对其他高收入的职业来说,存在一个门槛,就是从业资质。它能保证进入这个行业的人,能满足一个最低标准,以确保这个职业的产出质量。

程序员这个职业没有实际的从业资质门槛。你几乎凭一张嘴就能找工作。

先说说程序员三种来源,就是:培训出来、计算机专科毕业、计算机本科及以上毕业。

而真正的计算机教育,现在只存在于本科。本科一上来不学编程,而是先学两门课:计算机原理和操作系统原理。

这两门就好似中学化学:将来用不到,但起码知道药为什么能治病,木头为什么会燃烧,看上去毫无关联的现象其实都是共同的机制在起作用。

计算机原理和操作系统原理也是一样,通过了解 CPU、系统总线、内存映射、磁盘分区、设备驱动,从而了解计算机的设计者们面对各类问题,他们都是通过何种思路来解决的。

接下来是不是可以学软件开发了?没有,接下来是数据结构和算法。这两门课也是要仔仔细细的学,先学一点编程语言的语法,然后把这些数据结构和算法挨个都实现了,这才算掌握。

那接下来是不是真的可以学软件开发了?没有,接下来是网络原理、图像处理、多媒体原理、数据库原理,在这些课程里面要把图像的灰度计算、网络包的纠错、非对称加密、遵照范式的数据库设计等等全部实践一遍。到了这个程度,学生方才具有了程序员应有的思维方式。

除此之外还有三门课:汇编语言、专业英语和计算方法。前两个好理解,而计算方法就是如何设计一套算法,在实现复杂的高等函数计算的同时,保持误差最小化。因为计算机精度有限,经过几十万次加减乘除误差会变得很大,所以像天气预报、工业设计方面是不能简单的套用函数去计算的。

这些课程在锻炼学生思维方式的同时,也在开阔学生的眼界:计算机这个行业深不可测,增删改查之类的,连根毛都算不上。

那接下来,是不是真的,真的可以学软件开发了?没有,接下来是学校为你准备的最后一步:软件工程。就是让学生在工作之前先对软件开发的过程有个概念。

这是最后一门课程,接下来就毕业了。

妈的,软件开发到底教没教?开发工具呢?框架呢?

反正在我那时候,学校是一丁点都没教。

全靠学生自学。

上面这些就是从大二开始,三年的专业课程要学的。学生把这些课程学懂了,其知识水平跟专科和培训机构出来的完全不是一个层次。

再看另外一边:培训机构六个月(这时间还算长的)出来,是什么样子呢?

语言会,框架会,工具会,增删改查会;但你要他设计一个链表,不会,要他查询数据库记录然后组成一个树结构,不会,要他写一个简单的的锤子剪刀布游戏,不会。没错,很多人就是这样,低能到这种程度还自以为达到了程序员的标准,这在十三年前是不可想象的。

再比如用工具,没问题的时候还好,一出了问题就抓耳挠腮不知所以,错误信息摆在面前也看不懂,不知道怎么办,我说你调试一下吧,只见一边鼠标晃来晃去一边咂嘴吧,不知道该在哪打断点。

这种情况下谈什么自学能力那都是扯淡的知道不。很多人以为自学能力是个隐藏属性,我想怎么吹都可以。但实际上一个人的自学能力很容易就看得出来:自学能力强的人不会轻易求助别人。就这么简单。

所以以前针对计算机专业的程序员面试,有些是假设面试者已经懂的基础上,不会提某些问题,但现在不一样了,有些问题必须问了,比如什么是进程?进程是如何启动的?进程启动失败了会怎么样?这就好比问一个会计的求职者什么是钱。

我曾经很天真,以为入职的新同事虽然水平差,但只要对技术有热情,我还是可以带起来。最后发现很多人一离开培训机构就完全失去学习能力,以为凭几个月学的那一点毛皮就能混吃到老。

曾几何时,从事程序员人都是对技术非常有兴趣的。现在这样的人越来越少了。只要这个行业无门槛的情况继续保持,情况就不会停止恶化。

我不是希望把本科学历当成程序员的最低标准,因为本科专业课程仍然是与市场脱节的,只教知识不教技能。我只希望有一个真正实用的软件公司都承认的职业门槛,不达到这个门槛就不能从事程序员。这是一个成熟的行业必需具备的。

这就是我得出的结论。

19953 次点击
所在节点    程序员
170 条回复
NullException
2018-09-19 08:37:16 +08:00
行业本身就不成熟。
qsnow6
2018-09-19 08:41:59 +08:00
第四类:自学出家的
nicevar
2018-09-19 08:50:10 +08:00
本来现在大量的人是冲着钱来的,又不是兴趣,要不然整天在那里黑,觉得干这一行好像埋没他们似的,现在连秃顶都能把锅丢给这个行业了
anyele
2018-09-19 08:51:39 +08:00
培训班太多了
anotherlf
2018-09-19 08:52:18 +08:00
放开一点更好
jecshcier
2018-09-19 08:53:43 +08:00
楼主所说的在业的,对工作抱有热情和兴趣的,只是很少一部分人。而很多人,迫于生计而不得不寻求更高薪水的工作,他们没有信仰,也没有热爱,虽然目光短浅,但他们也没什么错。

曾经我也很讨厌这样的环境,而现在见怪不怪了。也许只是自视清高带来的错觉,过于主观了。既然是工作岗位,必然是市场决定的,没有这么多的道理可言。躁动的社会啊,就是这么无奈,愿楼主保持初心。
haon
2018-09-19 08:55:08 +08:00
本科一上来不是先学计算机原理和操作系统
likaka
2018-09-19 08:56:02 +08:00
当年软件工程一开学就学 C 语言和数据结构,计算机原理是什么鬼?有学计算机网络基础.
Presbyter
2018-09-19 08:57:22 +08:00
大专的计算机应用与技术,也有这些课程,但是老师也不会深入讲解,还是要靠自己修行.
scipio
2018-09-19 08:58:00 +08:00
> 而是先学两门课:计算机原理和操作系统原理。
ytmsdy
2018-09-19 08:58:20 +08:00
好的程序员需要多少学科门类知识的积累啊!
要是没学过线性代数,那向量的运算,图片分析妥妥的 GG
要是没学好高等数据,机器学习里的算法,算都算不出来!
要是没学过数据结构,连排序有几种方法都不知道,面试官会让入职?
要是没折腾过服务器,别说 Devops,估计复杂一点的本地开发环境都搭不起来

大多数人至少看到了程序员拿高工资的表象,没有思考为什么程序员能拿高工资。
资本家不是慈善家,如果有便宜的人能用,为啥要找一个贵的?
目前的情况是,能干活,而且便宜的人找不到。
scipio
2018-09-19 08:58:31 +08:00
绝对不是这样
jowan
2018-09-19 08:59:19 +08:00
应用层次不一样 老板要找人做一个官网 你要他懂什么操作系统原理
tohearts
2018-09-19 09:00:04 +08:00
看来这位同学没明白大学的精髓: 大不了自己学。
VoidChen
2018-09-19 09:02:01 +08:00
主要原因还是市场需求更多的是增删查改吧
yidinghe
2018-09-19 09:02:06 +08:00
@jowan 站在程序员的角度,应该多为自己将来着想,少为老板着想。没有自学能力的人是干不下去的。
nosay
2018-09-19 09:02:36 +08:00
这就叫理想与现实,大学生与社会人
kernel
2018-09-19 09:02:52 +08:00
现在的绝大部分普通编程需要知道计算机原理和算法吗,明显用不到。再说了这两样自学一下太简单了,又不是高深的知识。决定编程能力的还是他本身的性格和学习意愿。
yidinghe
2018-09-19 09:03:06 +08:00
@tohearts 自己学可以啊,但大学有学分制摆在那,多少你都要学进去一点。
Eoston
2018-09-19 09:04:19 +08:00
本科教育培养的目标决定了不可能像培训学校那样教你这个那个框架的,目前中国几乎所有的理工科本科教学都是通识教育,而专科教学才是针对某一领域深入学习使用的。最后就造成了本科教学和实际社会需求脱节的问题。
而且,只要市场有需求就会有大量的人进入竞争啊,这很正常,很多软件界的大佬都是非科班出身的,靠后天工作中兴趣学习的,这又有何不妥。不见得上了四年本科计算机专业就一定比非科班的学得好,仔细换算下来,四年其实也并没有多多久的计算机相关知识,其他人完全可以在一段时间内通过自学达到甚至超越。
很多演艺界名人上学的时候也没有学表演艺术专业啊,照样不成明星了?是不是表演学校的学生都要怪演艺界太乱???没人规定你上学学了什么以后就一定要从事什么工作啊。
所以才说要活到老学到老,保持学习能力最重要,否则总会有人超越自己~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/490664

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX