如果他是在领导力和交际能力都能达到高级水平,在技术方面能属于中高级的话,我们也认为是高级程序员。
举个一年前发生过的真实例子,我们雇佣了一个初级程序员,因为据我们评估,起码在最初的六个月中他需要非常多的指导。
到了第六个月,他的技术水平就已经达到中级了。到第一年结束时他就已经达到了高级水平。我敢这么说的原因是我们知道如果他离职,我们需要雇佣一个高级程序员来顶替他。
这样的事情为什么能发生?因为他是在我们公司起步的,而当时他已经在交际能力和领导力方面都可以达到高级水平了。所以他要在我们团队中做高级程序员的工作只是需要提高技术能力而已。
只看技术水平并不够
对于技术水平高但在领导力和交际能力方面都缺乏经验的人,不能直说“在我们这里你达不到高级程序员的标准”,这话太刺耳了。但对于他在团队中能承担的责任来说,我们可以暂时评订为中级,等他把另一方面或者两方面都提高了之后,我们再把他提升为高级。
很多公司只根据技术水平来做判断,但这样对于我们这种小型的而且非常依赖合作模式工作的公司来说行不通。其实我非常担心那些只衡量技术能力的公司是认可“孤独的天才开发者”这样的危险想法的,觉得一个人技术水平高,就想当然的认为领导力和交际能力也很好。
在大公司中每个人都只负责一小部分工作,我非常乐于见到他们分享对于“高级程序员”的定义,那应该会在技术和非技术的方面都更加全面,让我们工作得效率更高,尤其是在需要与客户打交道的团队里。
成为高级需要多久?
“高级程序员”是不是就意味着“若干年的经验”?事实上我并没有看到过哪个人不用五年就可以成为高级程序员的。要在很短的时间内就把一些特质发展得非常好来在某一方面达到高级水平其实是非常困难、甚至不可能的,更别说在多个方面全部成为高级了。
而且“五年经验”并不一定要意味着“五年的软件开发经验”。如果一个人已经在领导力和(或)交际能力上满足了条件,那他只需要提升技术能力,就已经可以发挥高级程序员的作用了。
湘ICP备2022002427号-10 湘公网安备:43070202000427号
© 2013~2024 haote.com 好特网