您在第一份开发人员工作中可能面临的 4 个挑战以及如何克服这些挑战

源节点: 1384504

恭喜! 您已经通过了几轮面试,并获得了您的第一份初级开发人员工作! 这是您开发人员职业道路上一个令人兴奋的新起点,但您在第一份开发人员工作中也将面临相当多的挑战。

在本文中,我们将讨论初级开发人员在第一份开发人员工作中面临的四个常见挑战以及如何克服这些挑战。 我们还听取了高级开发人员的建议,他们克服了这些挑战并通过这些挑战指导了其他开发人员。

您需要使用不熟悉的技术

开发者第一次工作挑战

挑战

你是根据你在 JavaScript 方面的技能接受面试和录用的,但是在工作几天后,你意识到你只熟悉你需要使用的代码的一小部分。 您不熟悉的库和语言混搭在一起。 虽然所有代码都是 JavaScript,但其中很大一部分超出了您的技能范围。 压力越来越大,你开始怀疑自己是否足够好,是否能在这份工作中表现出色。

如何克服它

冒名顶替综合症感觉非常真实。 但是当你通过所有面试并找到工作时,你的招聘经理已经彻底评估了你的技术(和软)技能,并决定你很适合这个职位。 作为初级开发人员,您的团队和经理并不期望您熟悉团队使用的每项技术。 但是,他们确实希望您能够学习和掌握新技能。

当你遇到不熟悉的技术或库时,首先要做的就是查找和阅读文档。 “无论你对图书馆多么陌生,你至少会了解它是如何工作的,”说 约翰尼·比祖,经验丰富的导师。 这将为您提供该技术的概述,并使您更容易知道从哪里开始。

不幸的是,一些库和模块缺乏良好的文档。 仍然有办法解决这个问题。 一种方法是查看人们使用同一个库构建的类似开源项目,沿途提出问题,然后尝试自己解决。 但这可能需要相当长的时间。

为了加快速度,另一种方法是与团队中的高级开发人员合作,或者,如果团队中没有人可用,则 导师 谁熟悉您需要学习的技术。 他们将能够通过引导您完成工作所需的最重要部分来快速跟踪您的学习。 他们还可以确定您当前的技能组合如何适应您需要熟悉的新技术或图书馆,并定制您的学习以实现这一目标。

您很难编写适合现有公司代码的代码

挑战

您已经打开了一个拉取请求 代码审查 并且对此非常有信心。但它返回给你的评论多得你数不过来。事实证明,您的代码与公司现有的代码库不兼容。您对对您充满信心的代码的批评感到沮丧。

如何克服它

这是开发人员在加入具有既定惯例的新团队时面临的常见挑战,无论他们的资历如何。 但是,高级开发人员多年来积累了更多的经验,并且通常为这种挑战做好了更充分的准备。

在理想情况下,您的公司应该有一个完整的代码样式指南,您可以查看和遵循,以确保您的代码样式与团队的样式保持一致。 然而,实际上,并非每家公司都有全面的文档。

无论您的公司是否有风格指南,当我们询问初级开发人员面临这种情况时他们会给出什么建议时,几乎每个导师都给了我们相同的答案:提出问题。

“我发现大三学生的最大障碍,除了缺乏技能和信心外,就是无法沟通和提出正确的问题,因为他们害怕这会让他们看起来很糟糕,”—— 多米尼克·塞弗特, Codementor 的导师

向对产品和代码库有更多经验的开发人员询问很多(相关的)问题和需要注意的事项。 通过提出问题,您可以分享您不理解的内容,并让其他开发人员知道他们可以如何帮助您更有效地走上正轨。

然后,更进一步,记录调查结果和结果。 这个不断增长的文档可以是您参考的东西,谁知道呢,它甚至可能是缺失样式指南的开始(这可能会为您赢得团队和经理的加分)!

同时,注意并尊重他人的时间。即使您的队友很乐意提供帮助,但他们的时间和责任也有限。除了确保提出正确的问题之外,您的另一个首要任务是“尽快变得更加独立,但不要着急。例如,如果您被困了 30 分钟,请寻求帮助”建议 布拉德利·库利,经验丰富的导师。 “总而言之:寻求帮助,但尽量 尽快变得更加独立。你很可能无法独自完成这件事。”

如果您开始了解代码样式,您还可以使用“类似的工具”来简化您的编码过程 ESLint,”建议 约翰尼,因为他们可以“根据规则自动化和格式化你的代码”。

你对缺乏项目方向感到沮丧

开发者问题

挑战

您已经花费了数小时编写特定功能的代码,但在下一次会议上却被告知该项目将采用新的方向。您需要回去调整您的代码或重新从头开始。 “很好”,你想,“希望它是一次性的。” 除非它不是。 在接下来的几周和几个月里,项目方向不断变化,到了你不知道为什么要再做你正在做的事情的地步。

