code学习

如何成为一名开发人员——第 3 部分:人际交往能力

如何成为一名开发人员——第 3 部分:人际交往能力

在前两节中,我介绍了技术和非技术技能。但是,编程生涯不能凭空出现!需要彼此才能茁壮成长。

6 与其他开发人员联系

你听说过“铁磨铁”这句话。这在软件开发行业当然是正确的。我的大部分知识都归功于我的软件开发人员。

DEV、GitHub 和 Freenode IRC 等社区提供了许多与其他软件开发人员联系的机会。然而,成为社区的积极成员不仅仅是提出问题。分享你对主题的知识和意见,并接受反馈。了解更多关于其他人的背景和想法。做朋友!

通过这些关系,你会发现丰富的知识、支持和欢笑。

礼貌地不同意

当我们讨论这个话题时,你绝对应该学习建设性的辩论技巧。再一次,这似乎与编程无关,但事实并非如此。标准、编码实践和项目决策都源于健康的辩论。我有一些正式的希腊式辩论的背景,但你不需要走那么远。这里有一些提示:

  • 辩论想法,而不是人。(这是互联网讨论经常变得令人讨厌的最大原因。)当出现分歧时,唯一应该质疑的是所讨论想法的真实性。各方作为人仍然具有内在价值,其价值不会因辩论的结果而上升或下降。攻击一个人作为摧毁一个想法的手段被称为ad hominem(针对这个人),它是肮脏的游泳池。
  • 检查你的事实。我们都喜欢引用事实证明是不准确的。如果主题很重要,你应该花时间确定你的主张。如果你没有那么投入,你至少应该公开承认自己是靠记忆工作的。
  • 不要歪曲相反的想法来拆毁它。这被称为“稻草人论证”,是辩论中的另一种肮脏游戏形式。你应该假设任何相反的想法至少有一点优点,并且其他人都是理性的人。
  • 学会嘲笑自己。你迟早会把脚伸进嘴里。当这种情况发生时,克制住防守的冲动。如果你是排在第一位的,并能纠正自己的错误,这会让每个人都感到更舒服。
  • 如果必须,请走开。突然离开谈话总比失去冷静要好。如果你发现自己在情感上投入过多,请走开,直到你控制自己为止。无节制的愤怒不利于合理的行为。

7 提问

总有一天你会被问题难住的。那时你可以通过网络寻求帮助!

在你问之前,你应该先做几件事:

  1. 遵循“20 分钟规则”。尝试至少 20 分钟自己解决问题,然后再询问。
  2. 分享细节。只是告诉我们“X 坏了”并不能帮助我们帮助你。我们需要查看你的代码、确切的错误输出、你希望看到的内容以及你使用的编程语言版本和工具。
  3. 告诉我们你尝试了什么。如果你先花 20 分钟,你应该已经发现了一些不起作用的东西。分享这些知识,这样我们就可以更快地专注于答案!

8 帮助他人

随着你了解更多,你将能够回答其他问题......而且你绝对应该!就我个人而言,我发现我从教别人中学到的东西远远多于从自己阅读中学到的东西。吸收知识,然后转身为其他人重新包装,这有助于它坚持下去。

当然,最初回答问题是令人生畏的。“万一我搞错了怎么办?” 当然,你可以先研究该主题,以检查你的假设,但有时你会弄错东西。

别担心。在最坏的情况下,你会给另一个年轻的开发人员坏消息,但迟早他们会知道真相。在最好的情况下,另一个更有经验的开发人员会过来纠正你,在这种情况下你已经学到了一些东西。无论如何,不​​要因为这样的错误而自责。它们都是学习过程的一部分。

StackOverflow 可能是你想到“回答问题”时首先想到的地方,但绝不是唯一的地方。

9 你是一个真正的程序员!

一路走来,你会想:“如果我只知道那件事,我会成为一个真正的程序员。”

停止!

如果你曾经在你的生活中写过任何代码,并且让它工作,那么你就是一个真正的程序员。永远不要质疑这个。即使是已经编写代码 30 多年的开发人员也需要学习更多。正如我之前提到的,这就是软件开发的美妙之处……你永远不会用完要学的东西。

你作为编码员的合法性并不取决于你知道什么语言,你使用什么工具,或者你解决了什么类型的问题。没有两个程序员有完全相同的经验,或者以完全相同的方式看待问题。每个人都有可以贡献的东西。

你是一个真正的程序员。你不是在装。目标永远不是成为“真正的”程序员,而是成为更好的程序员。

继续阅读