dot 未来速度将出现在您所在的城市。

加入我们参加 Redis 发布会

9 种让你的软件开发职业生涯立于不败之地的方式

您需要不断更新您的技术技能。但一个高效的职业生涯取决于其他几种实践。 

生活总是充满不确定性,但有时比平时更不确定。对于科技行业员工来说,这绝对是现状,其中一些人对未来感到担忧。好消息是,根据 Forrester 的说法,2023 年的就业市场将继续有利于软件开发人员。更好的消息是?您可以让自己对公司更有价值,并且(如果失败)对其他雇主更有价值。

正在寻找实用的建议?考虑以下九种具体方法来让您的软件开发职业生涯立于不败之地,并在您的简历中添加热门技能。这些实践帮助您在老板眼中脱颖而出——无论是您目前的老板还是未来的老板——成为值得留住的人才。 

我们的清单超出了技术技能,尽管我们分享了一些添加到工具箱中的重要技能。我们还提供有关长期职业生存的建议,例如超越编程的软技能。 

1. 保持技术技能的更新 

让我们先说一些显而易见的建议:不要让您的技术技能过时。 

至少要关注市场需求,以便您可以准备好迎接新项目。如果您需要学习当前热门技术的灵感,请查看您正在从事或想要从事的工作类型的职位发布。如果许多雇主都在寻找 Kubernetes 经验,那么您学习 Kubernetes 将会对您大有裨益。  

作为软件开发人员,提高技能的一种直接方法是将另一种语言添加到您的工具箱中。至于哪一种,这在很大程度上取决于您当前的公司以及您的职业目标。语言的流行程度会随着时间推移而变化,基于每种语言的专业知识的薪资水平也会随之变化,但经验法则始终是“永不停止学习”。 

网络上充斥着有关最值得掌握的语言的建议,而 Python、Java、JavaScript 以及 C 和 C++ 一直位列榜首。根据最近的 StackOverflow 开发人员调查,目前“最受欢迎”的三种语言是 Rust、Elixir 和 Clojure,薪资反映了这种流行程度。但无论您决定学习哪种新语言,都应该了解前端和后端语言,云专家、书籍 Caching at Scale with Redis 作者 Lee Atchison 建议道。 

那么如何开始呢?虽然计算机书籍仍然存在(可以查看 O’Reilly),尤其是在您想深入学习某个主题的时候 需要深入学习某个主题,但在线课程可以帮助您按照自己的节奏学习语言。一些不错的起点包括 Udemy(课程价格约为 100 美元或更低)、Coursera(许多课程免费提供,可以选择购买证书)以及 Codecademy(免费访问基础课程,高级学习需要每月订阅)。LinkedIn 学习 还提供各种技术技能的课程。 

2. 加强技术基础 

虽然保持更新很重要,但也要加强您对底层计算机科学概念和软件开发流程的专业知识。有些技能永远不会过时。其中包括:良好的编程习惯、设计模式、软件测试、调试、敏捷开发实践以及数据结构。 

这些要点并非全部都是技术知识。学会在面对 YAGNI 时适可而止,以及在收益递减的领域中适可而止(例如,在很少使用的应用程序功能上花费数月的时间进行性能优化)。这有助于您树立质量和可靠性的声誉。能够产出干净且无需返工的工作的人永远是受欢迎的人才。 

语言和开发环境会发生变化。但是,拥有坚实的技术基础,您可以自信地告诉潜在的雇主,“我在职业生涯中学习了 数十种语言。在我的技能集中添加另一种语言并非难事。” 

3. 更多地了解系统,而不仅仅是应用程序 

许多开发人员只考虑他们的代码,无论是精通他们喜欢的编程语言还是提高应用程序速度。但是软件运行在一个更大的系统中,无论是在您自己的公司的部署流程中还是在互联网上。您的声誉会受到您对应用程序之外的世界以及负责这些系统的人员的了解程度的影响。 

例如,了解 DevOps 是一个好主意。虽然大多数开发人员都知道 DevOps 是什么,但真正的专业知识会帮助您与运营部门的人员建立联系——并且还会让您的简历脱颖而出。  

