上班的第一天总是令人恐惧。我仍然记得很多次在上班第一天晚上躺在床上,对第二天会发生什么事情感到内心崩溃。对于大多数人来说,开始一份新工作是未知的领域。即使你是这个行业的资深人士,也不可否认,你内心深处可能还是会有点害怕接下来会发生什么。
可以理解的是,很多事情正在发生。有新的人要认识,新的项目和技术要理解,文档要阅读,教程要学习,以及没完没了的人力资源演示和文书工作要填写。这可能会让人感到不知所措,再加上你正在处理的大量不确定性和未知数,可能会非常让人焦虑。
有两个原因促使我写关于这个主题的文章。第一个原因是,当我还是学生的时候,大多数讨论都围绕着如何在科技行业找到一份工作,没有人谈论接下来会发生什么。你如何在新的职位上脱颖而出?现在回想起来,我认为我理所当然地认为,最困难的部分是找到工作,而之后的一切,我可能可以自己解决。
同样,一旦我开始在这个行业工作,我遇到的大多数与职业相关的内容都是关于如何从一个高级职位升到另一个高级职位。没有人真正谈论过中间该怎么做。实习生和初级工程师呢?他们如何应对早期的职业生涯?
在完成了三年软件工程师的全职专业经验(以及之前的几次实习)之后,我对我的时间进行了反思。我整理了一份我在适应新的技术职位时使用过的技巧和窍门清单。我想超越最初的几个月,优先帮助实现长期成功。
反思现有流程和文档
大多数新员工一开始要么是被大量的文档淹没,要么是什么文档都没有。与其被这两种可能性中的任何一种压倒,不如将此视为一个机会。
找出现有文档中的差距,并思考如何为下一个入职的工程师改进文档。这不仅显示了你的主动性,也表明你致力于改进团队内部的现有流程。
我见过两种极端情况。我曾在没有任何文档的团队工作过。我也曾在非常认真地保持文档更新的团队工作过。对于前者,你的道路非常直接,你可以致力于创建缺失的文档。对于后者,你总能想到改进现有文档的方法。有时,过多的书面文档也会让人感到害怕,尤其是对于新员工而言。有些事情可能通过其他媒介(如视频教程或截屏视频)来解释会更好。
提问
我鼓励你了解一下,当你开始工作时,是否会为你指派一位伙伴。这在公司中是一种相当常见的做法。伙伴的目的是在你入职时帮助你。我发现这非常有帮助,因为它为你提供了一个可以提出所有问题的人,你无需到处奔波寻找合适的人/团队。
虽然应该始终鼓励提问,但在提问之前,也必须做好功课,包括
- 做你的研究。这包括进行网络搜索、查看论坛和阅读现有文档。使用所有可用的工具。但是,必须给自己设定时间限制。你必须在尽职调查和牢记项目截止日期和交付成果之间取得平衡。
- 说出来。作为一名母语不是英语的人,我建议在提问之前大声说出来。根据我的经验,我经常发现,尤其是在我遇到困难时,我用一种语言(可能是我的母语)思考,并且必须用另一种语言解释它。这有时可能有点挑战,因为进行翻译可能并不简单。
- 组织你的想法。当遇到困难时,有很多杂乱无章的想法对我们来说有意义,但对另一个人来说可能不一定有意义,这是非常常见的。我建议坐下来,收集你的想法,写下来,然后大声说出来。这种做法确保了当你解释你的思考过程时,它会如预期般流畅,并且听者可以跟随你的思路。
这种方法被称为橡皮鸭技术,这是开发人员在调试时常用的做法。这个概念是,有时向第三人解释你的问题对于找到解决方案非常有帮助。这也证明了你出色的沟通技巧。
尊重他人的时间。即使你正在联系像你的伙伴这样的人,也要意识到他们也有日常任务要完成。我尝试过的一些方法包括以下几点
- 写下我的问题,然后与我的导师安排一些时间,以便我可以与他们交谈。
- 汇总问题,而不是反复寻求帮助,以便你的导师可以在他们有时间时处理这些问题。
- 安排一个 15-20 分钟的快速视频聊天,特别是当你想共享屏幕时,这是一种展示你的发现的好方法。
我认为这些方法更好,因为你可以获得某人的全神贯注,而不是每隔几分钟就打扰他们,而他们的注意力可能在其他地方。
深入研究你的项目
即使在文档出色的团队中,开始你的技术项目也可能非常令人畏惧,因为其中涉及多个组件。不过,随着时间的推移,你将了解你的团队是如何做事的。但是,通过保留一份方便参考的清单来尽早弄清楚这一点可以节省你的时间和潜在的麻烦,包括基本项目设置、测试要求、审查和部署流程、任务跟踪和文档。
如果你正在开始的项目没有任何文档(我遇到过这种情况),请查看你是否可以找到当前或之前的项目所有者,并了解基本项目结构。这包括设置它、部署它等。
- 确定你的团队在 IDE(集成开发环境)中的偏好。你可以自由使用你选择的 IDE,但使用与你的团队相同的 IDE 可能会有所帮助,尤其是在调试时,因为 IDE 的选择会影响调试。不同的 IDE 提供不同程度的调试支持。
- 了解如何进行调试,我不仅仅是指使用打印语句(并不是说这种方法有什么问题)。充分利用你团队的经验!
- 了解测试要求。这可能取决于你的项目范围和一般团队实践,但你越早弄清楚这一点,你对你推送到生产环境的更改就越有信心。
- 可视化部署过程。此过程可能因团队、公司等而异。无论它多么非正式或正式,请确保你了解你的更改是如何部署到生产环境的,部署管道是什么样的,如何安全地部署更改,如果构建失败该怎么办,如何回滚错误更改以及如何在生产环境中测试你的更改。
- 了解票务流程。了解如何记录工单以及期望的详细程度。你将在这里看到很多变化。有些公司期望我们每天提交工单,展示我们的进度。其他公司可能不需要这种程度的文档。
鉴于我刚才提到的一切,你可以在最初几周内做的一项有益的、一体化的练习是跟随另一位工程师并进行结对编程会话。这使你可以观察从工单分配给工程师到部署到生产环境的整个端到端流程。
如果你还没有机会亲自动手,最初的几周也可能会感到沮丧。为了应对这种情况,请要求你的经理为你分配一些入门级工单。这些通常是次要任务,例如代码清理或添加单元测试。但是,它们允许你摆弄代码库,这有助于提高你的理解力,并给你一种成就感,这在开始新工作的早期阶段是一种非常令人鼓舞的感觉。
说出来,尤其是在你遇到困难时
我想强调在你遇到困难时沟通的重要性。这种情况会发生,尤其是在新工作的最初几个月,尽管这可能令人沮丧,但这正是你的沟通技巧将大放异彩的地方。
- 对障碍和你的进度保持透明。即使是像权限问题这样的小事(对于新员工来说,这是一个相当常见的障碍),也要确保你的经理知道。
- 不要等到最后一天才报告某件事是否会延迟。你项目中的延误会推动许多其他事情向前发展。提前分享必要的项目延误,以便你的经理可以将此信息分享给利益相关者。
- 不要因为赶时间而忘记彻底测试你的更改或记录你的代码等事情。
获得技术背景
获得技术背景是我个人一直在努力的事情,我一直在积极努力改变我在这个领域的方法。
当我开始实习时,我会带着非常专注的心态去学习我想学的东西。我会将注意力集中在我的项目上,但我会完全无视其他一切。多年来,我意识到无视其他或相邻项目可能不是最明智的决定。
首先,它会影响你对工作的理解。我天真地认为,如果我只专注于我的项目,我就可以成为一名优秀的工程师。那根本不是真的。你应该花时间了解你的项目可能与之交互的其他服务。你不需要深入了解细节,但建立基本的理解会大有帮助。
新员工经常会经历一种与公司其他部门脱节的体验,这是一种非常自然的感觉,尤其是在规模较大的公司。我是一个很快就会产生排斥感的人,所以当我搬到 Yelp 时,这是一家比我以前的公司规模大得多,项目规模也大得多的公司,我优先考虑了解全局。我不仅致力于了解我的项目,还致力于了解其他相邻项目。
在我在 Yelp 的最初几周,我与团队中的多位工程师坐下来,请他们给我一个关于我将要做什么以及项目的总体目标的概览。这种方法非常有帮助,因为我不仅根据工程师的资历和他们在项目上的工作时间长短获得了不同程度的解释,而且还加深了我对我将要从事的工作的理解。我带着这样的目标参加这些会议:我对项目的了解应该让我能够向街上的陌生人解释我所做的事情。为此,我请我的技术主管澄清,当用户打开 Yelp 应用程序并搜索某些内容时,我的工作在哪个时间点介入。
架构图也可以在这种情况下提供帮助,尤其是在理解不同服务如何交互时。
建立期望
在很长一段时间里,我一直认为我所需要做的就是尽我所能,成为一名好员工。如果我在工作,完成目标,并且没有人抱怨,那就应该足够好了,对吗?错了。
你必须对你的职业生涯有策略。你不能仅仅将它外包给人们的善意,并希望仅仅因为你达到了期望就能获得期望的结果。
- 在你开始新工作的那一刻,就建立明确的标准。这因公司而异,因为有些组织有非常明确的衡量标准,而另一些组织可能几乎没有任何标准。如果是后者,我建议你在最初几周内与你的经理坐下来,建立并一致同意一个标准。
- 确保你彻底了解你将如何被评估以及使用哪些衡量标准。
我记得在我的第一份全职工作中,当我走出我的第一次评估时,我感到非常困惑。整个谈话非常模糊和空洞,我对自己的优点、缺点甚至改进步骤都没有清晰的认识。
起初,我很容易将一切归咎于我的经理,因为新员工的我认为这是他们的工作,而不是我的工作。但随着时间的推移,我意识到我不能仅仅在我的绩效评估方面袖手旁观。你不能仅仅做好工作就期望它足够了。你必须积极参与这些对话。你必须确保你的努力和贡献得到认可。从定期为技术设计对话做出贡献到为你的团队组织社交活动,确保你的工作得到认可。
与建立期望相关的是,积极寻求反馈也很重要。不要等到每三到四个月进行一次的正式绩效评估才 выяснить 你做得怎么样。积极与你的经理建立反馈循环。尝试定期进行对话,在对话中寻求反馈,尽管这可能很可怕。
应对在分布式团队中工作
工作场所在过去两年中发生了变化,在远程和分布式团队中工作现在已成为常态,而不是罕见现象。我列出了一些技巧,以帮助你应对在分布式团队中工作
- 建立核心工作时间并将它们设置在你的日历上。这些是你的团队将一致同意的一组工作时间,并且理解是在这些时间内每个人都应该在线并做出响应。这也非常方便,因为会议只会在这些时间内安排,从而使你更容易计划你的一天。
- 注意人们的时区和午餐时间。
- 在虚拟世界中,你需要付出更大的努力来维持社交互动,小小的举动可以在帮助使工作环境更加友好方面发挥重要作用。这些包括以下几点
- 在开始会议时,交换问候语,并询问人们的周末/一天过得怎么样。这有助于打破僵局,并使你能够与你的团队成员建立超越工作的更私人的联系。
- 定期建议举行非正式的虚拟聚会,与团队进行一些轻松的闲聊。
保持工作与生活平衡
在你的职业生涯初期,很容易认为这完全是为了投入那些时间,尤其是考虑到我们 24/7 被灌输的“努力文化”叙事以及工作与生活平衡是在我们职业生涯后期建立的想法。这种想法与事实相去甚远,因为工作与生活平衡不会仅仅神奇地为你发生。你需要积极而勤奋地为此努力。
没有工作与生活平衡的可怕之处在于它会慢慢地悄悄蔓延到你身上。它从你在下班后查看电子邮件开始,然后慢慢地发展到你在周末加班并感到永久性疲惫。
[ 相关阅读 我如何识别和预防开源倦怠 ]
我列出了一些技巧来帮助你避免这种情况
- 关闭/暂停通知和电子邮件,并将自己设置为离线。
- 不要在周末工作。它从你工作一个周末开始,接下来你就知道,你大多数周末都在工作。无论是什么,都可以等到星期一。
- 如果你是一名随叫随到的工程师,请了解你公司的相关政策。有些公司提供金钱补偿,而另一些公司可能会给予补休。利用这段时间。不使用你的福利,如 PTO(带薪休假)和健康日,确实会缩短你在职场的工作寿命。
总结
毫无疑问,开始一份新工作既有压力又困难。我希望这些技巧和窍门能使你的最初几个月更容易,并为你在新职位上取得巨大成功做好准备。记住要沟通,建立你的职业目标,积极主动,并有效地使用公司的工具。我知道你会做得很好!
评论已关闭。