软件工程师必读的27条关键职业建议

本文为软件工程师提供27条关键职业建议,涵盖从入门到高级阶段的职业规划、薪资谈判、技能提升和心态调整等方面,帮助开发者在职业生涯中取得成功。

27条软件工程师关键职业建议

作者:John Sonmez

你是否希望在软件工程师或开发者的职业生涯中取得最大成功?那么你需要掌握一些关键的职业技能:

初级职业建议

推进你的职业生涯

驾驭你的工作

离开你的工作

持久性/重新开始

心态与策略

遵循这27条建议,获得最好的工作,掌握你的领域,并超越你的职业和财务目标:

软件工程初学者职业建议

当你刚开始成为软件工程师时,你的重点应该是这个职业阶段的正确心态,并尽快获得尽可能多的经验。以下是一些实用建议,帮助你在编程初学者阶段保持头脑清醒,找到实习和第一份真正的工作。

1. 不喜欢编码?找一份无代码工作

让我们先解决这个问题。可能你现在不想要一份写代码的工作,更不用说在余生中从事这样的职业了。考虑一个不需要编程的技术职位并不丢人!为什么不成为技术招聘人员、数据分析师、质量测试员或销售专业人士?这些职业道路不仅可能和软件工程一样有趣(对某些人来说甚至更有趣),而且还能让你赚到不错的薪水。

2. 专业化以赚更多钱

专业化的编程技能需求很高。如果你是少数能够提供这些技能的人之一,你将获得丰厚的报酬。选择你最好的专业领域作为开发者,首先要进行行业研究:公司希望完成哪些任务,但需要特殊技能,因此值得高报酬?努力成为这些领域的专家。将自己定位为专家。不久之后,你就会获得一些很好的职位,薪水远高于你作为“普通”软件开发者所能期望的。

3. 在实习中获胜

如果你想获得作为专业开发者或软件工程师的第一份经验,不妨考虑在科技公司实习。这些实习通常可以直接在同一家公司获得初级职位。至少它们在你的简历上看起来很棒,增加了你未来的机会。一个独特的策略是联系你最喜欢的公司,即使他们目前没有积极寻找实习生。然后向他们推销实习生(提示:你)可以给他们的业务带来的所有好处。这让你展示出积极主动的积极品质,同时避免与数百人竞争相同的职位。

4. 使用LinkedIn找工作

说到竞争:同样适用于在LinkedIn上发布的编程工作——公司被申请淹没。不过,你仍然可以在平台上找到工作,再次通过反其道而行之。当其他人只追求广告上的内容并以通用方式联系时,你与感兴趣的人建立联系,并与在你选择的领域工作的人建立真正的联系。在求职中玩一个比大多数人愿意的更长的游戏,意味着你将能够获得他们不会获得的回报。

5. 申请你不合格的编程工作

你是否曾因为列出的要求(例如,多年经验)而不敢申请软件工程工作?你不必这样。我鼓励你申请一些软件工程工作,即使你在客观上不合格。让我解释一下。编程职位空缺的一个秘密是,如果潜在雇主喜欢你带来的技能和个性的组合,你仍然有机会。即使你缺乏一些经验:他们要么无论如何都会雇用你担任确切的角色,要么他们可以将其变成更初级的职位。无论哪种方式,你都赢了——只因为你尝试了。

6. 在接受任何编程工作offer之前,知道要问未来雇主什么

你得到offer了?恭喜——你的努力终于得到了回报!但是,在你直接接受新职位作为软件工程师的offer之前,你应该问雇主一些关键问题。询问他们如何修复错误,这样你可以判断为他们工作是否会一团糟。询问他们的代码质量指南。询问他们的QA流程。询问他们如何部署软件。仔细审查他们的答案,并注意任何危险信号。在你说是之前,确保你的新工作不会让你走上无尽挫折的道路。

7. 避免第一年软件工程师的错误

当你刚开始第一份软件工程工作时,很多事情可能出错。最大的绊脚石是你自己的 ego。作为新开发者,你最好的选择是保持谦逊。同时期望在技术技能之外还要提升软技能——许多新手忽略了这些技能的重要性。虽然这种谦逊是关键,但这并不意味着你应该忽视你的需求。即使你年轻且作为第一年程序员在忍耐:努力开始从事对你最有意义的工作。现在就开始照顾你的健康,这样你就不会在以后遭受 burnout——即使现在你觉得无敌。

推进你的职业生涯

一旦你获得了软件工程工作,目标是充分利用你的情况:智能谈判。为自己定位以应对未来的晋升。获得你应得的报酬。

8. 在薪资谈判中获胜

谈判得好可以在一次对话中为你赢得数万美元。一些有效的软件工程师薪资谈判策略包括:了解常见的行业数字、从强势位置谈判(有推荐、良好声誉和/或其他offer排队)、避免说出你的数字、以及提出强有力的还价。在面试前练习模拟薪资谈判,就像你练习模拟编码会话一样,是个好主意。

