研发人员的能力等级
通常的软件公司在招人时会对研发人员划分等级,如初级研发工程师,中级研发工程师,高级研发工程师,资深研发工程师,专家,甚至科学家。职位越高,对应的薪资也就越高。每个公司也有自己的一套评价标准,比如学历要求,工作经验要求。公司比较看重候选人掌握的技能,它必须与对应职位所需的技能相匹配。作为等级制度中的一员,在实践中会不自觉的和比自己等级高的同事做比较。比较的过程中发现了一些差距,在这里简单谈谈几点。
工作效率
高级研发:熟练使用IDE快捷键和配置;熟练使用工具类;熟练操作Linux;对于常见的问题,能够快速定位到原因,并给出解决方案。
初级研发:IDE快捷键和配置,百度;工具类使用,百度;Linux操作,百度;解决问题,百度。工作一小时,百度60分钟。
困难问题攻克
高级研发:结合 络,给出最优的解决方案。
初级研发:百度,未果。解决不了。删库跑路。
知识面
高级研发:具备独立架设系统的能力。可以独立研发并交付整个项目。通常具备前端、后端、数据库、中间件、运维、设计、编写文档、画流程图、制定研发计划、保证项目质量、Windows脚本、Linux脚本,行业等知识。
初级研发:我只懂后端,不精通;我只懂前端,不精通。无法独立完成一个项目。
编码质量
高级研发:逻辑清晰,便于维护,性能高,bug少。使用最高效的算法实现最复杂的需求。
初级研发: 上摘抄,阅读困难,性能低,bug多。可能自己都不清楚为什么它能运行。
编写软件的原则
在我短短的编码生涯中,我一直是以实现需求为目标。比如编写一个 站,只要这个 站具备了所有客户需要的功能,那就算结束。后来发现,只考虑可用性还远远不够。一个合规的产品,还要考虑安全性、可维护性、代码简洁和性能等因素。
技能提升的途径
比如说我是一个Java开发工程师,如何更精进呢p>
- 需要经常阅读java api,熟悉常用的jar包后端框架。这些东西可以说是现成的,只要有时间便可以积累掌握。
- 积累自己的代码库,对于常用的操作可以记下来,后边开发时可以提高效率。
- 多向厉害的人学习。对于生活圈外的人,关注他们的博客;平常可以接触到的人,则尽量多和他们交流。
- 学习权威资料。如果我们关注某方面知识,最好从官方文档或其它权威的资料入手,可以少走弯路。
研发误区
- 软件是为了解决问题,不是为了炫耀技术。不要太追求新技术,不要为了维护自己的编码风格延误进度。
- 不要自己想需求。要严格按照客户要求去做,如果觉得做法不合适,需要在前期讲明,一旦确定下来,自己不能随意更改。软件的主要目的是为客户提供服务。
什么是程序员
传统的软件公司和互联 公司
在传统的软件公司工作,通常需要负责项目的整个生命周期,如需求确认,研发,测试,部署,运维,文档编写等等。其中研发,又分为前端,后端,数据库,中间件等。对提高研发的知识面很有帮助。
互联 公司通常有明确的分工,比如,产品经理,美工,前端,后端,DBA,运维,测试等。每个岗位的人只需要做好自己的任务并和上下层做好对接即可。对提高某一领域的知识深度很有帮助。
总结
横看成岭侧成峰,远近高低各不同。
不识庐山真面目,只缘身在此山中。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!