南昌IT培训
美国上市IT培训机构

13732203138

热门课程

怎样才能成为优秀的技术工程师?

  • 时间:2018-03-23 09:31
  • 发布:转载
  • 来源:Tim Yang

在工作中,很多技术人员都会有一种困惑,明明觉得自己已经做得很好很多了,但是好像上司并没有看到我的成果。而现在技术人员追求的也不再是知识点,而是在专业领域正确做事的方法及达成目标的能力。两个同时入职的员工,一段时间后技术好的那个就发展得好吗?还是有更好做事方法及能达成目标的人更容易得到认可?怎么样才能成为优秀的技术工程师呢?

我认为一个好的工程师必要的能力

设计能力

设计能力参见前文技术评审中关于设计的描述,简要的说就是具备设计简洁、易于扩展及维护的功能及特性能力。

需要补充一个设计方面的anti pattern,选择合适的技术及架构,意味着不引入及增加不必要的抽象层或框架,并提供高质量、稳定、高效、安全的代码。不少能力还不错的人员有这个缺点,一个简单的项目,出于追求流行或者对于某项技术的崇拜心理,引入了复杂的技术或框架,对于个人来说确实提高了见识,增加了业内交流的资本,但是对于组织来说这种锻炼却是团队成效的噩梦,对于技术从业人员来说,不盲目引入不必要的高深技术来保证项目进展是一种基本的职业素养。

此外设计中还有一个隐含的条件,就是选择的方案能相对减少开发周期,加快交付时间。也就是下一点介绍的。

交付能力

  • 通俗的说就是不管发生了什么,都能按时交付。

  • 充分考虑自身技术能力、项目依赖、队员排期冲突、负面情绪、技术方案风险、未预知的技术障碍、需求变化等。

  • 具备为功能的设计做取舍的能力,但功能取舍并不以牺牲产品的核心愿景为前提。

规范与协作

  • 在编码前能够完成模块或特性的清晰架构或设计文档,并保持在开发过程以及代码重构过程中文档的一致性。

  • 推动及促进团队的代码及设计规范,并确保执行过程中与规范的一致,并能根据实际情况对流程及规范提供优化建议。

  • 编写的代码通常当做团队的模板或者是实践的设计模式。

团队效率贡献

  • 有改善团队效率方面的贡献吗?比如做一个相似项目为何周期很长?为什么开发完成之后又花了比开发周期更长的时间调试或修改bug?

  • 推进代码复用,你的代码和工具其他小组或部门愿意用吗,准备让他们用吗?有推动让他们用吗?

  • 自动化体系来帮助提高测试、开发、debug、跟踪用户问题的效率

  • 能够用服务化的方法来解决异构、多版本问题

  • 有优化流程贡献?

已经不是那个独行侠或个人技术英雄的时代了,融入团队,多考虑对团队的贡献,更容易得到成长。

上一篇:为什么我们都应该要知道云计算?
下一篇:Python有哪些岗位可以就业?就业薪资是多少?

教程:教你如何使用Cython扩展python?

学习python,你要掌握哪些Linux系统进程知识?

学习Python需要掌握哪些技巧?

python知识分享之爬虫原理

选择城市和中心
贵州省

广西省

海南省