如何克服它

与最终目标确定的课堂作业不同,在工作环境中,许多项目会随着项目的发展而变化和调整。 如果您对缺乏明确的项目方向感到困惑,那么第一步是检查您是否被排除在循环之外或不了解总体目标。

有时,当您在项目中期加入团队时,已经知道项目目标的经理和其他团队成员可能会忘记更新新成员。 在这些情况下,请向您的团队负责人或经理询问主要目标和项目路线图。 这将为您提供更清晰的全局,并概述每个决定如何适应长期目标。

也就是说,缺乏明确的项目方向并不总是由于缺乏沟通。 有时,这是由于公司变动、客户要求或其他简单地说,您无法控制的事情。 作为一名初级开发人员,不幸的是,您对此无能为力。

如果您感到特别沮丧,请不要低估“休息一下”的力量,建议 约翰尼. 通过散步或喝咖啡休息,远离代码的时间让你有时间充电和重新调整你的心态。 你也可以向你的经理提出你的担忧或挫败感——但归根结底,重要的是要了解这些转变和不确定性通常“只是业务的自然过程”,他说 布拉德利.

提出问题并发起对话 与团队成员、经理或客户保持联系,并随时了解任何方向变化可以减少挫折感,因为您不太可能被决定弄得措手不及。

很难跟上新技术的步伐

第一次开发人员工作挑战

挑战

你已经工作了一段时间了,你不再需要每天都在追赶。 就在您开始感到更加安定时,一个新项目出现在您的面前,图书馆也有了重大更新。 与学生时代不同,您不能将大量时间用于学习新技术。 看起来您团队中的高级开发人员正在从容应对技术更新,那么您怎么能像他们中的一员一样呢?

如何克服它

与最新技术保持同步是您作为开发人员工作的一部分。 作为一名初级开发人员,您本质上是“从头开始在现实世界的环境中学习技术堆栈”,他说 多米尼克. 这可能会带来额外的压力,因为您需要在有限的时间内调整学习方法。

安排时间学习更新. 如果它是您认为可以相对较快地掌握的新工具或更新,请在一天中花 30 分钟或一个小时来研究和学习如何使用新技术。 如果这是他们熟悉的工具,您还可以向团队中的高级开发人员寻求指导。

但是,如果它是一个更大的更新或一个全新的工具,需要数小时或数天的时间来学习呢? 在工作量和期限之间,花费数百甚至数十个小时来学习是不现实的。 您团队中的高级开发人员也没有足够的时间花数小时教您技术。

虽然您可以利用周末或熬一两个通宵来自学技术,但这种方法是不可持续的。您可以通过多种方式进行“速成课程”,包括 Youtube 视频,或通过 GitHub 或 Dev.to 等社区。

如果您需要更多指导,您可以与组织外部的高级开发人员或导师合作。 他们可以以最有效的方式向您更新最新技术。 导师可以根据您的项目或需求帮助您优先考虑需要学习的技术,并及时指导您完成更新。

作为开发者,你应该保持 随时了解最新动态 与您的技术堆栈相关。 “我们从开发者新闻、GitHub 趋势库等中了解新内容。” 说 约翰尼,并且“当需要使用该技术时,阅读文档是了解它的最佳方式之一。”

布拉德利 对刚开始软件开发生涯的初级开发人员有额外的建议:

在选择你想要成为“驾驶室”的技术堆栈时要非常慎重。不要相信那些说学习另一门很容易的人。学习基础知识很容易。如果您想获得资历并高效地开发软件,您需要远远超出基础知识。

最后的思考

从学生到工作开发人员所带来的变化不仅仅是头衔的变化。 为了克服您在新工作环境中面临的挑战并作为一名开发人员茁壮成长,您需要转变您的思维方式、方法和学习方式。 每一个新的障碍都是一个让你在技术上更加熟练和专业成熟的机会。 随着您作为开发人员的成长,学习何时获得帮助、提出正确的问题以及找到正确的资源将变得更加容易。

您在第一份开发人员工作中还面临哪些其他挑战? 您获得了哪些可能对其他开发人员有帮助的技巧? 在下面发表评论!

导师简介(按出场顺序)
约翰尼·比祖:一位经验丰富的全栈开发人员,拥有超过 1400 次 5 星级会议。 Johnny 可以在 JavaScript、Node.js、HTML 和 CSS、代码审查等方面帮助您 – 多米尼克·塞弗特:Dominik 是一位经验丰富的导师,拥有数百次 5 星级课程,其专长在于 JavaScript、React、C#、Unity3D、Python 等 – 布拉德利·库利:Bradley 拥有数千小时的指导时间,是一名教师和五星级导师,拥有前端和全栈开发人员的经验。他是 JavaScript、SQL、PHP、Docket 等方面的专家。

时间戳记:

更多来自 编码师博客