9. 停止被低估

这是一个令人震惊的事实:许多高级开发者职位的人甚至不是好的编码者。这意味着如果你是,你不必害羞地瞄准六位数的工作。作为熟练的程序员,如果你是一个熟练的程序员,不要满足于低薪职位——相反,目标要高。因为即使只有你已经拥有的技术技能,你通常能够 outperform 许多高薪开发者。

10. 获得加薪或晋升

如果你想在编程工作中获得加薪或晋升,你需要对这个目标积极主动。不断提高你的技能。承担更多责任。在公司内外变得更有价值。在沟通你的野心时,要开放、直接和具体。遵循这些步骤,你应该能够随着时间的推移增加你的收入和影响力。尽管你付出了所有努力,但仍然面临阻力?那么也许是时候向其他地方更好的机会开放自己了。

驾驭你的工作

作为软件工程师,你需要战略性地思考——不仅在你的开发工作中,而且关于你的工作环境和市场。

11. 学习如何与廉价程序员竞争

来自西方国家的人应该做什么才能比来自低GDP国家的程序员更好并 differentiate 自己,这些程序员以比你更便宜的价格提供服务?首要的领域是你与客户的沟通。如果你花时间深入了解他们的需求,并建立良好的关系,你可能能够比那些依赖竞争性技术技能和低价格获得工作的人更有优势。简单地说:更关心,更好地沟通,你仍然可以赢。如果你自己来自低GDP国家,应用相同的策略以更受欢迎。

12. 知道你的老板不了解软件开发的什么

在你作为软件工程师的工作中,重要的是要认识到你的老板可能不像你那样理解你的开发工作。常见的例子是你的上级不理解技术债务的严重性,过于重视时间估计,或对新技术和可能的投资过于怀疑。调整你的工作流程和与经理的沟通以反映这一点——这样你改善合作,将不必要的冲突扼杀在萌芽状态,并使自己的生活更轻松。

离开你的开发者工作的建议

当时机到来时,就是时候了。学习如何掌握过渡。无论是完全不同的东西,还是软件工程中更大更好的挑战:

13. 知道你是否应该退出编程

你是否已经到了不再感觉你的编程工作的地步?这可能意味着你应该退出,或者可能意味着你应该以多种方式之一 pivot。这取决于你最初获得开发者工作的原因:如果是因为你实际上热爱工作——那么尝试学习一个新的相关技能。或者申请行业中的另一家公司。你甚至可以 pivot 到另一种技术工作。另一方面,如果你开始只是为了作为软件工程师赚很多钱,但现在你对工作太无聊了:你能以另一种方式赚钱吗?如果还不能,那么继续工作直到你找到一些支付体面且你热爱的东西。但如果你已经知道它是什么,那么是的——你应该退出编程。

14. 当你是房间里最聪明的人时该做什么

我们在这个平台上试图做的是让你提升技能,以便你成为你能成为的最有价值的程序员。成为房间里最聪明的人会带来新的挑战:你可能会对你当前的工作环境感到失望。人们会注意到——即使你在客观上变得更有价值,可能会策划替换你。如果不是那样,你自己会感到渴望一个允许你继续成长的职位。两种情况的底线:是时候继续前进了。

15. 知道是时候离开你的工作的迹象

如果你开始因为工作中发生的事情而感到沮丧——或者你因为必须修复其他人的错误而过度工作——是时候计划你的逃跑了。倾听是时候离开你的编程工作的迹象。不要继续被 burnout 和痛苦。

16. 如何离开你的软件开发工作

现在,如果你决定离开你的工作:尽快做——不要继续陷入不再服务你的情况。但注意以正确的方式做。避免戏剧。不要在他们低落时踢他们。不要 burn the bridges。离开你的软件工程工作的最佳方式是给出标准的两周通知。尽你最大的努力训练将替换你的人。并对你知道公司出问题的一切保持沉默——谈论它只会伤害你。遵循这个退出策略意味着你将最小化任何 harbored 的 hard feelings,并有助于保护你的声誉,这是无价的。

持久性、失业和重启你的职业生涯

为了使你的软件工程师职业生涯长久而繁荣,并经受不可避免的风暴——例如从强制或自愿休息中回来——确保你 heed 以下建议:

17. 让失业成为你的老师

作为软件工程师没有工作可以成为你的机会,如果你让它。利用这段时间在个人和专业上发展自己。为了确保你在下一次面试中闪耀,成为解决编码问题的大师。训练你的金钱管理技能。尽快开始提升你的 networking 努力。这些技能不仅会在你的余生中为你服务,还会让你快速找到新工作——通常比你的旧工作更有趣、更有成就感和高薪。

克服你的职业间隔

