作为一名开发者,想要寻求帮助,踏出的第一步可能很困难,但这是与同事之间锻炼协作解决问题的一个良好时机。

还记得上次南京某大型软件企业的员工小张被传销组织控制、几近绝望之时,利用和同事沟通代码的机会,利用代码路径名发出 SOS 求救信息,他的程序员同事们竟然“秒懂”,并赴天津协助警方,将他成功解决出来。

所谓“台上一分钟,台下十年功”,协作并非一日之功,只有经过长久的协作磨合,才能达到一定的默契,而本文分享一名优秀的开发工程师日常寻求协作帮助的技巧,希望对大家有所助益。

今天,是全新的一天,继续开始日常上班,启动服务器,但屏幕上仍会再次冰冷地显示出:err_node_unsafe。昨天已经存在的 Bug,今天依旧没有任何变化。

现在是早上 9:48,团队的其他人几乎还未到。而这是你到公司的第五周,现在需要解决的功能本来应该在两天前就应该完成。

身陷 Bug 之中,踏不出第一步求助、张不了口的你,先是调高了座椅的高度,想象重新抬起头看向屏幕就会有所不同。再次重新启动电脑,堆栈跟踪滑入终端,还是显示:err_node_unsafe。刷新数据库:err_node_unsafe。

处于崩溃边缘,看看四周,另一团队的技术主管正坐在他的办公椅上,带上耳机沉溺于自己的世界中。于是你自己思考:他能解决这个问题吗?他会说什么呢?他知道发生了什么吗?他会帮助我吗?

想想之后,你又继续默默地看着屏幕,心里再次决定重新启动电脑,祈祷着也许这一次,错误就会消失不见了。

其实,以上是我们很多开发者的日常,尤其是新人。寻求帮助是第一步是困难的,拖延症又在“保护”着我们。这就是为什么作为开发者的你,必须完善寻求帮助的能力的主要原因。而想要成为一名优秀的工程师,实现生产力才是关键,以下分享寻求帮助的协作技巧。

1.阐明自己的期望值

在不太明确的期望值下,不要开始工作,否则结果只能是模凌两可且容易犯错。举个例子:

  • 走出家门去上班。
  • 离开家去健身房。

这两件事中哪一件比较容易做?早上去上班并不是世界上最简单的事情,但这应该比去健身房要容易得多。因为我知道如果我不去工作,我的同事或主管会发现我没有上班。但平时,并没有人在意我是否去了健身房。缺乏预期意味着没有动力去做。

当你的期望值不清楚的时候,就会拖延、找借口、多次改变主意,也会超期完成工作。

所以在工作中寻求帮助也是如此。如果你觉得没有人期待你去找他们寻求帮助,那么你将会花费一段时间说服自己去做。

当你被困时,可以问主管,他们期望你做什么

这种方式将改变你在工作中获得帮助的方式。当你困扰不知做什么的时候,可以问问主管的建议。谈话之后,开始思考解锁新的工作而不是一直扎根于无法完成的工作之中。

讨论工作的解决方案,直面挑战。

你是否会担心,当你提出这个话题时,你的经理会想什么?那一定要开始对话,并申明你的立场。重申你的主要目标是成为团队自主而有成效的贡献者。然后讨论当工程师在遇到困难时,会做些什么。

列出个人经历,并寻求帮助

描述当你陷入困境时所经历的步骤,包括任何可能在没有帮助的情况下完成不了的事情。在你的经历中,最后一步才是请求帮助。

那么在需要帮助时,不要犹豫。尽可能明确客观地请求帮助。你越能从决策中去除主观判断就越好。

基于文章开始所述的案例,可以列出以下清单:

  • 重新启动了我的开发环境吗?
  • 是否记下了这个问题吗?
  • 使用 Google 寻求帮助了吗?
  • 是否运行了 BUILD 和 CLEAN 命令?
  • 是否搜索了内部文档?
  • 我读了一些相关的源代码有 20 分钟?
  • 如果是这样,请立即向同事求助。

不要忘记和你的经理及同事分享此清单。这是为自己设定明确期望的有力方法。当你学到更多关于如何在你的团队工作时,请记住修改和更新此列表。

2.寻求帮助的时候,要承担全部责任

许多工程师认为寻求帮助是工作失败的原因。对他们来说,求助意味着放弃。当他们寻求帮助时,他们只想解决这个问题,这样就能继续真正的工作了。这就是为什么他们可能会问这样一个问题:

“我的 git 分支搞砸了。你能修复它吗?”