要学习这些技能,这里再次提一下,LinkedIn 学习提供有关 DevOps 课程,内容涵盖从 DevOps 基础知识到更高级的主题。但您无需专门学习课程。您可以开始阅读信誉良好的在线资源,例如 DevOps InstituteDevOps.com 以及 InfoWorld。甚至有一本畅销的 DevOps 小说(真的):Gene Kim 的 The Phoenix Project。  

同样,更多地了解 原生架构。Atchison 敦促开发人员尽可能多地了解云原生技术,例如 微服务容器 以及 Kubernetes。Udemy 提供了很棒的免费 微服务基础知识 课程。在 Udemy、Coursera、LinkedIn 学习等平台上查找类似的容器和 Kubernetes 课程和教程——从入门级 101 课程到高级概念课程。 

4. 了解您的工作对业务有何意义 

了解您的工作如何帮助业务实现其目标非常重要。许多开发人员不会考虑在工程部门的隔间之外更多地了解业务的重要性。作为一名经验丰富的软件开发人员,Jim Mischel 指出,软件开发人员编写程序来解决业务问题,但几乎任何人都可以编写程序:“如果您想脱颖而出、晋升,您必须了解我们服务的业务以及他们面临的问题。” 

开发人员被 雇用是为了创造业务价值,而不是为了编写程序。找到 定期解决问题 的方法,您将永远不必担心您的职业生涯。  

将自己定位为更大运营的一部分。了解管理者和利益相关者关心什么,并尽力为他们服务。善于与领域和业务专家合作将帮助您对他们更有价值,反之亦然。 

要开始学习,请与其他部门(销售、营销、财务等)的领导人安排非正式会谈。询问他们对业务的想法、他们认为最大的挑战和机遇是什么,以及业务如何才能最好地为客户服务。这绝非打扰他们,大多数人都很乐意分享他们的知识;此外,每个人都希望有机会讲述自己的故事。而且您可能还会在高层结识一些新朋友,他们将来可以帮助您! 

5. 考虑获得认证 

技术认证很少会影响其他开发人员,他们更喜欢 查看您的代码 而不是查看您的考试成绩。但它们有时会影响人力资源部门以及 公司为您提供的薪资。认证和相关培训还可以增强自我肯定,减少冒名顶替综合征,因为外部确认可以向您保证您确实满足领域知识的基本要求。 

目前,提升你在现任和未来雇主眼中价值的一种方法是获取基础云认证,Atchison 建议,可能是 AWS 认证Google Cloud 认证。这两个提供商都提供通用的基础云认证,但你可以追求许多高级认证级别,例如云架构师、解决方案架构师和云 DevOps 工程师。AWS 考试费用为 100 美元,包含 65 道选择题,你需要在 90 分钟内完成。 Cloud Academy 提供测验和动手实验,帮助你备考。Coursera 提供了关于 最佳 DevOps 认证 的建议。

6. 培养人际交往能力,建立人脉

学会在团队环境中与他人合作。你负责开发代码,但也需要与人打交道。虽然像同理心这样的特质对有些人来说是天生的,但每个人都可以通过时间管理、冲突解决和积极倾听来学习并提升自己的能力。在业务任务自动化程度不断提高的世界中,拥有无法轻松自动化的技能,例如有效的解决问题能力,可以确保你保持自身的价值。

人脉关系是至关重要的软技能。学会如何有效地建立人脉关系,即使你很害羞。珍惜你的联系人和朋友,就像他们很重要一样。因为他们确实很重要。

不要桥归桥路归路。你永远不知道你讨厌的某个人什么时候会幸运地加入一家很棒的创业公司,并有能力雇佣你或推荐你。善意有它自己的因果报应。

一旦你建立了人脉,就要维护它。与以前同事保持联系。了解他们的近况。当看到他们开始新工作时,发送简短的“恭喜”信息。在 LinkedIn 上写一篇自发的推荐信。在力所能及的情况下帮助他人——最好是在他们要求之前。你越不把你的职业人脉关系视为理所当然,当你真正需要它的时候,你从中获得的回报就越多。

