如何才能正确的评估编程水平

简介: 自从 iPhone 诞生,互联网带上了“+”号,创业方向明显趋向于技术导向,尤其各种黑白科技在日常生活的广泛植入,未来对人工智能需求趋势明显。那么问题来了,各公司最频繁的口号不是自己的 slogan,而是变成了“我们不差钱,只差一个 CTO”。

自从 iPhone 诞生,互联网带上了“+”号,创业方向明显趋向于技术导向,尤其各种黑白科技在日常生活的广泛植入,未来对人工智能需求趋势明显。那么问题来了,各公司最频繁的口号不是自己的 slogan,而是变成了“我们不差钱,只差一个 CTO”。


大学里计算机专业的学生们哪能安心学习,能出来兼职赚钱的决不在教室里待着。然而每年毕业生那么多也未能解决各大小企业人才缺口的问题。前段时间的阿里裁员闹哄哄的持续了一两个月,这哪里是裁员,裁员裁得别人家的 HR 们都跟进了大卖场,人才“抢购”就跟涨潮似的,秒秒钟淹没成批的开发者。


身边真实地案例,同样是刚毕业的 2 位同学,一位是经过阿里实习的,一位是在另一家不知名软件公司实习自动离职的。然而阿里被裁的同学还没离开阿里就已被预定走了,另一位却还在“自由职业”中。这里一是暴露了招聘方的懒——去正紧招聘会 shi 嘛,就这么不相信自己的判断力?二是,他真的不相信自己的判断力。所以选择了相信阿里的人才选拔标准。可人家 BAT 可不是天天裁员呀,所以问题依然存在。


连实习生都那么紧俏,真正的毕业生怎么办?据网上资料显示,2015 年计算机专业的本科毕业生已 9 万人,而依旧有更多的计算机学生无法与企业匹配就业。毕业生多半奔着大企业去,对小企业普遍不信任。而企业对刚毕业的学生也无法准确判断其实际水平和可培养潜力。


为了找解决方案,各公司的 HR 也是费尽周折骚扰技术部门出题,而网上可以查到的各大公司的考题面经,这时候最终还需要技术老大的亲自面试,HR 也是有心无力。比如牛客网,会有BAT、京东、美团等历年考题和面经,果然有政策即有对策。比尔盖茨曾经说过,看到开发者经常把编程看做解答各种脑筋急转弯的问题,觉得略有遗憾。


企业对计算机人才的渴求量只增不减,BAT 等大型企业已经衍生出了一套完善的招聘流程,且具备人才培训和储备的能力。而近几年创业浪潮只起不伏,初创型公司只增不减,加上创始人年轻化,对人才的把控力度显然不如成熟型公司,多半凭招聘者的个人喜好选择,失去客观评估标准。公司和人才市场的紊乱导致了更多职场社交平台诞生,如脉脉、赤兔、微链等。


那么,是否可以有一套基础标准,类似于项目经理的 PMP 证书一样,可以客观的衡量编程人员的编码水平呢?所以,首先我们要确定的是什么是编程水平,要以怎样的维度评估。


过去学校里和培训机构里的考试方式有 2 种,笔试和机试,内容主要是基础知识的问答和简单的功能方法实现。可以理解为数学的加减乘除考试,而再复杂一点的例如数学中的应用题,编程就没有与之匹配的测试模式了。那么在这里就要求公司的 CTO 或者自身技术大牛亲自出马,个人面谈的方式评估。缺陷当然也是有的,通过面谈可以问到逻辑实现和方法论、工程思想的水平,而具体执行操作上的能力测试又是一个空缺,这就只有去看试用期的考核了。


来自别国的参考

前段时间美国卡耐基梅隆大学计算机科学学院教授 Philip Miller 来访中国,先后拜访阿里巴巴杭州总部和 SegmentFault。Miller 教授于 1979 年开始在卡耐基梅隆大学的计算机科学学院工作,从事编程教育超过 30 年,其创立的 AES(Authentic Examination System)技术为软件开发人员提供了权威客观的能力测评解决方案。

image.png


AES 基于 J2EE 平台开发,包括学生账户、教师账户、考试、检查处理、消息和统计 6 个模块,支持线上提问和反馈。其出发点是为了真实准确的测量考生在一个专业的编程环境里程序实现的能力,以预测评估其在未来实践项目中的解决方案能力。


AES 技术产生之前,美国社会调查显示超过一半(51%)的毕业生,普遍需要额外的技能培训才能够上岗工作。在这之前学生的考试方式基本上是以家庭作业、口头考试、纸笔等方式,极度缺少总结性的全面评估。AES 的出现在当时是个非常重大的改革,测试的同时,更促进诱导学生进一步深度学习。


