软件工程师必读的27条职业发展黄金法则

本文系统梳理了软件工程师职业发展的27个关键策略,涵盖从入门求职到高级谈判的全周期指导,包含技术定位、面试技巧、薪资谈判等实用建议,帮助开发者实现职业突破。

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

作者:John Sonmez

你是否想在软件工程或开发职业生涯中取得最大成功?那么你需要掌握以下关键职业技能:

初级职业建议

推进你的职业生涯

驾驭你的工作

离职策略

长期发展/重启

心态与策略

遵循这27条建议,获得最佳工作,掌握领域技能,超越职业和财务目标:

软件工程初学者职业建议

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

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

首先明确一点:你可能现在不想要写代码的工作——更不用说将这样的职业视为终身事业。考虑不需要编程的技术岗位并不丢人!为什么不成为技术招聘人员、数据分析师、质量测试员或销售专业人士?这些职业道路不仅可能和软件工程一样有趣(对某些人甚至更有趣)——而且还能让你获得不错的薪水。

2. 专业化以获得更高收入

专业编程技能需求旺盛。如果你是少数能够提供这些技能的人之一,你将获得丰厚报酬。选择最佳专业领域从行业研究开始:公司希望完成哪些任务,但需要特殊技能,因此值得高薪酬?努力成为这些领域的专家。将自己定位为专家。很快你就会获得一些很好的职位——薪酬远高于你作为"通用"软件开发人员的预期。

3. 在实习中获胜

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

4. 使用LinkedIn获得工作

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

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

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

6. 在接受任何编程工作offer前了解要问未来雇主的问题

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

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

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

推进你的职业生涯

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

8. 在薪资谈判中获胜

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

9. 停止被低估

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

10. 获得加薪或晋升

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

驾驭你的工作

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

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

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

12. 了解你的老板不了解软件开发的地方

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

离开开发工作的建议

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

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

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

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

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

15. 知道该离职的迹象

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

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

现在,如果你决定离开工作:尽快这样做——不要停留在不再为你服务的情况中。但注意以正确的方式做。避免戏剧性。不要在他们低落时踢他们。不要烧毁桥梁。离开软件工程工作的最佳方式是给出标准的两周通知。尽你最大的努力培训将取代你的人。并对你知道公司出问题的所有事情保持沉默——谈论它只会伤害你。遵循这个退出策略意味着你将最小化任何怀有的硬感情,并有助于保护你的声誉,这是无价的。

长期性、失业和重启职业生涯

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

17. 让失业成为你的老师

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

克服职业间隔

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

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

如果你休了延长休息,可能是多年呢?一定要尝试复出——开发人员仍然有需求。即使你在长时间编程休息后需要从小开始,毫无疑问这是值得的。从诚实地评估你的技能与市场需求的关系开始。如果在如此长的休息后你有需要填补的空白,考虑参加课程、认证或训练营——或者至少埋头于免费教程。增加你的网络努力,刷亮你的简历,准备面试,并决心找工作。

19. 作为年长开发人员成功

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

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

为你的编程旅程制定策略是必不可少的。正确的心理态度也是如此。以下技巧帮助你掌握这些元素。

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

如果你在工作中有一个强大的为什么,你就不太可能倦怠。为了经济利益进入软件工程是可以的。但如果你找到获得编程工作的根本原因更好:过你想要的生活方式,养家糊口,在硬技能中实现你的潜力,并为世界带来新事物,例如。

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

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

22. 使用强大的成功策略

要成为伟大的程序员,你需要几乎沉迷于寻找信息和学习新事物。你需要充分利用最好的学习资源。你需要接受所有并不断练习直到掌握。解决呈现给你的问题,并不断寻找新问题来解决。一切都是变得更好的机会。最后,作为程序员最强大的成功策略之一是参加课程和训练营,并找到(现实生活或在线)导师。

23. 征服改善之路

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

24. 成为编程增长黑客

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

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

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

26. 放弃某些东西

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

27. 应对软件开发的挑战

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

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