高级程序员在企业中应该具备什么能力

从我个人的角度来看,这些做了3-5年的所谓高级程序员,充其量,就是修修改改写了几行代码,他们的工作性质,做3年,5年,甚至10年,我相信也进步不了什么。

尤其是现在市场上大量的外包需求,要求快速的切入,开发的程序员,甚至还不了解所以然,就已经做出东西了,简直就跟走过场似的,要想在这种环境下成长,必须要靠自己多学、多想、多动手,我是真心的希望中国的程序员可以一代胜过一代,代代出英才。

说回之前的话题,上面的现象存在就有一定的合理性,我不做过多的评价,但从我自己创立的互联网公司金融堂来讲,对高级程序员有这么一些要求:

  1. 必须有一定的业务分析与流程意识,能够做简单的业务设计方案与功能分解。
  2. 有一定的性能优化经验与能力,针对大数据(至少100W以上)做过设计处理与功能开发。
  3. 有小团队(5人)的管理经验,在人有协助的情况下,能够基本驾驭10个人月工作量的项目。
  4. 必须会一种语言的设计与技能开发,虽不说精通,但是也要擅长,能够处理日常多数情况,少数情况,通过摸索与尝试后可以解决。

第一阶段-——三年

我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。

第二阶段——五年

五年又是区分程序员的第二个门槛。有些人在三年里,除了完成工作,在空余时间基本不会研究别的东西,这些人永远就是个Coder,年纪大一些势必被更年轻的人给顶替;有些人在三年里,除了写代码之外,还热衷于研究各种技术实现细节、看了N多好书、写一些博客、在Github上分享技术,这些人在五年后必然具备在技术上独当一面的能力并且清楚自己未来的发展方向,从一个Coder逐步走向系统分析师或是架构师,成为项目组中不可或缺的人物。

第三阶段——十年

十年又是另一个门槛了,转行或是继续做一名程序员就在这个节点上。如果在前几年就抱定不转行的思路并且为之努力的话,那么在十年的这个节点上,有些人必然成长为一名对行业有着深入认识、对技术有着深入认识、能从零开始对一个产品进行分析的程序员,这样的人在公司基本担任的都是CTO、技术专家、首席架构师等最关键的职位,这对于自己绝对是一件荣耀的事,当然老板在经济上也绝不会亏待你。

就是保持良好的心态。古语说得好,只要功夫深,铁杵磨成针,面试的成功与否,在于平时的积累,临时抱抱佛脚,看两道面试题是没有用的,只要平时足够努力,成功是水到渠成的事情,平时不怎么研究技术的,那也就是个听天由命的事情,只要充分地展示平时自己的所学就可以了。

因此在我看来,不要把面试当作面试,当做一次技术交流,把面试的心态从我要找到一份工作转变为我要通过面试去发现不足、提升自己,这样就会平和多了,即使失败也不会有太多失望的感觉。

另外,如果平时自己热衷于研究技术的朋友,真的要有自信,不要觉得别人面试你别人就比你厉害。面试官未必比你优秀,他问的问题往往都是他平时研究得比较多的问题,你一样有很多自己的研究面试官未必知道。

 

写在最后:欢迎留言讨论,加关注,持续更新!

posted @ 2018-08-24 15:50  Java高性能架构  阅读(290)  评论(0编辑  收藏  举报