2001 年 AES 在卡耐基梅隆大学里开始测试使用,学生从用纸笔的考试方式改为线上测评。3 个月内的 4 次测试,共 231 名学生的问卷反馈中,结果表明学生们压倒性(94.5%)支持 AES 在线考试形式。有趣的是参与测试反馈的学生,多数是工业管理工程和生物技术专业的学生,而不是预期的计算机科学专业的学生。


AES 的反馈问卷中,学生表示最满意的地方在于,考试结束就能够看到自己的得分,同时也表示在答题过程中截止时间的显示导致压力产生。AES 除了直接在测试结束后让学生填写反馈问卷外,另外还有一套日志文件统计,其中包括成绩统计趋势、性别影响、操作和信息响应时间等维度统计。


2013 年 10 月 Miller 教授将 AES 测评技术商业化应用,创立 Proxor,专门为企业提供编程能力评估支持。之后,欧洲软件学院与 Proxor 合作,向欧洲的开发者、雇主和教育工作者提供 AES 服务,可见企业对编程人才的评估需求全球范围普遍存在。


深蹲象牙塔里的 Miller 教授竟然会选择来中国,而且是阿里和 SegmentFault,想必也是费了一门心思想普及推广他的 Proxor。近年来中国技术人才的储备猛增,SegmentFault 又是中国开发者最为集中的技术社区。创业公司数量也是爆发式增长,虽然中间更新迭代了不少,长江后浪拍前浪嘛。尤其是创业趋势也正在转型技术驱动,对软件评估的需求不可或缺。


来自我国的需求

故市场需要一个这样的测试,通过测试可以了解到的结果是被测试人的快速编码能力(编码严谨度和熟练度)、解决方案能力(软件工程思想灵活度),即广度与深度的测试,以达到更准确全面的效果评估。

image.png


国内类似的测试有 PAT(计算机程序设计能力考试 Programming Ability Test),据说已与 90 多家企业签署联盟协议,包括 Google 中国、微软中国、甲骨文亚洲研发中心、及国内 BAT 等,然而实际 C 端用户似乎对此并不热衷。大部分开发者并不会去参加这个测试。如果学位证书里面不强调要有计算机二级通过证书,学生多数也不会主动参考的吧。

除了线上测试,还有一种比赛的方式可令优秀开发人才脱颖而出,叫做黑客马拉松编程比赛,国内外各创新公司都会组织不同规模的黑客马拉松,以发现创新型编程人才纳入麾下。国外如 Facebook、TechCruch 等,而中国已有最大的黑客马拉松方则是 SegmentFault。


如之前提到的当前比较火热的职场社交脉脉、赤兔、微链等,各有侧重人群,用户可给自己贴技能标签,标签可以被所在平台的网络朋友认可,不过都不是很对技术人员。其实不少编程大牛都有着开源分享的爱好,没事写写 blog 放点自己的代码和技术心得,SegmentFault 上解答些技术问题等,也是一种技术圈的声望值积累。然而对于初级开发者来说,则是完全没有优势的。


除了 Miller 教授的 Proxor,国外还有同类的其它测试平台,CodinGame、Codeassess、Mettl 等。相比之下,国内并没有其它可选择的测试平台,似乎一块空缺的市场等着填补。


SegmentFault 创造属于开发者的时代

SegmentFault 基于超过一百万的精准注册用户,期望在人才输出上助力国内技术驱动的企业。不久前推出招聘模块http://segmentfault.com/jobs),给企业提供一个更准确的人才招聘入口。同样地,SegmentFault 关注开发人员的能力评估和展现。招聘企业可查看求职人员在 SegmentFault 平台上的个人技能标签和社区声望值,标签可看出此人的技能属性,声望则是其技术分部的展示。再深入挖掘还可查看求职人发布的技术文章、回答的问题的答案质量,做出更准确的分析。当然,这些需要在 SegmentFault 社区平台保持持续产出和一定程度的积累。


2015 年接近年末,经过接近 20 场的 D-Day 技术沙龙和联动 5 城的黑客马拉松编程比赛,SegmentFault 已活跃起全国一、二线城市的技术社群,本年度最后一场 D-Day 即将于 26 日在北京举办,主题 iOS,届时出席分享嘉宾来自百度、腾讯、高德和滴滴,必精彩不失。


