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

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

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

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

程序员就是其中之一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

全靠学生自学。

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

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

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

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

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

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

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

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

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

这就是我得出的结论。

20077 次点击
所在节点    程序员
170 条回复
leeUp
2018-09-19 11:37:25 +08:00
有些人就只是把这个当一个普通的工作啊,闲暇时间也不会自学,也没有什么基础,培训班出身,就是想来赚钱的。可这样换到其他的职业上不也是一样吗,大家说销售赚钱就去干销售,趋势就是这样,很正常啊。

没有基础 /不懂原理 /不会底层 又能怎么样呢?,可能不会自学,不理解程序运行逻辑,只会增删改查,只会做业务,理解只停留在表面,但是公司如果只需要这种人呢?如果觉得不满意就直接辞退了,要么面试问底层原理就直接过不了就行了。

不过是个工作而已。有很多人并没有对技术什么兴趣,就是想混口饭吃,事情做的不专业,公司也不在乎,那我们在乎什么?觉得别人不专业,只能让自己更专业了。
HackerOO7
2018-09-19 11:38:48 +08:00
只有科班非科班,而不应在学历水平上划分
Kellerman
2018-09-19 11:40:43 +08:00
@likaka 他说的是 cs 不是软件工程。
JerryCha
2018-09-19 11:46:33 +08:00
于是电子通信等一系列一样要学汇编学 C 的本科生被楼主无视了。不是只有 CS 才有资格搞程序开发的。
heliang
2018-09-19 11:48:00 +08:00
大一学习计算机原理,有同学挂科,老师笑:开关机都能挂。
j
2018-09-19 11:48:30 +08:00
请问你们有没有听说过“打字员”这个职业?
HarveyDent
2018-09-19 11:53:17 +08:00
市场有需要,就这样,你不知道有多少小老板就是要找一个苦力码农而已。
onion83
2018-09-19 11:54:46 +08:00
1、楼主对自己的职业生涯有着深深的危机感,受到行业冲击的时候,反而将责任重新推到社会,认为 [证] 能解决一切问题,诸不知中国的 [证] 含金量之低大家心知肚明。
2、计算机行业就是因为门槛低,所以才有创新、发展的空间。如果入职的门槛必须持证上岗,那么就没有 Linux、Microsoft、Google 没有 "I write python"
3、很多人没搞清楚 “工程师” “科学家” 职能 /角色上的区别。认为工程师就是应该从 CPU、Network、图像、AI 都应该全能通识,进而虚火旺盛,天天刷题搞算法而不苦练 CRUD,认真深入思考行业、产品、效率、成本问题。导致至整个行业风气被带歪,怪像乱生,ZF 的政绩工程也一定程度起到推波助澜的作用。
4、培训班也能教出你们期待的算法精通、数据结构基础扎实、笔试题高分的假象,本质上不过是加几节课和教学效果的问题而已,最成功案例:新东方?
5、企业期待你的业余产出、个人作品例如你们自豪的 github stars 都可以做假刷出来。出书、开会做演讲都可以花钱搞,名、利而已。能说的不一定牛逼,要相信高手会在民间。
6、拉钩等招聘后台有 985/211,名企经历等搜索选项,不一定是歧视,有可能只是为了提高招聘效率。如果您感到不适,更多的原因来自不自信。
7、健康稳定的职业生涯,犹如游戏打怪,从小公司到大公司,一步步来幸福指数会更高。当然不排除你付费或者运气比较好,能快速升级。
8、应届毕业生都去抢着搞算法、大数据,想做科学家。“低端” 工程师职位反而一片蓝海,掌握某个领域小技能例如 “小程序” 的人反而会成为加薪项。用人单位也要端正思想,JD 清楚一点,标价准确一点,对面试者要求宽容一点,是否能改善供给侧生态环境?
9、云技术\SaaS 已经渐渐成熟的今天,你觉得沾沾自喜的技术成就,不过是一项商业服务和几个配置项而已。本质上只是计算、成本、产出的问题。当前行业人才分布已经呈星状,每一个领域都有专家,想成为全才不是不可以,但是不一定有必要,带着问题去找答案会更好些?
10、IT 从业人员黄金生涯大概 10 年左右,之后要正确平衡:工作、健康、家庭的关系,而立之年至少清楚:工作、爱好、事业。
11、IT 行业还是算运作效率比较高,相对透明,待遇较好的行业,请热爱它。
12、要么忍,要么狠,要么滚。
stanleylog
2018-09-19 11:58:46 +08:00
培训班也好,大学也罢,都是师傅领进门,修行靠个人的。 培训班出来的不一定就不能成为大师,大学出来的也不一定各个都是合格的程序员。
co3site
2018-09-19 11:58:48 +08:00
会汇编、C、C++、Python,机会都留给你们,我还是老老实实在工程上做物探,再做数据分析
nihaorz
2018-09-19 12:00:11 +08:00
@onion83 层主的回答漂亮
miyalee
2018-09-19 12:00:49 +08:00
确实是这样,本科专业的一上来先学系统原理,计算机原理,网络原理等等,跟文科似的,好枯燥的;

然后学算法,数据结构,记得这部分好难,每天上课哀嚎遍野;然后就更难了,c, c++。。。后来是数据库;

再后来分方向(这一点我觉得我们学校还挺好的,以后是做前端后端还是测试就在这里由你自己选择了);

分方向后就比较明确了,学 web 相关或者 java php。。。其实这回已经大二下半学期了,大三就要准备实习了(我们实习较早,周期较长,给学生足够实践机会)。

所以相当于扎实了基础,但是上手的东西还是要靠自己。听楼主这么一说,突然好怀念
hanshijun
2018-09-19 12:07:42 +08:00
写得很不错,学习了。提醒:“曾几何时”这个词用错了
yjj690593444
2018-09-19 12:09:16 +08:00
@onion83 第一条严重同意,中国的证书含金量真是够低的
javaWeber
2018-09-19 12:17:01 +08:00
@crayontxx
挑几个刺起码从我的经历来看,本科所谓“学编程 /学软件开发”是和其他的基础课程(计组,OS,网络,数据结构算法)穿插在一起的。
“开发工具呢?框架呢?” 在国内的确我所在的学校也没有特别地教过这些,但在国外,教授工具运用以及各种 best practice 也是穿插在各个课程中的。
----------------------------------------------------------------------------------------------------------
我本科以前上机时,老师掏出 turbo c。。笑死我了。都什么年代的东西了。
l00t
2018-09-19 12:19:32 +08:00
人家 CRUD 就能干活完成工作了啊,要啥自行车?
wsh1108
2018-09-19 12:28:39 +08:00
是市场决定的,而不是资源
sammo
2018-09-19 12:30:30 +08:00
我本来以为程序员群体维护整个行业利益是天经地义的事。
就像所有公交司机都知道,没有 A3 驾照,你就不能开公交车。

所有公交司机都知道,没有 A3 驾照,就是 TMD 不带你玩。

BUT 现在
一群人非要说 我就是没有 A3 驾照,我就是要开公交车。
你有 A3 驾照,很了不起吗?
大家都是混饭吃,装什么清高?

这 ... 肯定车祸阿 不用幻想了
sammo
2018-09-19 12:36:04 +08:00
市场有没有决定 “没有 A3 驾照,你就不能开公交车” 阿?
zaneenaz
2018-09-19 12:37: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