然后他们可能会坐在一边,而另一名工程师拿起键盘并为他们解决问题。他们看着别人的工作时,他们的眼睛呆滞,并不关心这个问题所在。

明确表示你不会放弃

避免使用“我需要你的帮助”或“我无法解决这个问题”这样的短语。这两者都意味着你已经完成了工作,而现在正试图把责任推卸给别人。相反,描述你正在进行的工作,例如:“我正在研究我的开发服务器上的这个奇怪的错误。”

接下来,提示你已经完成的一些工作。 “我已经检查了错误,搜索了源代码,到目前为止还没有找到问题根源。”

最后,描述他们如何参与到你的下一步。 “我要看这个文件来了解发生了什么。如果你有时间,可以与我一起看一下,那将会很有帮助。“

将精力集中在谈话中,帮助每个人都有更好的体验。如果你的同事看到你没有检查出问题,他们将更加热情地帮助你。

积极参与协助的过程

一旦你开始与某人合作,不要撇开,让他们自己工作帮助你。要去建立自己的思维模式,问“为什么”这样的问题,如“为什么一个节点可能不安全?”和“你为什么要看这个文件?”

在这个过程中做简短的笔记。这些以后可能会对你有很大帮助。主动学习比被动学习有效得多,所以尽可能地通过口头和写作来参与。

协作编程需要很多的精力。如果你感觉到你在退步,那么不要害怕说你要自己解决这个问题。明确说明如何探索这个问题,让他们对你有信心地离开。

3.在得到答案之后,继续跟进

在卡住了几个小时后,问题终于解决了,感觉项目又前进了一大步,接下来准备好,继续跟进,毕竟生产力才是关键,对吧?

获得帮助需要来自各方的大量时间投入,只要确保投入不会浪费就行。在得到帮助后要有意识地去做。

巩固学到的东西

这是至关重要的:每当你和某人在一起工作时,记下你所学到的东西。写作是一种能让你大脑像砖块一样把你的想法变硬的烤箱。

永久地保存记录。我发现即使选择一个文件名一项麻烦的工作,所以我用 Quiver 来跟踪我的笔记。这样我的笔记虽然没有组织计划,但依然对我有用。

如果你把问题发布在公司频道上,那记得跟进解决方案。这就形成了一个对你及他人都有用的知识库。它也为你创造更强的成就感,以便鼓励你在将来再次寻求帮助。

间隔重复是记住信息的最有效方式之一。Anki 是管理间隔重复的强大工具,发送给自己一个回旋的电子邮件或延迟 Asana 任务是一种刷新自己的知识库更简单的方法。

表示欣赏,不仅仅是感激之情

如果你让别人感觉帮助你很好,那么他们会做更多的事情。在别人帮助你之后,你可能已经说过“谢谢”了,这显示了感激之情。但欣赏不同于感激,当你欣赏某人时,他们会感到特别和独特。

这里有一些方法可以做到这一点:

  • 在你的团队工作群中,可以表达出:“Alice 帮我弄清楚那个奇怪的错误!”
  • “昨天我被困扰了一段时间,但 Alice 帮我解决了这个问题,因为她很了解我们的控制器是如何工作。”
  • 写一封电子邮件:“再次感谢你今天抽出了时间帮助我。我现在取得很大的进步。“

在困难解决之后欣赏别人,会让协作少了一些商业化的感觉。相反,则会让人感觉你正在建立一种强大的职业关系。欣赏比看起来更难,所以记住这样做会让你脱颖而出。

解决过的问题,务必记下

软件工程师探索未知的逻辑和数据领域,都会遇到意想不到的事情。有很多东西可以自己发现,然而,与你的同行探险者合作,还有更多的知识需要学习。拥抱它,掌握它。

你解决困难的能力是作为专业软件工程师的关键技能之一,所以,当你遇到问题时,你能给它带来什么?解决并掌握它,你就无敌了。

作为开发者的你,还记得第一次寻求帮助的么样吗?平时会立即寻求帮助吗?

注:文中图片均为视觉中国付费下载。

