美文网首页
要想成为一位优秀的工程师?一定要具备这些职业技能

要想成为一位优秀的工程师?一定要具备这些职业技能

作者: 攻城狮Chova | 来源:发表于2021-08-01 23:36 被阅读0次

    严谨度

    • 目标: 做事严谨,无偏差,完成度高,干净利索
    • 相关技能: 目标明确度
    • 练习方式:
      • 日报
      • 任务
      • 编码规范
      • 开发流程

    日报

    • 规范的日报编写方式,按照周报的要求
    • 从写日报这件小事上就开始规范要求自己
    xxx项目:
    1. xxx模块:功能开发. 开发完成xxx功能
    2. xxx模块:修改优化. 修改xxx问题,对xxx进行优化
    3. xxx对接: 接口对接. 对接xxx接口,并对xxx进行测试完善
    

    任务

    • 任务本身就是一个项目的小模块
    • 对任务的要求应该和正常的项目的要求一致

    编码规范

    • 编码规范:
      • 格式,命名等细节: 降低维护成本,语义化更强,形成有自己风格的编码规则
        • 做好封装,保证高内聚,低耦合
      • 最佳实践: 什么场景用什么解决方案
        • 认真对待代码中的warning, 精益求精
    • 面向未来编程:
      • 在听到需求的时候,可以根据自己的业务能力,判断出这些需求中,哪些是有可能变化的,哪些是不太可能变化的
      • 针对变化的内容,在编写的过程中,不会写死.而反复确认不可能会变化的需求,会写得简单一些,防止过度设计引起的复杂度

    开发流程

    • 严格遵守规范的开发流程去完成开发工作
    • 将不靠谱的需求放在最后做,防止中途需求变更
    • 了解项目的性能指标,学会项目的性能调优

    信息获取力

    • 目标: 快速准确地获取相关信息,识别和判断有用的信息
    • 相关技能:
      • 任务
      • 复盘项目
      • 真实项目
    • 将开源项目运行起来,理解项目代码
    • 信息获取力是程序员的重要能力之一,因为技术更新变革的特别快,遇到错误,或者是遇到新的技术框架,需要快速上手使用,或者理解原理
    • 信息获取力是一个程序员需要不断优化的技能,前期多是搜索,查看官方文档,越往后,越注重对底层知识的积累,推演和源码的阅读. 越往后,你遇到的问题也越有可能只有很少的的能够遇得到,也提供不出解决方案. 所以这是一个长久持续练习的过程

    总结归纳力

    • 目标: 消化整理知识点,将散乱无章的知识点归拢成结构,有体系的知识树,明确概念,理清关系,扩充自己的知识库
    • 相关技能: 归纳能力
    • 每天在学习的过程中,习惯性归纳总结成自己的知识点,用以保证自己知识深海处构建的知识体系的稳固,不混乱
    • 这样能够增强自己的理解能力,会不断地强化和固化基本的法则,模式,形成快速解决问题的能力,让自己越来越有经验

    每日总结

    • 回顾今天完成的事情:
      • 完成了哪些模块
      • 遇到的问题和收获
    • 遇到的问题本身就是详细的记录自己的困惑,卡壳或者错误的地方
    • 程序员总是在错误中成长,每天熟悉的不是异常就是Bug,所以每天遇到问题的多少,就是学会了多少的见证

    阶段总结

    • 不同的阶段有不同的目标,也有不同的要求
    • 除了总结自己过去的得失之外,还要明确下阶段自己期望完成的事情
    • 总结归纳能力不仅包括技术上,还包括自己的整体学习和成长度上,任何一个工程师的成长,都不仅是技术的成长

    推动力

    • 目标: 主动推进事情的进展,去解决问题
    • 相关技能: 沟通技巧
    • 在工作岗位上,推进的发展是优秀工程师的前提,更是提高自身工作效率的必备能力
    • 这是一个需要一件一件事情来反馈,有意识的引导,直到最后变得干净利索的过程

    需求理解力

    • 目标: 清楚无误的理解需求,并能够迅速的推演出实现方案
    • 相关技能: 专注度,理解力,过往经验,技术功底
    • 练习方式:
      • 任务
      • 需求理解
    • 程序员在写代码前要保持一个原则 : 不理解的需求不要做
      • 理解需求是什么?
      • 设计方案是什么?
      • 有没有风险?
      • 有没有确定不了的技术方案?
      • 有没有新的调研功能或者是第三方接口?
    • 这些都是工程师需要反复练习才能具备的能力,不但能知道当前的需求应该怎么设计,还能提前预估出未来有什么变化,现有的设计方案支持到什么程度

    需求理解

    • 需求理解分为两个阶段:
      • 明白做什么和为什么
      • 要把所有的异常情况都考虑清楚
    • 一个复盘项目可以摸清所有的流程,一个真实的项目足以固化并且收获经验

    定位问题的洞察力

    • 目标: 问题出现后,快速定位问题,给出解决方案,多种方式去判断可能的错误代码,并能够第一时间修复
    • 相关技能: 项目的熟悉度,基础知识的牢固性.逻辑推演能力和判断力
    • 练习方式:
      • 复盘项目
    • 程序员的成长就是解决问题的过程:
      • 大多数程序员不但要学习正确的路怎么走
      • 还要明白错误的路不要走,以及走错了,怎么纠正过来

    相关文章

      网友评论

          本文标题:要想成为一位优秀的工程师?一定要具备这些职业技能

          本文链接:https://www.haomeiwen.com/subject/tfcdvltx.html