[技术讨论]程序员的基本技能和素质

最近在一家公司帮忙,因为那个公司的一个主要股东和我很谈得来,他们公司是准备提供医疗相关服务的,这个股东也是阜外医院的一个先心专家。

这里暂时不谈其他问题,仅仅从招聘的过程中看到的一些信息和让我深为担忧的事情。

招聘技术人员的过程并不长,比起2002年在上海的托普招聘数量少多了,但是,我却失望得更多,担忧也更为加剧。

我给过来的技术人员出的一个简单题目是:

实现100!=?

要求按照自己平时的代码习惯进行完成,脱离计算机,徒手编写全部代码。

 

参加面试的人员一般都是刚毕业一年到三年间的Java开发人员。部分人员还曾经专门参加了一些培训机构的培训,其中有人说他们的教师就是做过多年开发的程序员,当时带他们的时候就是大量的实践(我不知道真假,姑且信以为真)。

最后发现的问题如下:

1、前后十多个技术人员只有一个人写了注释(这个人曾在对日外包公司工作过一年多),而且仍然缺失很多,让我深为担忧,中国目前这批新入行的程序员的代码质量,居然还是如此混乱,十多年了,仍然如此,教育也仍然如此。

2、在实现的代码中,几乎所有的人定义的输出结果的变量都是int类型,只有一个人使用了long类型。也就是说,只有一个人想到这个会是一个大数计算问题,虽然他也错了,但是,至少他想到了一些。

100!=9.3326215443944152681699238856267e+157(windows计算器得到的结果)

大家可以查一下,其实int和long类型都不能支持到这个数字的计算结果。

事后分析的时候我询问了一下应试者是否知道int类型的范围,几乎没有人能回答上来,我很失望。

我记得在我毕业的时候,类似这样的类型范围都是随口应答的,根本不需要思考,常规应该记住的诸如int、long、float、double等等,这是最最基本的东西。

3、很多人甚至出现严重错误,输出结果变量的初始赋值为0,中间的计算全部都是乘,也就是结果仍然是0。也就是说,写完的代码根本没有经过大脑的反思,就直接提交给主考官来看,这样的代码扔出去交给测试人员,难怪要把测试人员气死。

诸如此类的错误还有很多,就不再一一列举了。

 

我在2002年做的一个项目的授权系统,从一对一授权到一对多授权,最后一个版本是多对多授权(连续干了三天三夜全部实现,中间没有睡觉休息),一对一授权完成后的测试也就只有三四个bug,而多对多授权做完的测试就是一次性通过,没有任何bug被发现。

我深深地担忧目前程序员的基本技能、素质和责任心,因为他们的学习和基础都显得如此单薄,没有着力点。也终于理解了为什么这些年刚毕业从事程序员职业工作的人员薪资下降如此厉害。

 

好好反思一下吧,不仅仅是这些学生和刚工作的人员,学校、培训机构也需要同样甚至更多的反思。

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 90
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 90
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青润

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值