基础不好的“程序员”能称作程序员吗?
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,你们知道后果是什么,不是立刻就能发现的“井”错误。
你是第三种啊!问题在于观察角度不同,技术人员看技术人员,觉得懂 int 和 int32 的程序员才是一个合格的开发人员;站在公司角度看,能很好完成业务功能的开发人员就是个好开发人员,公司业务不一样要求也会不一样
我的标准也是能完成业务,但是我认为不懂最基本的技术就满足不了这个标准。
那能指望这样的人写出可维护的代码么?根据我有限的经验,技术粗糙的开发人员,开发出来的东西也很粗糙
软软的胖糖看法还是很悲观:
1+1 为啥等于 2?有些问题站在你的角度你可能认为只是必须掌握的,但是大多数程序员真的只是码工,老板也就希望找个码工。只了为能够完成自己 的工作,而这些知识对 80% 的工作几乎是无用的,但要去深入学习确是要 80% 的时间。编码到 80 岁估计还是少数人的想法吧。更多的是追求温饱而已
智慧笨蛋认为:
我的个人看法是科班不科班后劲差距会比较大,差距主要在:数据结构,操作系统,编译原理三门课上。
韩铮 at_startup 指出:
软件的生命周期中,维护成本占到了 80% 以上,如果只讲完成功能,无非是把技术债留给后来者,这不是一种负责任的行为,我认为这和技术已经无关
相关的讨论仍在进行中,欢迎读者在评论中留下您的看法。
今日微博推荐
推荐理由:过程改进方面的专家,有多本翻译著作,对敏捷和项目管理有丰富经验。
评论