Press "Enter" to skip to content

如何成为优秀的软件工程师

众所周知,成为一名软件工程师需要付出努力。你需要不断地学习和提升自己。然而,关于如何成为一个优秀的软件工程师以及哪些方面更为关键,人们常常存在许多问题和困惑

在我从事软件工程师职业的20年中,我发现了优秀和卓越软件工程师之间的差异,并在下面给出了一些建议,可以帮助你成为一个优秀的软件工程师:

  1. 深入掌握一门编程语言 选择一门编程语言并深入学习。尽可能学习所有相关知识,并成为它的专家。一些目前流行的编程语言包括Python、Java、C#、Go和Rust等。 要确定学习哪些编程语言,可以参考以下受欢迎度排行榜:
  2. 学习软件工程概念 在掌握一门编程语言、其语法、语义和构造之后,下一步是学习不同的软件工程概念,如:
  3. 学习完整的软件开发生命周期(SDLC)过程 尝试去了解完整的软件开发过程,从需求到部署。学习敏捷方法论、DevOps和质量保证等方面的知识。 并且尝试在不同的项目上工作;你参与的项目越多,你会学到更多新的东西并得到成长。
  4. 成为一个以产品为中心的工程师 在开展项目工作时,不仅仅满足于规格说明;要积极主动地去完成任务。思考其他想法,并与产品经理交流。努力去理解整个系统,也要了解业务运作方式。成为一个全面负责产品功能的拥有者。
  5. 提升你的沟通和软技能 对他人要保持尊重,清晰地进行沟通,并谦虚待人。友善的行为并不会花费很多成本,但其影响是无法估量的。 学会写作,学会演讲,善于表达。这将使你在众人中脱颖而出。 尝试使用结对编程/团队编程的方式。与工程领域以外的人交谈,一起喝咖啡或吃午餐,或进行简短的谈话。
  6. 有目的地学习 我们需要学习,但关键是何时以及如何学习。不要只是为了学而学,这样可能并不高效。我们需要有意识地学习,在真正需要之前学习,这才会产生最大的影响。(如何有效学习
  7. 与经验更丰富的人合作 在你的职业生涯中,找到一位导师是进步最快的途径。导师可以帮助你找到自己的不足之处,并为你展示一些新的机会。导师可以在组织内或外找到(可以查看专门的服务,如MentorCruise)。 总是尽力与那些你敬佩和被敬佩的人一起工作。
  8. 使用良好的工程实践 学习并遵循良好的实践方法,例如:
    • 使用版本控制工具正确编写测试代码(查看测试金字塔)学会重构代码学会测试驱动开发代码审查拥有DevOps思维方式
    此外,请学习你使用的集成开发环境(IDE)以及所有必要的快捷键,调试工具也要学会使用。更多细节请阅读《在软件工程中高质量工作
  9. 使用高效的工作技巧 为了提高工作效率,我们需要学习不同的工作技巧,例如:
    • 优先级排序(查看Eisenhower矩阵)时间管理(查看番茄钟)注意力集中(保持深度专注)笔记记录(使用Notion等工具)
    这些技巧将帮助你把握当前任务中最重要的事情,更多细节请阅读《如何提高10倍工作效率》。
  10. 积极主动 同时,记住要保持积极的态度和主动性,这是每个优秀软件工程师的重要基石。 为了更深入了解这个方面,请阅读《高效能人士的七个习惯》。
高效能人士的七个习惯(图片来源:Nathalie Tu)
高效能人士的七个习惯(图片来源:Nathalie Tu)

最终,我们需要更多的东西,即使我们已经了解了很多。成为一名优秀的工程师需要时间、失败和实验。所以去 实践、实践、实践!

软件开发人员(图片来源:Unsplash)
软件开发人员(图片来源:Unsplash)

学习基础知识而非框架

作为开发者,我们喜欢学习新东西,并尽快尝试它们。这些新东西通常是一些新的框架和工具(如React、Angular、Spring、Web Forms等)。然而,这些框架通常只有短暂的生命周期,在最佳情况下只能持续2到5年。与其学习这些框架,虽然在一定程度上是需要的,但我们应该更多地专注于学习基础知识

学习软件开发的基础知识使开发人员能够理解不同框架和编程语言之间的共同原则和概念。这种理解可以在使用新技术或遇到特定框架需要时间来解决的问题时,提供更大的灵活性和适应性。

另外,对基础知识的深入理解可以更高效和有效地使用框架,因为开发人员可以更好地理解如何定制和扩展框架以满足特定需求。

以一个Web应用程序为例,该应用程序允许用户上传和共享图片,在Ruby on Rails中实现该功能。如果用户数量增加,我们只了解该框架是不足够的,只会涉及性能问题。然而,如果我们理解了Web开发的基础知识,我们就可以识别出瓶颈,并尝试不同的解决方案,例如使用CDN、优化图像大小、使用不同的存储解决方案等。

那么,应该学习哪些基础知识呢:

  • 算法
  • 数据
  • 优雅的代码
  • 设计模式
  • 分布式架构
  • 系统设计
  • 还有更多

想要深入学习这些基础知识,请阅读这些书籍:2023软件工程师必读书籍

代码(图片来源:Unsplash)
代码(图片来源:Unsplash)

内容由GeekAI网页翻译服务自动翻译完成。 原文地址:https://newsletter.techworld-with-milan.com/p/how-to-become-a-great-software-engineer

发表回复