BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

2012.3.14 微博热报:热议基础不好的程序员

| 作者 郑柯 关注 3 他的粉丝 发布于 2012年3月14日. 估计阅读时间: 6 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

基础不好的“程序员”能称作程序员吗?

ArielYang在去年11月22日发布了一条微博,抱怨.NET开发人员基础不好,这两天突然激起热烈讨论:

至少有一半.net开发人员不懂int和Int32之间的关系,不懂bit和byte之间的关系,不懂二进制和十进制的转化。

3月13日,ArielYang用评论转发了自己这条微博,并在评论中再次吐槽:

抓狂了,计算机专业的毕业生一片一片的真都不懂二进制啊,“进制”都不懂啊,bit和byte不知道是啥啊,2GB不知道是多大啊

压力很大同志建议:

拒绝承认这些人的计算机专业毕业生和程序员的身份

@哬輈认为:

很多毕业证都是假的。。。再加上.net开发封装得太厉害,拖拖拽拽一个ui就出来了,然后数据库绑定一下,一个功能就出来了

CleverDeng反驳:

拖拖拽拽,只能说 VS IDE 太强大了,跟 .net 半毛钱关系都木有啊,Java Swing 开发时候,比如 netbeans、eclipse 不也可以拖拽控件自动生成代码。

压力很大同志建议:

呼吁一批靠谱的大牛一起成立一个靠谱软件工程师协会,给予会员授予靠谱资质,以便于企业招聘的时候能够方便的找到靠谱的人

dani喵很重口很暴躁提到:

程序员和工程师是两类人,我的观点..靠谱的工程师,未必是专业的程序员,反之亦然

herozhang指出:

一些人各种框架、各种IDE、各种语言都玩,但就是不知道基础知识,大小端机更不指望知道了。做产品也有类似的人,各种模式、各种方法论,画个交互却很丑。。。

陆江南

类似还有string和String的关系,int和Int32的关系,为什么算钱什么的不能用float。拖曳控件和Designer模式的View降低了门槛而已,但要说说一半的开发人员。。。。推理有啥根据?抽样样本多大?

@herozhang还说:

貌似当场写一个没有潜在bug的完整冒泡排序就可以区分出高中低几级的程序员。从看命名规则、缩进、异常处理、函数重入、多态啥的。。。就看出科班、半路出家、野路子、科学家、工程师之间的区别了

@比尔盖子V

我前几天用Python写了一个,晕死了。回头实现插入排序。我发到OSChina上,有人就告诉我排序用内建函数

豆芽菜大叔对此认为:

其实现在的重点是如何让排序支持多线程/进程/机器/集群

刘璜提出另外一个视角:

工作有分工的,并不是我们这些每天花3小时写所谓核心代码,其余时间发微博打屁的人,就可以去鄙视那些每日重复画界面,拖拉组件,拷贝无趣的业 务代码的人,他们下班要回家做饭要生计的,真的没有多余的时间去研究很牛逼的技术。说实话,很大程度上我们都是剥削他们的剩余价值。

这年头苦逼的.NET工程师是很不幸的,写不出冒泡的很多,但要求了解至少一种JS框架,会手写联动下来框,还要会写支付回调的业务逻辑,还要会设计表,写存储过程,还要知道怎么优化查询语句.....然后挣一点微薄的薪水,我相信再写下去,很多人会哭的。

宝玉xp说:

程序员常有两种,一种是追求技术的,懂int和int32的区别,开口就是设计模式,追求技术完美和细节,也常因为过度设计而Delay进度; 一种追求业务实现,可能不懂int和int32的区别,可能代码不够模式,但是开发出来符合业务功能,能快速完成功能。白猫黑猫,能抓老鼠的猫就是好猫!

但是老赵并不赞同:

我还是要既懂技术又能完成功能的,别说没有或是少,程序员不是你说的这么分的。

刘鑫-MarchLiu同意老赵的意见:

我可是越来越多的遇到没有技术谈完成业务根本就是扯淡的情况……

mikespook也说道:

业务功能符合是符合了,但是搞不好本来应该用 double 的用了 float,本来用 int32 转到 bytes 的搞成了 int 64,你们知道后果是什么,不是立刻就能发现的“井”错误。

宝玉xp对于老赵的意见是:

你是第三种啊!问题在于观察角度不同,技术人员看技术人员,觉得懂int和int32的程序员才是一个合格的开发人员;站在公司角度看,能很好完成业务功能的开发人员就是个好开发人员,公司业务不一样要求也会不一样

老赵回复宝玉xp

我的标准也是能完成业务,但是我认为不懂最基本的技术就满足不了这个标准。

时蝇喜箭也不同意宝玉xp的意见:

那能指望这样的人写出可维护的代码么?根据我有限的经验,技术粗糙的开发人员,开发出来的东西也很粗糙

软软的胖糖看法还是很悲观:

1+1为啥等于2?有些问题站在你的角度你可能认为只是必须掌握的,但是大多数程序员真的只是码工,老板也就希望找个码工。只了为能够完成自己 的工作,而这些知识对80%的工作几乎是无用的,但要去深入学习确是要80%的时间。编码到80岁估计还是少数人的想法吧。更多的是追求温饱而已

智慧笨蛋认为:

我的个人看法是科班不科班后劲差距会比较大,差距主要在:数据结构,操作系统,编译原理三门课上。

韩铮at_startup指出:

软件的生命周期中,维护成本占到了80%以上,如果只讲完成功能,无非是把技术债留给后来者,这不是一种负责任的行为,我认为这和技术已经无关

相关的讨论仍在进行中,欢迎读者在评论中留下您的看法。

今日微博推荐

王海鹏Seal

推荐理由:过程改进方面的专家,有多本翻译著作,对敏捷和项目管理有丰富经验。


欢迎读者关注@InfoQ,推荐热门话题,可私信@InfoQ,同时请您说明推荐理由。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

基础与态度 by lingk ice

基础很重要,同样与基础重要的还有态度,在选择员工的时候,考虑的大多还是个人的基础能力,在同样的环境下,基础扎实人要比只知其然而不知所以然的人能更快的上手。试用期的时候,就是考察员工态度和能力的时间了!

Re: 基础与态度 by Yang Yang

《数据结构》《操作系统》《编译原理》 这是老三门了,其实对于.net/java 来说除了数据结构有点用以外,其他的两门都没有任何影响。

真正应该学的应该是 《数据结构》、《面向对象》、《软件工程》 这三门没学好,那才是真的是差一大截

Re: 基础与态度 by 天 小陈

《数据结构》、《面向对象》、《软件工程》 是初级与中高级的区别,应该还有语言本身。

既然说到书了。。。 by 朱 敏

既然说到书了,结合我的体会,最应该学的是《数据结构》、《语文》。

Re: 基础与态度 by 胡 杨

存在即合理,知识运用存乎一心也

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

5 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT