成为父亲如何使我成为更好的开发人员(和副版本)

我的孩子教给我的有关构建软件以及其他方法的知识!

成为父亲如何使我成为更好的开发人员(和副版本)
我和我的家人

嗨,我是吉拉德 我领导Bit的开源团队 ,我是Sivan的丈夫,并且是两个令人惊异的小男孩的父亲:Arad(3岁)和Tavor(1岁)。

在这篇文章中,我将分享我作为父亲,丈夫和软件开发人员的个人生活经验。

尽管并不总是那么简单,但是在我编写代码以及与家人在一起的每一天,我生活中的这些不同部分都会相互影响。

这是我的亲身经历。 我希望您会发现它有趣,甚至有用。 随时发表评论,分享您的见解,甚至分享从母亲的角度来看的感受! 请享用。

关于我的生活

成为父亲如何使我成为更好的开发人员(和副版本)
我和我的家人

我是2个好孩子的父亲:阿拉德(Arad)3岁,塔沃(Tavor)才1岁。 既有一点能量弹,又充满好奇和喜悦。 尽管我已经好多年都不记得睡觉了,但它们是发生在我身上的最好的事情。

我在Bit工作。 我不仅在这里工作,而且还建立了自己坚信的东西。我正在研究一种开源技术 ,该技术可以改变我们使用较小组件构建软件的方式。 我对这个未来感到非常兴奋。

我的生活由家庭,工作,朋友和我所有的业余爱好组成,例如大学的辩论俱乐部,开源,跑步等等。

在过去的三年中,我越来越注意到我的生活中的某些方面拥有相同的经历,并且需要相同的技能才能成功。

编写代码并抚养孩子

成为父亲如何使我成为更好的开发人员(和副版本)

我作为父亲所发展出的技能和特质实际上使我的工作变得更好,而变得更好和工作确实使我成为一个更好的父亲和丈夫。 这些技能涵盖了从创造力和毅力到团队合作,甚至是算法思维和设计模式:

  • 创造力
  • 坚持不懈
  • 责任
  • 团队合作
  • 逻辑思维
  • 学习新技能

让我们潜入吧!

创造力与不可能

成为父亲如何使我成为更好的开发人员(和副版本)
睡觉从来都不是不可能的—当您累了时,要有创造力

我认为,这对任何开发人员来说都是最重要的技能之一。

作为软件开发人员,您始终面临需要创造性解决方案的新问题。 如果您有足够的创造力,似乎可以实现不可能的事情。 这是创新的关键。

作为开发人员,您会不断提高和培养自己的创造力。 这也使您成为更好的父亲。

创造力会影响您抚养孩子的方方面面。 例如,它可以帮助您在孩子哭泣,悲伤或生气时使他们平静下来。

当您的孩子无缘无故地哭泣,或者当他们决定想要一些他们现在无法拥有的东西时,每个父母都对不可能的情况非常熟悉。 尖叫声会刺穿范围内任何人的灵魂。

作为父母,这种情况非常令人沮丧。 在公共场合,这也很尴尬。

那么,您如何“解决”一个孩子在凌晨4点想要糖果的情况? 你有创造力!

我个人发现,当我提供与他想要的替代品相似的替代品时,我只会让他生气。 但是,创造性的解决方案通常是发明一些全新的东西 ,您现在就可以给他。

他们没想到的事情意味着他们措手不及。 然后,他们开始思考和评估情况。 当您思考时,您不会像以前那样大喊大叫。 他们还很快忘记了他们想要的东西。

当然,这需要大量的创造力(随着您一遍又一遍地使用此方法,随着时间的流逝,还会产生更多的东西?)。

将此创造力传递给您的孩子

孩子们天生就有创造力。 不幸的是,随着他们开始成长,他们变得缺乏创造力,越来越传统。

通过发挥创造力并奖励创造力思维,您将:

  1. 保持孩子的创造力更长的时间。 您可以保护他免受那些试图使他失望的人们的注意,以使他更容易预测,以便他们可以更好地处理他。 那是一件大事。
  2. 通过您自己的创造力赋予他创造力。 将一些创造性思维结合在一起,形成协同效应,从而产生惊人的结果。

即使困难也要负责

成为父亲如何使我成为更好的开发人员(和副版本)
负责任很难!

优秀的开发人员不仅要有创造力,还要负责。 开发产品核心部分的开发人员应对其团队成员,组织,产品用户等负责。

如果开发人员“想小”,却没有意识到强大的力量会带来巨大的责任,他们最终会伤害自己和他人。

我认为最好以身作则来学习责任。

这是您学习,实践并适用于生活各个方面的东西。 如果您在编写代码时负责任,那么您更有可能对生活的其他方面负责。

从构建软件中学到的责任对我作为父亲的生活非常有用。 当您的孩子得知您对自己的单词拥有所有权并通过动作来支持它们时,他们会成长为跟随您的榜样。

不要在工作中偷工减料,也不要在家中做。

孩子们需要很多注意力和辛勤工作。 它们还带有很多较小的东西要处理。 例如:

  • 不要忘了带些多余的衣服,以防弄湿!
  • 不要忘记为婴儿带来玩具!

就像我不会“部署”并在晚上回家一样,我不会带我的孩子去某个地方,除非他们为可能发生的一切做好准备。 做好准备,负责任,看透一切。

面对失败的毅力

成为父亲如何使我成为更好的开发人员(和副版本)
一定有办法

持久性是指即使有障碍,失败或只是一些无聊的时间,也不会放弃并继续前进而不间断。

开发软件是关于尝试做出一些事情。 这通常意味着需要反复尝试,直到有效为止。

几乎每天,开发人员都必须尝试不同的方法,不同的解决方案和方法(由开发人员的最好的朋友Google提出),以解决在理论上应该起作用的问题,一次又一次地失败。

您需要能够从失败中成长,这说起来容易做起来难。

孩子们是敏感的生物,往往会在情感上失败。 如果事情做对了,通常就是我们所知道的世界末日。

另一方面,他们也充满了活力,动力和想象力。

小孩子经常在没有意识到自己比看起来更难的情况下进行尝试。 然后,他们开始意识到这很困难并且经历失败。 无论他们工作多么努力或走了多远,这都可能导致他们打破并停止追求目标。

就像解决软件问题一样,您应该将它们引向更好的途径。 向他们展示您也失败了,以及如何克服它以取得成功。 激励他们并教会他们感到失败,这是通往成功之路的合法步骤。 毕竟,每个人都失败了。

一些提示:

  • 有时,他们看不到事情的全貌。 帮助他们看到它。
  • 可能没有为成功设置环境和条件。 教他们进行更改。
  • 教他们经历挫折感,以获得成功的回报。

关键不是要教会他们应该一直保持成功,而是要树立他们内心对成功的信心。

团队合作是关键

成为父亲如何使我成为更好的开发人员(和副版本)
团队合作是关键

开发人员的工作通常被视为独立的事物,主要涉及您自己和您的计算机。

那是不对的。 都是关于人的。

软件开发通常是在团队中完成的,这些团队中不同的人扮演着不同的角色,并且所有人都一起发挥作用。 Bit中 ,我常常觉得自己是一支出色的篮球队的一员:我将事物传给其他人,为他们阻挡,然后我们一起进行演习,以便我们每个人都能得分,每个人都赢。

架构会议,代码审查,寻求建议,整合事物,教别人和学习,这些都是每天工作的一部分。

优秀的开发人员必须将复杂的概念和结构转换为通俗易懂的语言,使其团队成员可以理解和交流。

他们需要学习如何微笑地给予和接受批评。 他们需要让其他人分享并理解您的挑战和需求,即使他们不了解您的全部情况。

开发人员之间的沟通与父母与孩子之间的沟通有很多共同点。

大多数孩子大部分时间都缺乏理解您所谈论内容所需的大部分背景信息。 这意味着您的大部分谈话都与您试图向孩子解释一件复杂的事情有关。

练习这种能力可以使您更好地与成年人交流。 您将学习如何使孩子理解事物并在工作中使用它。 您将从中学习如何帮助团队成员了解您,并将其应用于孩子。 有用。

另一个方面是给予或接受建筑物批评的能力。

作为父母,您必须教给孩子正确的对错和建立明确的界限。 孩子是孩子,他们会犯很多错误。 没关系。

当他们犯错时,您将给他们反馈,以帮助他们学习和改进。 您不想破坏他们的信心或阻止他们尝试,而要教他们如何变得更好。

能够以建设性的方式而不是破坏性的方式做到这一点,将使双方的事情变得更加容易,而且生产力也将大大提高。 这就像为团队中的另一个开发人员进行代码审查一样。

如果我们能够采取方法教孩子并将其应用于我们的工作中,我们将极大地改善团队合作精神,并使每个人的工作水平更高。 如果接收到它的人由于说的原因而听不清说话的内容,那么最好的代码审查一文不值。

这两种方法都起作用-学习如何像小孩子一样聆听,并且在听别人谈论您的工作时不会被冒犯。 我知道这很难。 学习如何给出和接收反馈的核心原理,以开放的心态改进和改进信息所需的要点。

当您的情绪高涨时,这也将对您的孩子有帮助(当您的孩子对您大喊大叫时很难,请相信我),您需要了解真正的问题是什么。

成为父亲如何使我成为更好的开发人员(和副版本)

我学到的另一个有用的技巧是如何使用道具来解释自己。 乐高积木,图纸,厨房用具-一切顺利。 视觉总比一千个单词好。 它适用于孩子们以及我的团队。

算法思维与模式识别

成为父亲如何使我成为更好的开发人员(和副版本)

这部分不需要开发人员方面的大量解释。

我们所有人每天都在编写算法,并在所查看的每段代码和所学习的每个框架中找到模式。

孩子们的思考方式通常更具联想性。

这种思维有很多优点,但通常缺乏清晰的逻辑结构。 大多数孩子以后只会发展这种思维。

作为开发人员,您经常将复杂的事情分解为较小的逻辑步骤和决策树。 面临的挑战是将这种想法传达给您的孩子,并帮助他们从中学习。

对我而言最有效的方法是向孩子们展示如何解决问题,分解问题并找到解决方案。 不要仅仅给出答案; 教给他们相同的逻辑思维,使您成为优秀的开发人员。

您还可以使用一些图纸来显示不同的部分以及它们如何协同工作。 这将提高您的孩子自己做同样事情的能力,并为他们的工具链增加重要的能力。

一次一步,他们将获得使用两种思维的经验,并确定哪种方法更适合特定情况。

另一方面,有时您在逻辑上思考问题。 向您的孩子学习! 有时,即使事情看起来过于复杂,直觉和无忧无虑的思考也可能是您获得成功的最佳方法。

孩子们的思维方式可以带来新的视角,并使您与可能错过的重要步骤联系起来。

学习技巧

成为父亲如何使我成为更好的开发人员(和副版本)
第一次开车

软件开发是当今世界上最活跃的领域之一(尤其是网络开发)。 不学习会使您很快过时。

我估计大多数开发人员每天都花几个小时学习新事物。 这是成为开发人员最好的事情之一。 这也是您几乎可以在生活的各个方面进行练习,改善和利用的一项技能。

学习意味着能够理解您要寻找的东西,找到它(今天,只需单击几下),了解它,说出重要和不重要,然后将这些知识与您已经知道的东西一起应用。

当我们需要做一些我们并不真正知道该怎么做的事情时,我们都会面临很多情况。 自然,孩子们更容易受到这种情况的影响。 这使孩子们真棒自然学习者。

对他们来说,让他们指导他们的学习过程是一项巨大的财富。 您可以将他们指向他们以前已经学过的其他东西。 您可以在整合某些知识的过程中帮助他们。 您可以通过提出关键问题来帮助他们(并仅在必要时提供答案)。

孩子们具有无限的好奇心,渴望学习新事物。 至关重要的是不要压抑这种天生的本性,而要养育它。 提高他们的学习技能将使快乐的孩子拥有更好的未来。

结论

养育孩子是世界上最复杂的任务之一。 构建软件也是如此。 我们都希望成为更好的父母和更好的开发人员。

没有黄金规则。 在将这些关键技能传递给我们的孩子的过程中,只有不断进步,学习和变得更好的过程。

这些是我的意见。 其他人可能有不同的信念。 我个人试图考虑可以给孩子们最好的工具 ,以便他们更好地了解自己的世界并决定最适合他们的东西。

我正在尝试为他们提供工具,我相信这些工具将为他们提供这个世界上最好的起点,这将使他们成为最快乐的人。

我发现从我与团队一起构建软件的过程中学到的知识适用于成为父亲的许多方面,而我的生活的这两个部分可以互相学习很多。 真正了解自己和拥有的技能,以将其传给孩子,这是一个非常重要的过程。

如果您是开发人员,则鼓励您考虑自己作为开发人员的技能,并思考如何应用这些技能来抚养孩子。

谢谢阅读。 如果您喜欢这篇文章,请随时单击该鼓掌按钮????,以帮助其他人找到它。 请随时在下面分享您的想法!

Twitter上打个招呼,或查看我们在Bit建立的内容。

https://upscri.be/hackernoon/

From: https://hackernoon.com/how-being-a-dad-makes-me-a-better-developer-and-vice-versa-85a92884eeaf