点 ● Redis 8 来了——而且它是开源的

了解更多

九种方法助力软件开发者职业生涯高枕无忧

你需要保持技术技能的更新。但成功的职业生涯取决于额外的几项实践。 

生活总是不确定,但有时会比平时更不确定。这无疑是当前科技行业员工面临的局面,其中一些人对自己的未来感到担忧。好消息是,根据 Forrester 的报告,2023年就业市场仍将青睐软件开发者。更好的消息是?你可以让自己对公司更有价值,(如果公司不行)也可以对其他雇主更有价值。

正在寻找实用的建议?考虑以下九种切实可行的方法,它们能帮助你为软件开发职业生涯做好准备,并在简历中增加热门技能。这些做法能帮助你从老板(无论是现任还是未来的)那里脱颖而出,成为值得留用的人才。 

我们的列表不仅仅包含技术技能,虽然我们也会分享一些值得加入你的技能库的重要技能。我们还提供了关于长期职业生存的建议,例如超越编程的软技能。 

1. 保持技术技能的更新 

首先说点显而易见的建议:别让你的技术技能过时。 

至少要关注市场需求,这样你才能准备好应对新项目。如果你需要学习当前热门技术的灵感,可以看看你正在做或想做的类型工作的招聘信息。如果很多雇主都在寻找 Kubernetes 经验,那么学习 Kubernetes 将对你很有好处。  

作为一名软件开发者,提升技能的一个直接方法是为你的技能库添加另一种语言。至于选择哪种语言,这很大程度上取决于你目前所在的公司以及你的职业抱负。语言的流行程度会随时间变化,基于每种语言专业技能的薪酬水平也会变化,但经验法则是“永不止步的学习”。 

网络上充斥着关于最重要掌握哪些语言的建议,而 Python、Java、JavaScript 以及 C 和 C++ 通常位列这些榜单前茅。根据近期的一项 StackOverflow 开发者调查,当前最受“喜爱”的三种语言是 Rust、Elixir 和 Clojure,其薪资也反映了这种流行度。但是,无论你决定学习哪种新语言,云专家兼《使用 Redis 进行大规模缓存》(Caching at Scale with Redis)一书的作者 Lee Atchison 建议,最好同时了解前端和后端语言。 

那么如何开始呢?虽然计算机书籍仍然有用(可以看看 O’Reilly),尤其当你想要深入学习某个特定主题时,在线课程可以帮助你按照自己的节奏学习语言。不错的入门平台包括 Udemy(课程通常在100美元或以下)、Coursera(许多课程免费,可选择购买证书)和 Codecademy(基础课程免费,更深入学习需按月订阅)。LinkedIn Learning 也提供各种技术技能的课程。 

2. 夯实技术基础 

在保持与时俱进的同时,也要加强你在计算机科学基础概念和软件开发流程方面的专业知识。有些技能永远不会过时。其中包括:良好的编程习惯、设计模式、软件测试、调试、敏捷开发实践和数据结构。 

这些基础并非全部是技术知识本身。学会判断何时适可而止,尤其是在面对 YAGNI(你不需要它)时,以及何时进入了回报递减的领域(例如花费数月时间优化一个很少使用的应用程序功能的性能)。这有助于你建立质量和可靠性的声誉。能够产出无需返工的整洁代码的人,永远是市场上的抢手货。 

语言和开发环境不断变化。然而,有了坚实的技术基础,你可以自信地告诉潜在雇主,“我的职业生涯中学习了几十种语言。再增加一种技能对我来说不成问题。” 

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

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

例如,多了解 DevOps 是个好主意。虽然大多数开发者都知道 DevOps 是什么,但真正的专业知识在于与运维部门的人员建立联盟——这也能让你的简历脱颖而出。  

要掌握这些技能,LinkedIn Learning 再次提供了涵盖从 DevOps 基础到更高级主题的 DevOps 课程。但你并不一定需要专门的课程。开始阅读一些权威的在线资源,例如 DevOps InstituteDevOps.comInfoWorld。甚至还有一本畅销的 DevOps 小说(真的有):Gene Kim 的 《凤凰项目》。  

同样,要多了解原生架构。Atchison 鼓励开发者尽可能多地学习微服务容器Kubernetes 等云原生技术。Udemy 提供了一个很棒的免费微服务基础课程。你可以在 Udemy、Coursera、LinkedIn Learning 和其他地方找到类似的关于容器和 Kubernetes 的课程和教程——从入门级 101 课程到高级概念。 

4. 了解你的工作对业务的重要性 

了解你的工作如何帮助业务实现其目标非常重要。许多开发者没有意识到,在工程部门的小隔间之外,了解更多业务知识的重要性。正如资深软件开发者 Jim Mischel 指出的那样,软件开发者编写程序是为了解决业务问题,但几乎任何人都可以编写程序:“如果你想脱颖而出、获得晋升,你必须了解我们服务的业务以及它们面临的问题。” 

雇用开发者是为了创造商业价值,而不是为了编写程序。设法定期解决问题,这样你就永远不必担心你的职业生涯了。  

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

首先,与其他部门的负责人(销售、市场、财务等)安排信息交流会议。询问他们对业务的看法,他们认为最大的挑战和机遇是什么,以及业务如何才能最好地服务客户。这远非打扰,大多数人都乐于分享他们的知识;而且,每个人都想有机会讲述自己的故事。而且你很可能会在高层结交一些新朋友,他们将来可能会帮助你! 

