0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名好的工程师一般都有这些能力

工程师人生 来源:工程师吴畏 2019-07-15 16:55 次阅读

曾经有这样试验,随机选择一组对象进行工作的自评,几乎所有对象的自评分都在实际成绩的平均分以上。在工程师团队中也不例外,许多工程师有这样的困 惑,自己觉得工作已经做得不错,但是上司好像察觉不到,甚至还对自己的工作吹毛求疵。如果有个合适参照标准,工程师或许就可以更好的对自己工作进行自评。

管理者也同样面临类似困惑,在一个组织中,需要定期对团队中的成员进行考核及晋升,但是考核的标准是什么?小团队中主要取决于管理者的意志;大型组织中流程会更规范,但也存在考核者凭感觉来给被评估者打分的情况,或者是考核者心中的衡量标准千差万别。

从工程师自我提升追求及职业规划的角度,情况会更复杂。每一个工程师都有不同的追求目标,孟岩有一篇很有影响力的《技术路线的选择重要但不具有决定性》,文中工程师的追求类型被描述成事业目标型、团队精英型、技术高手型、得过且过或养家糊口型四种。文中将“独特的个性知识经验组合”看做是工程师的核心竞争力,不过对于这个经验的组合不同人会有不同的理解。

从团队或者企业的角度来看,主要从团队的贡献角度来评估技术工程师的成绩,就如同评估一个科学家的成看他看对人类的贡献类似。离开了环境,单纯评估技术没有意义。比如一个技术人员对Linux内核看得滚瓜烂熟,单就这一点并不能看到太大直接价值。

但是在业界,知识点的重要性通常被放大了,业界也形成了一些非理性的氛围。工程师会努力学习某个技术(如C++语言)的方方面面,即使大部分场合只 用到了其中小部分功能。技术管理者在招聘、考核、晋升等过程中也通常把知识点放在一个很重要的地位,面试题中会出现工作中并不常用的领域的各种知识点。

这跟前几天某条关于大学教育的微博有异曲同工之妙,大学教育经历了全部是知识点的教育,慢慢意识到需要培养的能力不仅是知识点,而主要应是独立思考能力。

技术人员追求的也不仅是知识点,而是在专业领域正确做事的方法及达成目标的能力。两个同时入职的员工,一段时间后技术好的那个就发展得好吗?还是有更好做事方法及能达成目标的人更容易得到认可?

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

设计能力

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

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

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

交付能力

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

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

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

规范与协作

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

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

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

团队效率贡献

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

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

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

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

有优化流程贡献?

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1555

    浏览量

    67788
收藏 人收藏

    评论

    相关推荐

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们起探讨
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的种专业工程师
    发表于 05-16 11:00

    个电源工程师的成长路径

    即将走马上任电源工程师这个岗位,请问各位大佬,这个岗位的职业路径一般是怎样的?
    发表于 04-08 14:19

    如何成为一名嵌入式C语言高手?

    嵌入式C语言领域获得突出的技能和能力、打下坚实的基础要成为一名嵌入式C语言高手,首先需要打下坚实的基础。掌握C语言的基本语法、数据类型、运算符、控制流程和函数等概念是必不可少的。你可以通过学习
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    嵌入式C语言领域获得突出的技能和能力、打下坚实的基础要成为一名嵌入式C语言高手,首先需要打下坚实的基础。掌握C语言的基本语法、数据类型、运算符、控制流程和函数等概念是必不可少的。你可以通过学习
    发表于 03-25 14:12

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    优秀电源工程师需要哪些必备技能?

    随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有位电源工程师会错过让自己变得更优秀的机会。作为
    发表于 01-29 11:29

    #人工智能 #FPGA 怎么成为个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

    FPGA工程师需要具备哪些技能?

    、设计思路 FPGA芯片是开发高速数字电路设计的理想解决方案之。FPGA芯片基于HDL的设计方法允许工程师使用高级语言进行设计。因此,FPGA工程师需要具备设计思路能力,包括分析需
    发表于 11-09 11:03

    如何成为一名优秀的嵌入式工程师

    如何成为一名优秀的嵌入式工程师?嵌入式学习的第步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、free()等函数
    发表于 11-07 15:36

    电源工程师常用的几个典型电路分享

    具有电源知识水平的工程师来完成设计和开发。作为一名合格的电源工程师平时工作经验的积累很重要,但同时也应该提高理论水平,通过积累几个常用的电源电路,说不定下次就能用上,还是学习吧!
    发表于 09-20 07:59

    一名硬件工程师都具备哪些技能?

    芯片嵌入式物联网STM32
    学习电子知识
    发布于 :2023年08月02日 12:54:00

    一名成熟的嵌入式开发工程师需要掌握这些技能

    芯片嵌入式物联网STM32
    学习电子知识
    发布于 :2023年08月02日 12:53:14