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

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

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

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

程序员就是其中之一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

全靠学生自学。

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

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

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

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

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

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

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

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

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

这就是我得出的结论。

20089 次点击
所在节点    程序员
170 条回复
zaqmjuop
2018-09-19 15:29:39 +08:00
@sammo 那么,如果让你坐一辆你写的控制软件控制的车,你敢做么?
jtwor
2018-09-19 15:45:15 +08:00
其实只有适合与不适合,还想着靠个高考分决定职业生涯?
lulinux
2018-09-19 16:26:08 +08:00
据说科班的学了很多年的马克思主义,人的修养也变得很高。
ihavecat
2018-09-19 16:37:26 +08:00
@anmie nb,请问大佬是专科后考的北大研究生吗
ihavecat
2018-09-19 16:38:47 +08:00
光看学历区分不准确,你的意思就是看计算机思维,那就应该看计算机思维,本科的东西专科也可以自学阿,不能用学历直接做标准
laike9m
2018-09-19 16:39:08 +08:00
> 这在十三年前是不可想象的。

我就一个问题,十三年前代表什么特殊意义么😂
yidinghe
2018-09-19 16:43:14 +08:00
@laike9m 呃 没有,就是我毕业出来十三年了
bucky
2018-09-19 16:43:51 +08:00
学这行的人太多了,怎么办?
王争: 开个课程,2w 人报名了,每人 68,140w 收入到了
贴主: 酸一下,你们许多人都没资格干着一行,学历不够,不要来抢工作,嘤嘤嘤
aiouty
2018-09-19 16:44:33 +08:00
真的幼稚
atonku
2018-09-19 16:46:48 +08:00
程序员只有秃顶和不秃顶的,我一般看头发来猜测他的技术,一般还都挺准
lanceran
2018-09-19 16:47:48 +08:00
@onion83 深度好文
GeruzoniAnsasu
2018-09-19 16:58:57 +08:00
v2 真是有病,一边看不起培训班喷培训班出来的喷得狗血淋头,一边人家 lz 说程序员需要本科计划系统培养功底才够扎实培训班不可取的时候,又把 lz 喷一遍说结果导向凭什么看不起培训班

所以你们是想咋的?到底是“能增删改查糊弄就行”还是“除了增删改查啥都不会培训班趁早滚蛋”??

建议移入水深火热
neverandy
2018-09-19 17:10:33 +08:00
这个帖子,真几把无聊,不就是个打工的嘛,有啥优越感
Firxiao
2018-09-19 17:12:41 +08:00
1. 学力很重要.
2. 存在即合理.
3 . 市场和需求会倒逼行业职业技能的发展.
4. 成本. 企业需要能干活的人.
ResidualSoils
2018-09-19 17:18:19 +08:00
我就是个乱七八糟的人,但我很喜欢写代码。但我还记得我第一次写 HelloWorld 的时候那种激动,希望你也记得。
halden
2018-09-19 17:32:43 +08:00
@miyalee 我不知道有多少学校一上来就教这些,我知道国内某 211 第一学期只有 java,OS 是大二上的东西,SE 是大二下的东西。。同时美帝某前 50 大学 DS、主要编程语言也是大一大二,OS、SE、网络工程、数据库等都是大三的东西,虽说美帝是自己选课,但按照 Prerequisite 你能上到的时候基本上是我列出来的时间。个人认为如果大一让我学 OS,网络原理之类的肯定一头雾水,而且就算学也不涉及 coding,意义不大
attker
2018-09-19 17:53:55 +08:00
很多公司只是需要一个会 crud 能干活的,并不需要一个真正的程序员,这些计算机原理啥的那些公司也根本用不上,那些培训班出来的也不要酸了,很多课程你用不上不是因为他们没用,而是你做的东西深度也就那个样,老板只是想要一个快速出成品的打工的
deming
2018-09-19 17:56:00 +08:00
@yidinghe
如果我的理解没有偏差的话,楼主的看法可以总结为:

1. 计算机本科的学习路子是正统的,是真正的计算机教育。
2. 培训班及专科的大多只会语言,框架,不具备 “本科的正统计算机素养”。
3. 非正统的计算机本科出来的,即培训班或者专科出来的似乎不该来‘凑这个热闹’,‘拉低了’正统程序员的形象。

关于这几点,不止是楼主,从评论也可以看出,很多人都认为 [是这样] 。

然而,我是这么认为的。

1. 培训班专科出来的大多确实没有良好的“计算机素养”,
而“良好的计算机素养”对于高级的解决问题,解决高级的问题 是很重要的。
[你说的对] ,广大的培训班、专科的同学确实需要 [加强计算机素养]

2. 培训班,专科的 只会语言,只会框架,是个 CRUD boy,没错。很多是这样。
但是,这有什么“可憎”的吗?市场有大量的 CRUD 需要,张三培训一下,来吃这碗饭,合情合理吧。

3. 你说“什么乱七八糟的人都来凑这个行业”。这点我觉得你有点过了。
有的人工作是为了“理想”,“成长”,“发展”,“自我实现”。
而有的人,只是为了养家,为了活下去。
比方张三之前的工作一个月只有 2000 块,养不了家,于是参加了培训。
当了程序员,从此月入 8000,家里生活有起色了,孩子能吃饱了,老婆也不跑了。
张三这种‘非本科’参加培训的人有什么‘恶’吗?被你说成了‘乱七八糟的人都来凑这个行业’
人家只是要生存,正好参加培训班当个 CRUD boy 确实能找到工作。

4. 你通过个人努力上了大学,正好又选了计算机专业,正好碰上近年来国内计算机互联网的发展。
你这个优秀的 ‘正统军’ 英雄有用武之地,可以大展宏图。这很好。但是,

你要知道,可能张三、李四很不幸,生在山沟,在山沟里边上的小学,山沟里边上的中学。
在破烂的教室中,他们的老师用方言给他们读课文,用方言给他们读英语。
然后放学回去了还要放牛,喂猪,砍柴。
张三经过个全方位的努力,成为了那片落后的土地上,十里八乡里的第一个大学生。
而他的伙伴李四王五赵六早就下了学,去了富士康。
张三这个 ‘纯粹的底层人’ 也许不该考上大学,因为他从从平庸的学校毕业之后,根本找不到好工作。
而参加了培训班,当了程序员之后,开始了艰难的前路,指点帮助的人没有,却有冷眼的嫌弃的。


可能你确实很优秀,秒杀了很多 培训班 专科的程序员,但是你如果能够对 那些 ‘乱七八糟的从事这个职业的人’ 多一点善意 ,指点和帮助,不是很好吗? 或者你招聘他们,或者你不和他们做同事
kangkang
2018-09-19 18:09:00 +08:00
楼主的意思是现在行业混乱的原因是没有一个良好的鉴别程序员的标准吧。

上来就“野生程序员活不下去”“自学招你惹你” blabla...的,你的出身可能没啥问题,但是你的阅读水平暴露了。
Linxing
2018-09-19 18:18:30 +08:00
如果只是 CRUD 那就失去了意义

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

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

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

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

© 2021 V2EX