在工作中困住的初级软件开发人员,感觉就像走进了死胡同,尤其是当技术领导者试图为远程技术人员提供他们需要的培训和指导时。

幸运的是,对于初级开发人员来说,有一些有效且实用的方法可以提高他们的技能,从简单地执行日常任务到独立编程代码、消除bug、编写简单的单元测试,并提提出解决战略挑战的方案。

为了帮助你在短时间内升职,我们询问了三位经验丰富的技术领导者,得到了一些建议与升值小技巧。

1. 自行进行代码检查

Complete Coding公司创始人 Sam Williams 解释说,大多数初级开发人员都可以编写“有效”的代码。然而,高级开发人员的不同之处在于他们能够编写良好、易读、易于理解的代码,并将大问题或任务分解为小的、可管理的代码块。

这些专家还承认道:“如果开发人员找不到提高编码技能的方法,他们可能会在很长一段时间内停留在初级水平。”

虽然提高编码技能的方法很多,但自行进行代码检查不仅非常有效,而且非常方便且易于实施。“回去查看你两周前写的代码,”威廉姆斯(Williams)建议道。通过检查,你能解释每一行代码发生了什么吗?你能通过重构来提高代码质量、可读性或结构吗?

如果你需要帮助或建议,请让更高级的开发人员检查你的代码。但不要只询问代码是否可行——要询问代码是否可以改进,或者怎么做可以使代码更快或更容易扩展。

2. 采取结对编程方法

Shopify 工程副总裁 Farhan Thawar 认为结对编程是共享知识的一项重要技术;Shopify 的开发人员能够查看和选择他们想要处理的任务,并且每周都会自动分配一个新的合作伙伴和任务。

更重要的是,成对编程课程可以帮助取代办公室和团队中员工的日常闲聊和学习时刻。

如果你的公司还没有尝试过远程配对编程,请做一些初步研究,并并提供使用协作编码工具的试点项目。如果你能够实时向高级开发人员学习,那么你的智力会得到提升,情感也会得到满足,同时帮助你和同事紧密连接起来,尤其是在远程工作时。

3. 教导别人

有一个方法可以帮助你检查你是否真正理解技术概念或解决问题的方法,那就是尝试向其他人作出解释。正如 Thawar(他瓦)指出的那样,“教的是一个人,学习的却是两个人。”

充分利用现代工具,比如创建简短的教学视频,并在 TikTok 或 YouTube 上分享。同行教师不仅可以通过指导他人来深化自己的学习,还可以从在线环境中评论者的评论和反馈中受益。

4. 加入开源项目

参与开源项目是另一种学习、获得经验并取代办公室中自然发生的有价值的交流的方式。除了接收、讨论和处理代码评审注释之外,你还需要通过阅读项目的过往,审查以前的问题和文档,了解如何作出决策。

5. 理解工作的动机

精通编程只是成功的一半。能够评估任务并提出潜在的解决方案是中级开发人员区别于初级开发人员的另一种方式。为了缩小知识差距,你需要了解你的任务与案例之间的联系,或者用户在与系统交互时希望实现的内容。

威廉姆斯(Williams)建议道,不要只做客户或产品经理让你做的事情。了解某项任务是如何实现更大的目标,不仅可以帮助你从用户的角度看待问题,还可以培养“全局思维”。

6. 开发工作的沟通与合作

Tech Elevator高级软件开发人员Joe Erickson建议说,了解技术生态(或者更具体地说,了解框架和任务如何与前端、后端或其他应用程序和技术进行接口)可以提升你的思维,帮助你制定更好的解决方案。

例如,如果有人要求您使用Ruby on Rails构建一个简单的电子邮件注册表单,请查找涉及整个生态系统,并解释客户请求如何与电子邮件服务器交互的教程。学习过程中,请注意他们在教程中使用的专业术语或行话,并努力将这些术语和短语融入到您与团队成员的交流中。

能够在更高层次上进行交流将有助于你传达信息、加强人际关系并表明你有能力执行中级任务。埃里克森补充道:“要提升自己的技能,就要承认自己的不足,并从中成长。”

作者:Leslie Stevens-Huffman

疫情下技术人员的心理健康

Oct 18, 2021

由于新冠疫情而转变的远程工作模式影响着各行业员工的心理健康,对于许多技术人员来说,他们其实在这段时期非常孤单——特别是那些在数据中心和其他地方从事“幕后”工作的人,因为他们与许多同事都没有联系。

北美求职指北-E周报(10月第1周)

Oct 05, 2021
  • 数字优化公司Amplitude纳斯达克直接上市
  • 加州无人驾驶出租车获颁DMV许可
  • 10月数据类岗位数量继续维持高位

数据工程师面试最全指南

Jul 21, 2021

虽然,数据工程师(DE)是近年增长最快的科技行业职位之一,但其实网上并没有很多关于数据工程的面试内容。过去一年里,我参加了旧金山湾区几家科技公司的数据工程师职位的面试,也帮助很多人成功通过面试。

Leave a Comment

Your email address will not be published. Required fields are marked *

Comment *