是什么造就了一位优秀的工程师/程序员?
我一直在尝试整合网络上不同来源的各种观点,以确定以下问题的答案:
是什么造就了一位优秀的工程师/程序员?
以下是我的一些笔记和资料——很想听听大家的意见!
资源:
如何达到 10 倍效率(成果):任何开发者都能从优秀
开发者和糟糕开发者身上学到什么
?是什么让你成为一名优秀的程序员?
区分优秀程序员和普通程序员的 7 个特质
。是什么让一名优秀的程序员变得优秀?
要做的事
比起提高个人生产力,更应该关注那些能提升你的乘数效应的事情(我认为两者是相辅相成的,如果你生产力更高,就能腾出更多时间来提升乘数效应)。
始终保持友善和乐于助人的态度
——做一个团队成员。
要乐于寻求帮助,也要乐于提供帮助。
要勇于承担错误责任并从中吸取教训。
问题解决者
- 解决正确的问题
○ 清理无人愿意维护的旧代码(因为维护起来很棘手),然后你接手简化维护工作
○ 自动化常用流程,提高团队效率
○ 专注于影响最大的问题
○ 通过问题模式匹配找到解决方案
- 为业务和团队解决问题
熟练
- 理解
○ 了解原因并能够解释
- 实践
○ 练习编程语言和编程技巧的基础知识
○ 大型应用程序中至关重要的架构模式和编程概念
- 导师/教师
○ 与团队分享代码片段/想法以获得反馈/分享背景信息
○ 知识渊博固然好,但更重要的是教导他人!
○
优秀的学习者
——即使您决定进行重要的技术变革,他们也能迅速适应
——他们渴望学习
——既是导师又是学员——也就是说,他们既是学习者又是学员,能够同时扮演这两种角色。
充满热情
——超越基本工作要求
——追求卓越
——充满热情的开发人员精通技艺,对工作充满自豪感和责任感,并在工作中获得更大的快乐
——渴望学习
诚实、善于沟通
——建立信任
——寻求帮助,经常参与代码审查,并寻求他人的帮助
——让大家知道他们可以依靠你及时了解项目进展,并取得持续稳定的进步
——将复杂的想法转化为简单的概念和理解
——快速理解概念,清晰地理解问题,将其分解并连贯地解释或提出解决方案
——提出正确的问题以加深理解
效率
——专注于提升倍增效应的事情
——JavaScript新年计划倒计时
——时间管理/任务管理——高度可靠,遵守截止日期,并且非常擅长管理一切
同理心
——更友好的用户体验/页面加载/动画
——解决实际的客户问题
——对团队成员的同理心:编写更易于维护的代码,认真做好代码审查,指导团队成员
——员工和下属——改进开发流程,改善开发用户体验,保护开发人员免受干扰,以同理心和友善的态度处理问题和性能问题
——每个人都欣赏富有同情心的人
谦逊
——接受反馈并从中成长
他们充当自己的质量保证工程师——测试所有极端情况
以人为本/团队至上
——我们编写的软件是为用户服务的
——编写文档至关重要,它能帮助用户更好地使用代码
——我们愿意付出额外的努力,处理更复杂的问题,为软件用户提供合适的解决方案。
要有适应能力
——项目和需求会变化,也要随之改变 :D
耐心和积极的态度
- 关心产品
- 敬业、积极、耐心地解决最枯燥/最棘手的问题
编写优质代码
——性能优异(使用正确的数据结构)
——易于维护(逻辑清晰且注释详尽)
——可读性强
——遵循编码规范
——名称含义明确
——编写强有力的测试
深厚而广泛的技术经验
- 长期从事多种技术相关工作,成为专家/熟练掌握者
- 能够识别重复出现的模式,并知道如何解决预见的问题
- 精通最佳实践
我会将这些笔记整理成更好的格式,并可能撰写一篇文章来总结讨论内容。
很想听听其他人的经验和看法!
文章来源:https://dev.to/avatarkaleb/what-makes-a-great-engineer-programmer-great-4dd0