“科班出身”的程序员和“培训出身”的程序员的大型辩论(甩锅)现场

简介: 前几天阿粉说阿粉最近换了公司,而且入职之后干掉了公司里面的测试数据库的事情,而接下来的事就比较有意思了,来自“科班出身”的哥们和来自“培训出身”的我的大型辩论(SIBI)现场,也不能说是通俗的甩锅,但是确实有那么点意味。

现场一

“科班程序员”:这功能很好实现呀,直接写几个嵌套for循环,在里面判断一下就行了,直接返回数据就行了,为啥你这写的这么墨迹呢?

“培训程序员”:内心OS:嵌套for?再加上几个if,你确定你的数据超过1w条,没有明显的延迟么?于是,只能告诉他,兄弟,这么写肯定是没什么问题,但是你不想一下后期怎么维护么?你这才一两万的数据我都能感觉出明显的延迟了,为啥不能优化一下呢?

说实话,说到这个问题的时候,也避免不了被大家diss,觉得这不是科班出身的程序员能写出来的代码,而事实情况确实是这个样子的,也可能是工作经验不太足,所以很多代码写的不是很给力,也可能是之前的公司做过几次 CodeReview,所以每次在写完代码之后都习惯性的去考虑一下这个代码还能不能优化的更加简单一点,所以考虑的时间要稍微长一点。

于是,兄弟就开始和我较真了,阿粉的策略一直很简单,兄弟,你自己写个三个for循环,然后去看看你执行完这个循环的时间,然后想想如果在循环中加入查询数据库的所有的操作,你再想想怎么处理,就比如说,你要比对循环里面的List里面是不是有这个的时候,不用写那么多的for循环,不然那不就是X*Y次了,为啥不再单独的造一个List用contains来获取呢?

0.jpg

现场二

“科班程序员”:哥,这个功能是不是还可以再继续把这些内容加上,这块我觉得加上它会更加的完善。

“培训程序员”:来自内心的OS,加个锤子,需求上怎么定,我就怎么干,干完了不是就OK了,为什么要多此一举,但是心里这么想,实际还是不能这么干,于是说,这个地方你看怎么改,邮件给我说,抄送给xxx,然后我再改。

也不是说加这个不行,确实是,按照需求完成了工作之后,你再过来给我扯东扯西的,有点让人难以接受不是,你要是说这地方写的有问题,是吧,咱们还能请教一下你这块应该修改成什么样子,你现在过来给我说加功能,你这不是要搞事情,怎么能惯你这个毛病呢,于是二话不说,先发邮件,抄送给领导,谁让加的,别到时候你一句话,加了功能,到最后出问题了,第一时间找的还是我,于是这个功能需求上没有的,自动屏蔽。

阿粉在这里不是说“科班出身”,和“培训出身”之间的差距,没有任何其他的含义,只是这次确实是比较巧合,这个哥们是刚毕业2年的本科,专业是计算机科学与技术的。仅仅是巧合,不要多想呦。

现场三

“科班程序员”:这个简单,几天就能搞定了,不用那么麻烦,

“培训程序员”:这是啥呀,我得先看看基础,然后再实际动手操作

说实话,不得不说,有时候“科班程序员”虽然有些时候会让你感觉到他们有着一些些的优越感,但是技术也确实很给力,比如说在公司要使用一项新技术,他们能够二话不说的几天就能开始干活,而在这些内容上相比较,“培训出身”的程序员反而没有那么给力,而是得先摸清楚基础,毕竟大部分的科班生都是经过学校系统的学习,知识体系更加完整,所以能够更深入的解决问题,但是有一些碍于时间短的原因,没有成功的积累起来经验的时候,还是欠缺点火候的。

这不正是之前网上看的一个图么?1.jpg

现场四

这个场景就比较有意思了,就是双双联合和产品battle,面对产品的灵魂提问:

“这个需求用户/运营说要改成这样,”,

我们的统一回答,邮件呢?你发个邮件先,然后抄送给那个谁谁谁,单独给我说,我实在是不敢给你这么干,不然改来改去,还是第一版怎么弄,你就先发邮件,证明我们在干活不是吗?你先去准备邮件吧。

这话说的是没有啥毛病吧,这是经验总结出来了,不然等你开了头之后,接下来的事情就比较难办了,能做完还行,这做不完的话,那就相当于你没有干活,所以,对程序员来说,你把做的功能给我罗列清楚,然后提交上去,下发指定哪些功能确定之后,我再做也是完全不虚的。

说了也挺多的了,阿粉也在后边给大家放上一个曾经的面试题,是属于那种上手实践的面试题。

面试官给的一个面试题,而面试题很有意思,大家可以看一下。这个题阿粉是没有回答上来,但是来自科班生的答案,让面试官很满意:

2.jpg

而他的实现方法和我从网上看到的是一模一样的,

Task<bool> task = new Task<bool>(() => checkCustomerprice());
task.Start();
bool result = task.Result;
Task<bool> task2 = new Task<bool>(() => checkInventory());
task2.Start();
bool result2 = task2.Result;
 if(result&&result2)
    return true;
 else 
    return  false;

网上的大神也不确定对不对,阿粉觉得这么实现确实也是有道理的,不知道大家的意见是什么样子的呢?

相关文章
|
6月前
|
算法 Linux 程序员
嵌入式工程师以及C++程序员到公司就业需要掌握那些技术?
嵌入式工程师以及C++程序员到公司就业需要掌握那些技术?
|
6月前
|
存储 搜索推荐 程序员
SnippetsLab:程序员的秘密武器
SnippetsLab:程序员的秘密武器
190 0
|
6月前
|
开发框架 安全 程序员
程序员的护城河
程序员的护城河
57 0
|
传感器 机器学习/深度学习 Kubernetes
2023年的程序员将何去何从
2023年的程序员将何去何从
|
Java Devops jenkins
成为Java后端工程师的九条必经之路!
果您真的想成为优秀的Java Developer,那么您必须首先花时间学习JVM内部,例如JVM的不同部分,它们如何工作,JIT,JVM选项,垃圾收集和收集器等。
298 0
|
消息中间件 运维 NoSQL
非著名产品经理亲授:如何与程序员对线
非著名产品经理亲授:如何与程序员对线
非著名产品经理亲授:如何与程序员对线
|
运维 安全 小程序
9102年程序员生存之道
很多朋友都说,IT是吃青春饭的行业。很少人能在35岁之后还呆在这个行业。在这个行业滚打多年后我,有时在想是不是就有必要开始认真考虑这个问题了?这还得从认识的1个哥们的故事说起。
9102年程序员生存之道
|
SQL 运维 NoSQL
35岁后程序员该何去何从?
你所处的行业在什么样的产业周期?你的能力是否被当下的行业所需要?你当前想要什么?你长远想要追求什么?
1090 0
35岁后程序员该何去何从?
|
Java 程序员 开发者
程序员的健康问题终于有救了,有个资深程序员写了本《程序员健康指南》!
程序员的健康问题终于有救了,有个资深程序员写了本《程序员健康指南》!
|
程序员
程序员是金饭碗?培训班出身没人要,不造假就没工作?
作为一名想从事开发工作的学员,首先应该将“钱”摆在一遍,将兴趣提到首位,有兴趣自然好,没兴趣就应该培养兴趣,摆正心态,才能学有所成。
8065 0