写点什么

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

发布于: 3 小时前
想要成为优秀的工程师?一定要具备这些职业技能

严谨度

  • 目标: 做事严谨,无偏差,完成度高,干净利索

  • 相关技能: 目标明确度

  • 练习方式:

  • 日报

  • 任务

  • 编码规范

  • 开发流程

日报

  • 规范的日报编写方式,按照周报的要求

  • 从写日报这件小事上就开始规范要求自己


xxx项目:1. xxx模块:功能开发. 开发完成xxx功能2. xxx模块:修改优化. 修改xxx问题,对xxx进行优化3. xxx对接: 接口对接. 对接xxx接口,并对xxx进行测试完善
复制代码

任务

  • 任务本身就是一个项目的小模块

  • 对任务的要求应该和正常的项目的要求一致

编码规范

  • 编码规范:

  • 格式,命名等细节: 降低维护成本,语义化更强,形成有自己风格的编码规则

  • 做好封装,保证高内聚,低耦合

  • 最佳实践: 什么场景用什么解决方案

  • 认真对待代码中的 warning, 精益求精

  • 面向未来编程:

  • 在听到需求的时候,可以根据自己的业务能力,判断出这些需求中,哪些是有可能变化的,哪些是不太可能变化的

  • 针对变化的内容,在编写的过程中,不会写死.而反复确认不可能会变化的需求,会写得简单一些,防止过度设计引起的复杂度

开发流程

  • 严格遵守规范的开发流程去完成开发工作

  • 将不靠谱的需求放在最后做,防止中途需求变更

  • 了解项目的性能指标,学会项目的性能调优

信息获取力

  • 目标: 快速准确地获取相关信息,识别和判断有用的信息

  • 相关技能:

  • 任务

  • 复盘项目

  • 真实项目

  • 将开源项目运行起来,理解项目代码

  • 信息获取力是程序员的重要能力之一,因为技术更新变革的特别快,遇到错误,或者是遇到新的技术框架,需要快速上手使用,或者理解原理

  • 信息获取力是一个程序员需要不断优化的技能,前期多是搜索,查看官方文档,越往后,越注重对底层知识的积累,推演和源码的阅读. 越往后,你遇到的问题也越有可能只有很少的的能够遇得到,也提供不出解决方案. 所以这是一个长久持续练习的过程

总结归纳力

  • 目标: 消化整理知识点,将散乱无章的知识点归拢成结构,有体系的知识树,明确概念,理清关系,扩充自己的知识库

  • 相关技能: 归纳能力

  • 每天在学习的过程中,习惯性归纳总结成自己的知识点,用以保证自己知识深海处构建的知识体系的稳固,不混乱

  • 这样能够增强自己的理解能力,会不断地强化和固化基本的法则,模式,形成快速解决问题的能力,让自己越来越有经验

每日总结

  • 回顾今天完成的事情:

  • 完成了哪些模块

  • 遇到的问题和收获

  • 遇到的问题本身就是详细的记录自己的困惑,卡壳或者错误的地方

  • 程序员总是在错误中成长,每天熟悉的不是异常就是 Bug,所以每天遇到问题的多少,就是学会了多少的见证

阶段总结

  • 不同的阶段有不同的目标,也有不同的要求

  • 除了总结自己过去的得失之外,还要明确下阶段自己期望完成的事情

  • 总结归纳能力不仅包括技术上,还包括自己的整体学习和成长度上,任何一个工程师的成长,都不仅是技术的成长

推动力

  • 目标: 主动推进事情的进展,去解决问题

  • 相关技能: 沟通技巧

  • 在工作岗位上,推进的发展是优秀工程师的前提,更是提高自身工作效率的必备能力

  • 这是一个需要一件一件事情来反馈,有意识的引导,直到最后变得干净利索的过程

需求理解力

  • 目标: 清楚无误的理解需求,并能够迅速的推演出实现方案

  • 相关技能: 专注度,理解力,过往经验,技术功底

  • 练习方式:

  • 任务

  • 需求理解

  • 程序员在写代码前要保持一个原则 : 不理解的需求不要做

  • 理解需求是什么?

  • 设计方案是什么?

  • 有没有风险?

  • 有没有确定不了的技术方案?

  • 有没有新的调研功能或者是第三方接口?

  • 这些都是工程师需要反复练习才能具备的能力,不但能知道当前的需求应该怎么设计,还能提前预估出未来有什么变化,现有的设计方案支持到什么程度

需求理解

  • 需求理解分为两个阶段:

  • 明白做什么和为什么

  • 要把所有的异常情况都考虑清楚

  • 一个复盘项目可以摸清所有的流程,一个真实的项目足以固化并且收获经验

定位问题的洞察力

  • 目标: 问题出现后,快速定位问题,给出解决方案,多种方式去判断可能的错误代码,并能够第一时间修复

  • 相关技能: 项目的熟悉度,基础知识的牢固性.逻辑推演能力和判断力

  • 练习方式:

  • 复盘项目

  • 程序员的成长就是解决问题的过程:

  • 大多数程序员不但要学习正确的路怎么走

  • 还要明白错误的路不要走,以及走错了,怎么纠正过来

发布于: 3 小时前阅读数: 4
用户头像

一位攻城狮的自我修养 2021.04.06 加入

分享技术干货,面试题和攻城狮故事。 你的关注支持是我持续进步的最大动力! https://github.com/ChovaVea

评论

发布
暂无评论
想要成为优秀的工程师?一定要具备这些职业技能