身陷 Bug 时,优秀的开发工程师是如何寻求帮助的?相关推荐

  1. 成为一名优秀的嵌入式开发工程师有哪些要求?

    成为一名优秀的嵌入式开发工程师有哪些要求? 随着国内嵌入式行业的迅速崛起,嵌入式人才严重紧缺,企业对嵌入式人才更是求贤若渴.尽管是在就业难的今天,但是各大人才招聘网站上,高薪招聘嵌入式开发工程师的信息 ...

  2. iOS初级开发工程师进阶之路

    我觉得是时候,也有必要,承认一下自己的错,压制一下趾高气扬的自己,在知乎上看到一个帖子,有点被打击到了.帖子中涉及到的问题,我给贴出来,各位小伙伴们一起开探讨一下,问题的答案,有知道的请在后面留言 首 ...

  3. 佳铁怎样传输程序_阿里资深开发工程师合著《Java开发手册》,影响250万程序员附pdf...

    写在前面 <码出高效: Java开发手册> 源于影响了全球250万名工程师的<阿里巴巴Java开发手册),作者静心沉淀,对Java规约内容的来龙去脉进行了全面而彻底的梳理.本书以实战 ...

  4. 关于成为一名优秀的软件测试工程师

    入行5年,手工3年,自动化2年.从目前招聘信息来看,整个市场都充斥着会自动化就很牛逼的感觉,会自动化就可以拿高薪(确实如此),会写代码不管是在程序员中间还是在领导眼里,软件测试工程师都变得越来越有地位 ...

  5. 你是开发工程师、程序员还是码农?

    Developers are from Mars, programmers are from Venus, so where are coders from? 不管是CPPer,Javaer,还是PH ...

  6. 全栈开发工程师修炼指南

    全栈开发工程师是指掌握多种技能,能够独立开发应用程序的前端和后端以及数据库工作的开发人员.前端通常是指用户在应用程序中能看到或交互的部分,后端是应用程序中处理业务逻辑,数据库交互,用户认证,服务端配置 ...

  7. 噢易云 python开发工程师 一二面

    噢易云 python开发工程师 一面 1.自我介绍 2.考研多少分 3.班里成绩怎么样 4.最常用的语言 5.python2和3的区别 6.python的特性 7.装饰器 8.django框架学的程度 ...

  8. 如何学习前端知识?优秀的前端开发工程师应该具备什么条件?

    Web前端开发技术主要包括三个要素:html.css和JavaScript! 如何学习前端知识? 我们生活在一个充满规则的宇宙里面.社会秩序按照规则运行,计算机语言几乎全部是规则的集合.计算机前辈们定 ...

  9. 一名优秀的Web前端开发工程师的成长之路:如何学习前端开发知识以及书籍推荐

    我所遇到的前端程序员分两种: 第一种一直在问:如何学习前端? 第二种总说:前端很简单,就那么一点东西. 我从没有听到有人问:如何做一名优秀.甚至卓越的WEB前端工程师. 何为:前端工程师? 前端工程师 ...

最新文章

  1. 如何解决ajax重复提交的问题
  2. 疑似高能粒子射线导致服务程序异常
  3. cxf环境搭建与第一个项目
  4. 【Android开发】用户界面设计-开发自定义的View
  5. .NET之生成数据库全流程
  6. java swing 图片容器_Java Swing中两种设置背景图(容器图片)
  7. 程序员笑话集锦之丈夫与妻子篇
  8. php set_time_limit()的作用是什么
  9. javaJNI(javah用法)
  10. YOLO v2算法详解
  11. 谷歌生物医学翻译软件_翻译器可翻译方言和文言文 超出谷歌微软的翻译软件能力...
  12. 力扣(SQL)584. 寻找用户推荐人
  13. html svg 线条动画,HTML5 SVG图形轮廓线条绘制动画插件-vivus
  14. Google Chrome浏览器调试入门————转载只为自己查看方便
  15. java osm_OSM初识(三)OSM Data
  16. [转载]Shell十三问(入门与提高)
  17. flutter开发欠揍♎
  18. 关于LED金线的相关知识
  19. CPU卡加密系统与M1加密系统比较!
  20. 北邮数据挖掘文本分类实验

热门文章

  1. 二分查找以及数组下标的移动规律
  2. 中国庭院刮板市场趋势报告、技术动态创新及市场预测
  3. 2021-2025年中国触摸传感器行业市场供需与战略研究报告
  4. Easystructure教程_C语言源代码自动生成流程图
  5. CSDN 蒋涛对话英特尔中国区董事长王锐:我愿是当代的一个开发者
  6. 滴滴回应高额抽成:确实存在;抖音火山版被判赔腾讯 800 万元;华为鸿蒙系统有望下月规模化推送|极客头条...
  7. 认知智能,AI 的下一个十年 | AI Procon 2020
  8. Python 10 行以内代码能有什么高端操作?| 原力计划
  9. 朱广权李佳琦直播掉线,1.2 亿人在线等
  10. 巨杉数据库 v5.0 Beta 正式发布!