如果你失业一段时间,利用时间改进你的时间管理。学习新技术并升级你的技能。继续追求新机会。如果你准备在休息期间和一旦开始新职位时努力工作,你的职业间隔就不会 matter。

18. 如何在长时间休息后重启你的开发者职业生涯

如果你休息了很长时间,可能是多年呢?尝试 comeback——开发者仍然有需求。即使你在长时间休息后需要从小开始,毫无疑问这是值得的。从诚实评估你的技能与市场需求的关系开始。如果你在如此长的休息后有 gaps 要填补,考虑参加课程、认证或 bootcamp——或者至少深入免费教程。增加你的 networking 努力,刷亮你的简历,准备面试,并对你的求职下定决心。

19. 作为年长开发者成功

你的就业能力在35岁后确实下降。大多数开发者在40岁前退出该领域。这是否意味着年长程序员 hopeless?一点也不。有很多40岁以上仍然强大的例子。归根结底是跟上时代。不要固守你的方式。始终保持学习。采用新技术。努力保持年轻人的心态,你可以在60多岁和70多岁时成为成功的软件工程师。

软件工程师职业心态与策略技巧

为你的编程旅程制定策略是必不可少的。正确的 mental attitude 也是。以下技巧帮助你掌握这些元素。

20. 找到你作为程序员的为什么

如果你在工作中有一个强大的为什么,你就不太可能 burnout。为了经济利益进入软件工程是可以的。但如果你找到获得编程工作的底层为什么更好:例如,过你想要的生活方式,为你的家庭提供,在硬技能中实现你的潜力,并将新事物带入世界。

21. 从其他开发者的生活故事中找到灵感

无论你在软件工程旅程的哪个阶段——都有你可以学习的故事。有开始晚但仍然成功的程序员。有那些创建你想自己启动的项目类型的人。使用其他开发者的故事作为灵感,点燃你心中的火焰。你知道追逐并达到你的目标是可能的,因为那些在你之前的人——那些曾经处于类似情况或必须克服比你面临的更大挑战的人。

22. 使用强大的成功策略

要成为伟大的程序员,你需要几乎 addicted to hunting for information and learning new things。你需要充分利用最好的学习资源。你需要将所有内容并不断练习直到掌握。解决呈现给你的问题,并不断寻找新的问题来解决。一切都是变得更好的机会。最后,作为程序员最强大的成功策略之一是报名参加课程和 bootcamps,并找到(现实生活或在线)导师。

23. 征服改善之路

日本概念“改善”(大致为“持续改进的精神”)对任何软件工程师都有用,并且是敏捷方法论的一部分。在你作为开发者的职业生涯中,你经历改善的不同阶段。你从“守”(遵循状态)开始。然后你进入“破”(创新状态)。直到你到达“离”(流动状态)。努力在每个工作日为改善做出贡献,你就有望成为你手艺的真正大师。

24. 成为编程增长黑客

在编程领域成为增长黑客意味着你通过寻找所有领域的改进来寻找革命化你的公司的方法。你的编码背景将帮助你在测试和快速迭代方面。但除此之外,你应该精通文案写作、外展、设计和项目管理的技能。公司内部作为专业增长黑客的职位不仅带来丰厚的经济利益——而且因为你的努力将帮助改变收入数字和影响而充实。

25. 克服你的冒名顶替综合征

我们大多数人在编程职业生涯的某个时候都会感到冒名顶替综合征。重要的是你不要屈服于它。专注于你已经实现的成就(无论多么少)和你正在努力的目标——而不是注意他人的 perceived superiority。不要害怕看起来和行为像初学者。成为那个沉浸在学习中的初学者,你会发现大多数在你前面的人更感兴趣的是帮助你,而不是评判你缺乏技能。

26. 放弃某些东西

以下是在你的软件工程职业生涯中要避免的:不要为了“花哨”的代码而牺牲可读性。不要尝试创建你只在以后才需要的功能——首先编程你现在需要它工作的东西。不要成为一个孤岛。在线与其他程序员 mingling 并接受他们的帮助。不要写零注释的代码。使他人更容易理解你的代码。不要拖延调试。它是必不可少的,应该成为你过程的一个组成部分。不要盲目复制和粘贴他人的代码。旨在理解进入你软件的一切。不要走捷径达到你的目标。找出你遇到的每个问题,并愿意投入尽可能多的努力和 care 来解决它。

27. 应对软件开发的挑战

毫无疑问,软件开发是一个复杂的话题——这种复杂性可能难以处理。应对开发挑战的第一步是尽可能简化,以保持事情可管理并避免 overwhelm。还旨在不断提高你对该领域的理解。保持领先趋势,这样你就永远不会被 constantly happening 的变化 caught off-guard。如果你能在照顾健康的同时做到所有这些,你将 well-equipped 在这个具有挑战性的行业中茁壮成长。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计