2016 年 SegmentFault 将引入更多的资深开发者和互联网企业,社区用户将在为社区创造知识价值的同时,通过 SegmentFault 让企业更了解开发者,促进开发者和企业双方需求的平衡,促进社会资源更有效地使用。

相关文章
|
23天前
|
机器学习/深度学习 数据采集 人工智能
打破RLHF瓶颈,克服奖励欺骗!Meta发布全新后训练方式CGPO,编程水平直升5%
Meta提出了一种名为约束生成策略优化(CGPO)的新型后训练范式,用于解决基于人类反馈的强化学习(RLHF)在多任务学习中的挑战,如奖励欺骗和极端多目标优化。CGPO通过混合裁判(MoJ)技术,结合成本效益约束策略优化和分层技术,系统化地识别RLHF中的平衡点。与传统方法相比,CGPO在多个任务上表现出色,包括一般聊天、STEM问题、指令遵循、数学、编程和知识等,且具有理论保证。CGPO还能够检测并缓解奖励欺骗行为,显著提升了多任务学习的性能。论文链接:https://arxiv.org/pdf/2409.20370
36 7
|
2月前
|
机器学习/深度学习 监控
在进行多任务学习时,确保模型不会过度拟合单一任务而忽视其他任务
多任务学习(MTL)中,为避免模型过度拟合单一任务,可采取任务权重平衡、损失函数设计、正则化、早停法、交叉验证、任务无关特征学习、模型架构选择、数据增强、任务特定组件、梯度归一化、模型集成、任务选择性训练、性能监控、超参数调整、多任务学习策略、领域适应性和模型解释性分析等策略,以提高模型泛化能力和整体表现。
|
2月前
|
机器学习/深度学习 自然语言处理 人机交互
综合RLHF、DPO、KTO优势,统一对齐框架UNA来了
在大型语言模型(LLM)的预训练中,尽管模型已接触数万亿个标记,但仍可能生成不符合预期的响应。为解决这一问题,研究者提出了RLHF、DPO和KTO等对齐技术。然而,这些技术各有局限。为此,论文《UNA: Unifying Alignments of RLHF/PPO, DPO and KTO by a Generalized Implicit Reward Function》提出了一种新的统一对齐方法UNA。UNA通过引入广义隐式奖励函数,成功将RLHF/PPO、DPO和KTO统一起来,简化了训练过程,提高了模型的鲁棒性和性能。
74 15
|
7月前
|
自然语言处理 搜索推荐 机器人
只需几个演示就能对齐大模型,杨笛一团队提出的DITTO竟如此高效
【6月更文挑战第22天】斯坦福团队推出DITTO,一种只需少量演示即可高效对齐大型语言模型的新技术。DITTO借助用户演示生成在线比较数据,实现模型对齐,无需大规模数据集。在用户研究中,DITTO表现优于传统方法,平均胜出19%,开创了LLMs对齐的简洁途径,适用于个性化助手和聊天机器人等场景。然而,它可能不适用于需要大量数据的任务,训练速度较慢,且可能无法完全匹配用户意图。[论文链接](https://arxiv.org/pdf/2406.00888)
102 10
|
5月前
|
机器学习/深度学习 监控
在进行多任务学习时,如何确保模型不会过度拟合单一任务而忽视其他任务?
在进行多任务学习时,如何确保模型不会过度拟合单一任务而忽视其他任务?
|
8月前
|
数据采集 机器学习/深度学习 自然语言处理
数据更多更好还是质量更高更好?这项研究能帮你做出选择
【5月更文挑战第28天】研究探索了在机器学习中数据质量与规模的权衡,提出质量-数量权衡(QQT)概念和神经网络可扩展定律,考虑数据非同质性、效用衰减及多数据池交互。结果表明预训练时数据质量和规模同等重要,应根据情况权衡。但研究局限于模型预训练、特定类型模型和模拟数据验证。[[链接](https://arxiv.org/pdf/2404.07177.pdf)]
63 1
|
8月前
|
机器学习/深度学习 人工智能 数据可视化
如何从灵活性角度评估数据可视化工具的优劣?
【5月更文挑战第18天】如何从灵活性角度评估数据可视化工具的优劣?
66 4
|
8月前
|
机器学习/深度学习 数据可视化 算法
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
|
程序员 开发工具
衡量程序员能力最好的方式
衡量程序员能力最好的方式
130 1
|
8月前
|
数据可视化
R语言时变面板平滑转换回归模型TV-PSTR分析债务水平对投资的影响
R语言时变面板平滑转换回归模型TV-PSTR分析债务水平对投资的影响