5. 考虑获取认证 

技术认证很少能影响其他开发者,他们更愿意看你的代码而不是考试成绩。但它们有时会影响人力资源部门以及公司提供给你的薪水。认证及相关培训也可以自我肯定并减少冒名顶替综合症,因为外部认可向你保证你确实达到了领域知识的基线。 

目前,Atchison 建议,一种增加你对当前和未来雇主价值的方法是获得基础云认证,可能是 AWS 认证Google Cloud 认证。这两家提供商都提供通用的基础云认证,但你可以追求多个高级认证级别,例如云架构师、解决方案架构师和云 DevOps 工程师。AWS 考试费用为100美元,包含65道选择题,必须在90分钟内答完。Cloud Academy 提供测验和实践实验来帮助你准备考试。Coursera 就值得考虑的最佳 DevOps 认证提供了很好的建议。 

6. 培养人际交往能力并建立关系 

学习在团队环境中与他人合作。你开发代码,但你与人打交道。虽然同理心等特质是有些人与生俱来的,但每个人都可以学习和提高他们在时间管理、冲突解决和积极倾听方面的能力。在一个商业任务自动化程度越来越高的世界里,拥有不易被自动化的技能,例如有效的解决问题能力,可以确保你保持价值。 

个人人脉是至关重要的软技能。学习如何有效地建立人脉,即使你很害羞。像对待重要事物一样培养你的人脉和朋友。因为他们确实很重要。  

不要断绝关系。你永远不知道你现在不喜欢的人何时会意外进入一家很棒的初创公司,并能够雇佣或推荐你。善良自有其回报。 

一旦你建立了一个人脉网络,就要好好维护它。与前同事保持联系。了解他们的近况。当你看到他们找到新工作时,发一条简短的“恭喜”。主动在领英上写推荐。尽可能地帮助他人——最好是在他们提出请求之前。你越不把你的职业人脉视为理所当然,在你真正需要它时,它能给予你的回报就越多。 

当你准备好迎接下一次冒险时,告诉你的联系人和朋友。诚实(但要专业地)说明你为何离开当前工作,以及你希望下一份工作是怎样的。如果你遵循了上述建议——赢得了按时交付优质工作的解决问题者的声誉——你的网络联系人推荐你就不会是件难事。如果你曾是一名导师,教会了他们一两个受益匪浅的技巧,并且他们对你印象很好,那么这一切都会有所回报。  

7. 学习有效沟通 

没有人要求你创建自己的博客或成为会议上的公众演讲者。那些很好,但不是必需的。对开发者来说,更重要的是学会向非工程师听众,例如销售和高层领导,清晰地表达自己的观点。 

努力进行有效沟通,尤其是与非技术同事。这意味着以听众能理解的方式说话。给予人们适当的技术细节水平,解释这对他们及其工作为何重要,并避免添加不相关的细节。 

一定要提升你的写作能力,即使只是学习如何写一封条理清晰的电子邮件。考虑参加商务写作课程,例如 Business Writing Center 提供的课程。  

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

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

详细记录你的工作。记下项目期间做出的关键决策、你扮演的角色以及最终的业务成果。一个原因是纯粹出于个人目的:如果你不认识到自己的错误,就很容易重复它们。 

另一个好处是:你有一份条理清晰的简历,可以在面试中经受住深入讨论——尤其是在你没有主动寻找工作时出现的那些机会。 

即使你现在不找工作,职业生涯中的某个时刻,你也会找。所以,在你需要它们之前培养你的求职技能,包括面试技巧,是很有意义的。面试本身就是一项独立的技能。你应该经常参加面试,这样你就不会因为这个过程而感到压力。把它想象成一个“Hello, world!”项目;最好在无关紧要的时候犯下愚蠢的错误。 

当你关心一份工作时,你希望给面试官留下平静、沉着、善于表达的印象。当你不迫切需要这份工作,甚至完全不感兴趣时,这要容易得多。所以,即使你对某个职位前景“感觉一般”,也要去参加面试。这是很好的练习,有时它会带来意想不到的更好机会。  

9. 培养积极心态 

生活和职业教练 Diana Allen 说,好奇心是你所能拥有的最重要的特质之一。“保持开放心态,接受新的想法、观点和视角。提问以学习,”她建议道。  

努力培养成长型思维模式,这意味着相信自己无限可能,并且你的智力和能力可以进一步发展。“世界领先的动机和思维模式研究者之一,《心态:成功的新心理学》(Mindset: The New Psychology of Success)一书的作者 Carol Dweck 说,这种思维模式的一个重要特征是愿意从错误中学习,并从批评中发现价值,”Allen 说。 

“我们都拥有身份资本,”Allen 说。“它包含了成就你的一切。”这包括有形的事物,例如工作经验、学历和课程。“它也包括无形的事物,例如你的性格特质、你有多强的同理心、你如何解决问题、你是内向还是外向,”她指出。“你越了解自己以及你能带来什么价值,你在职业生涯或未来任何求职中就会越自信、越成功。” 

别忘了提升你的 Redis 技能 

永远保持学习!从实践角度来说,短期内这意味着在你现有的技术知识基础上进行提升。 

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