当你准备好开始新的旅程时,告诉你的联系人和朋友。诚实地(但专业地)说明你离开目前工作的理由,以及你对下一份工作的期望。如果你遵循了上述建议——赢得了一个解决问题的人的声誉,并能按时完成高质量的工作——你的社交网络联系人推荐你不会有什么困难。如果你曾是他们的导师,教过他们一些有效的技巧,而他们对你有积极的印象,那么你的付出就会得到回报。

7. 学会有效沟通

没有人要求你创建自己的博客或成为会议上的公开演讲者。这很好,但这只是一个额外的加分项。对开发者来说,更重要的是学会如何向非工程师的受众(例如销售和执行领导层)传达自己的观点。

努力提高你的沟通能力,特别是与非技术同事的沟通能力。这意味着要以一种能让对方理解的方式说话。向人们提供适当的技术细节,解释它对他们和他们的工作的重要性,并避免添加无关的细节。

努力提高你的写作能力,即使只是学习如何写一封连贯的电子邮件。可以考虑参加一些商务写作课程,比如 商务写作中心 提供的课程。

即使你还没有成为一个优秀的作家,也可以向公司的内容团队提供你的服务。也许你可以为公司博客投稿或撰写技术指南。内容营销人员一直在寻找能够以清晰、引人入胜的方式撰写技术主题文章的作家,这些编辑很乐意指导任何想提高这方面技能的人。这些博客文章可以提升你在公司内部以及行业同行中的知名度。

8. 思考职业生涯的下一步

详细记录你的工作。记录在项目中做出的关键决策、你所扮演的角色以及最终的业务成果。其中一个原因纯粹是出于个人原因:如果你不认识自己的错误,你很可能会重复犯错。

另一个好处是:你可以拥有一个 非模糊的简历,它能够经受住面试中的深入讨论——特别是对于那些你没有刻意寻找的机会来说。

即使你现在没有在找工作,但你职业生涯中总会有一段时间需要找工作。所以,在需要之前提升你的求职技能,包括 面试技能,是很有意义的。面试本身就是一项独立的技能。你应该经常参加面试,这样你才不会因为面试过程而感到紧张。把它看作是一个“Hello, world!”项目;最好是在无关紧要的时候犯一些愚蠢的错误。

当你真正关心一份工作时,你希望在面试官面前表现得冷静、镇定、谈吐清晰。当你并不急于求成,甚至对这份工作不太感兴趣时,做到这一点更容易。所以,即使你对这份工作“不太感兴趣”,也要参加面试。这是一种很好的练习,有时它会带来比你预期的更好的机会。

9. 培养积极的心态

好奇心是你所能拥有的最重要的特质之一,人生和职业教练 Diana Allen 说道。“保持对新思想、新理念和新视角的开放态度。提出问题以学习,”她建议道。

努力培养成长型思维,这意味着相信你是无限的,你的智力和能力可以进一步发展。“Carol Dweck 是世界上最杰出的动机和思维方式研究者之一,也是《Mindset: The New Psychology of Success的作者,她说,这种思维方式的一个重要特征是愿意从错误中吸取教训,并从批评中找到价值,”Allen 说。

“我们每个人都有身份资本,”Allen 说。“它就是构成你的所有东西。”这包括有形的资产,例如工作经验、学位和课程。“它还包括无形的资产,例如你的性格特质、你的同理心程度、你如何解决问题、你是内向还是外向,”她指出。“你越了解自己以及你能够提供的价值,你在职业生涯中或在任何未来的求职过程中就会越自信、越成功。”

不要忘记提升你的 Redis 技能

永远保持学习!从实际角度来说,短期内,这意味着要建立在你现有的技术知识基础之上。

通过我们为期数周的课程掌握 Redis,这些课程将教你如何使用整个 Redis 功能集构建健壮的应用程序。你还可以通过完成 Redis 认证开发人员计划来证明你的精通程度。访问 Redis 大学 免费注册。