怎样评估一个程序员?
技术能力的核心是什么?解决技术问题、达成业务需求的能力?要达到这个目的从哪些方面来衡量判断,下面做一简要分析:
1、计算机理论基础:计算机理论技术原理:现在大多数视频教程培养出来的新手,这个东西普遍不被重视,但是在实际工作,分析清楚一个问题的因果脉络,对这方面还是有一定要求的,实际工作中很多人欠缺问题分析能力的原因,可能也就在这方面,曾经有个其他学科转行的程序员觉得自己不比科班生差的重要原因就是技术原理类的大部头看了不少。这方面补说来也不难,把科班生的那些专业先关课程补一补就行了,重要的是能把这些技术原理和实际工作的技术问题能联系结合起来理解。评估手段:算法笔试+概念压力面试
2、架构设计理解能力:这个东西为什么讲理解能力,因为一个领域的典型设计模型一般也轮不着大多数程序员能做,能把大牛的设计理解了,用好了,就ok了。理解得多,用得多,不自觉地成为自己的东西,将来说不定在解决结构设计问题时就成为了自己的设计。评估手段:分析过往设计
3、调试Debug能力:这个是硬碰硬、实打实的关键能力。其实调试这件事情考验的不仅仅是能力,同时考验的也是心力。很多人碰到问题容易气馁胆怯,就算自己肚子里有多少货,这个时候,不能把这些货调出来分析问题,那些货基本也是白搭了。解决技术bug有深有浅,自己的项目,碰到一个bug,当时抽丝剥茧,定位问题这算比较浅的。深的那种:接手别人的库和项目,要想把其用好或维护好,就得对对方的代码设计吃透,才能用好它。当然了这个可以看代码,或者看文档在一定的透明层解决问题完成任务也未尝不可。这个短期之内不好做评估,算法笔试可以间接评估一点这个东西
4、主动学习能力:这方面主要分阅读和沟通。阅读就是看文档、看书。看文档需要一定英文阅读基础。沟通其实只是点拨,要想真学清楚,其实是靠沟通之前和之后的功课。评估手段:课后作业
5、技术潜力的考察:1、是科班功底背景、2、是自学习、自发展能力。这两点前面已经说了
6、工程优化意识: 这方面就不细说了,各种工程要求及方法学,自己补吧。这个不好评估,review对方代码可以看出来
7、业务关注:好的码农要想真正解决业务问题,就要对业务有足够深度的理解和关注,为什么强调关注,其实关注代表了自身对业务领域的一种态度:评估手段:分析过往业务
8、产品意识:一个人或者一个团队的技术最终的体现是产品或项目的技术质量。看前台产品和后台技术质量
9、价值观:学术信仰或者技术信仰,追求完美架构设计实现的追求:对技术实现的过程理解和达成目标不能是攒出来就行。一个人价值观往往是由其成长教育环境和成长经历决定的,这也就是为什么现在某些互联网企业在招人企业简介里特别强调其技术团队相同学历背景的原因。文化爱好从某种角度反映一个人的侧面.评估手段:这个是最不好评估,现在的人为了工作很能伪装,不过试用期三个月看他的技术态度和主张应该足够了
10、人生观:要找那种人生观比较成熟稳重,从容淡定的那种,这个一般看眼神就足够了。---招人要招那种自信、卓越、优秀、有巨大成长空间的人,这种人放在那儿就是团火,就是盏灯。即所谓的A类人找A类人---要找聪明自信的人:这个也很难评估。
11、性格评估:要招那种乐观自信,生活态度积极而不功利,进取而不浮躁的人:这个不好评估
看一个人,要全面。看到缺陷,也有看到长处,不能求全责备。一个人既然当不了一个优秀的程序员,也可以在其他岗位上很优秀。对于职场人生,程序员只是一段经历。不过一个人在技术上的渣一般不是由IQ之类的条件决定的,那种职场混子永远成不了卓越的程序员。
让一个人干活,得有三力:有心力、有能力、有体力。
-1:团队及自我介绍
0、根据简历问一些具体技术问题
1、主动优化的意愿和具体经验
2、主动学习,快速学习的意愿和阻力
3、平功能坑和技术坑的能力
4、技术方向的认识
5、为了避免面试的主观误判:相关技术原理细节认知一定要做客观笔试+面试考察,对于工程师,算法代码考察是一个必须的东西。
6、先客观考察,后主观评估
7、先考察对当前工作胜任能力,再考虑未来工作的增长潜力
8、当前能力的客观评估定要一定广度和深度的笔试+面试题对其做考察评估。
last:薪酬要求
211大学名单:http://www.eol.cn/html/g/gxmd/211.shtml
985大学名单:http://www.eol.cn/html/g/gxmd/985.shtml
2017计算机专业大学排名:http://www.dxsbb.com/news/1797.html 这个计算机专业排名,未上榜单学校的计算机科班基本可以忽略不计
高质量的工程技术要求程序员必须一个专业性要求很强的工作,学历审查真是无奈之举:目前各种培训班导致的行业人力资源真是鱼龙混杂。不过有人说过:高考始终是中国最公正的选拨考试。