了解不同的开发过程
高级工程师经历了长期项目、短期项目、新产品开发、维护以及失败。
他们经历了很多个通宵,和ddl赛跑,并和很多不同方向的开发者、领导以及业务伙伴协同,上线不同类型的项目,使用不同的编程方案,解决多个类型的bug。
他们知道如何有效工作。明白持续长时间工作最终会导致效率和动力大幅下降,所以他们会对自己的时间投入保持一定的控制。
节奏由自己掌控。
他们往往有自己独特的工作态度和方式,大部分情况下都在专注于一个问题,进入心流写代码。
他们非常熟悉如何拆解项目,并给到相对准确的估时,几乎很少延迟交付。
具备专业精神
高级工程师知道如何快速准确地完成任务。
你可以给他们一个困难的、模糊的问题,最终他们会交付给你一个符合需求的结果。
他们了解如何和需求方沟通,如何拆解需求,提出合适的技术方案。
undefined
对于大项目,他们会及时反馈开发进度;遇到问题,他们不会视而不见而是一定要解决它。
很多初级程序员都比较拒绝在其他程序员的代码基础上二次编程,但高级工程师知道何时修改现有代码,何时需要用新代码替换,以及如何/何时为必要但有争议的代码重构而争取。
高级工程师很善于交流他们的想法。
在提出技术方案时,他们能够用完美的逻辑来分解问题,并讲清楚每个环节需要做什么。
在讨论不同的方案选型时,他们可以做到客观地评估,并尝试找到最佳解决方案。
他们知道何时提问以及如何回答问题,并不会为了面子而拒绝说“我不知道”。
没有自我限制
除了对不同语言和工具的快速学习和适应,高级工程师对不同行业的适应性也很高。
他们不会把自己局限于某个行业中,甚至大部分人可以非常轻松、快速地过渡到另一个行业。
说了这么多,虽然高级工程师看起来似乎啥都会,或者说学习和适应能力很强。但现实情况是,大部分高级工程师被困在了不同的问题或环境中。
他们并不完全具备以上几个特点,有些人可能是专注力不够,可能是团队协作力差,也可能是在面临大的难题时会有畏难情绪...
高级工程师可能经验丰富、聪明、易于合作、是某个技术领域的专家,但个人特质并不能确保你成为行业的专家。
只能说,在最基本的工作层面上,高级工程师是值得你信任的,他们能把事情做好,而且往往会超预期交付。
其实成为高级工程师并没有想象中那么难,但也绝不是躺平就能达到。
了解你与高级工程师的差距,了解你还有哪些方面需要多花时间学习,时间不会辜负你的努力。
我很喜欢《围城》里的一句话:
“我们对采摘不到的葡萄,不但想象它酸,也很可能想象它是分外地甜。”
如果你对于进阶之路充满渴望,那么就时刻在心里埋下这一粒种子,持续努力吧。
大家好,我是程序员老王。 年薪百万老码农,待过一线大厂创过业,带过团队,目前专注于一线技术。 分享程序员进阶路上的点滴,帮助大家提升认知,升职加薪。