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

每天早上七点三十,准时推送干货

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

现场一

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

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

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

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

现场二

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

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

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

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

现场三

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

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

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

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


现场四

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

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

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

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

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

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

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

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;

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

< END >

整理过去一年 Java 极客技术发表的文章 整理完毕之后,阿粉自己都被自己惊到了,在过去的一年多时间里,竟然发表了 400+ 原创篇文章,整理出来精选文章竟然足足有 800 多页!

一.Java 篇

接下来阿粉带你看看具体都有啥,Java 篇,从基础到进阶都有,帮你夯实 Java 技能

二.面试篇

可以说是篇篇经典了,这里面有真实的面经分享,有高频面试点分享,如果能够认认真真读完的话,以后和面试官扯皮再也不怕了

三.容器篇

我知道现在云原生的概念这么火,那么懂容器的概念,会使用 docker ,只是这一点就足以让你的职业生涯再添一笔辉煌的经验,所以阿粉在容器篇整理了一个系列,从入门安装到手把手部署网站,绝对可以让你快速上手 docker !

四.并发&多线路

说到并发 & 多线程这块,阿粉就想哭撩~

这块内容阿粉写的文章其实是挺多的,而且每次写的时候,头发都会掉不少,

阿粉的这本 PDF 是要为读者们负责的,所以这 4 篇不要小看,阅读量都是很可以的,读完绝对可以让你清楚明白(毕竟阿粉禁不住夸嘛,所以要多夸夸我,多点点在看呀)

这个价值,我就不多说啦,大家都是技术老手!

五.Spring篇

至于 Spring 多重要就不用阿粉来强调了吧?Spring 都没玩转,敢说自己精通 Spring Boot & Spring Cloud ?

六.Spring Boot

阿粉知道 Spring Boot 现在也是很火的,那我这个暖男,肯定也给亲爱的读者们准备好了,帮你从基础到进阶,还有真实案例分享,就问你阿粉暖不暖?

整理出来精选文章竟然足足有 800 多页!

看完介绍,你心动了吗?这本 PDF 想要吗?

后台回复  888  即可免费获得!

还想和阿粉进行进一步的沟通和交流?

猜你喜欢

转载自blog.csdn.net/ityouknow/article/details/108786658