JavaRush /Java 博客 /Random-ZH /喝咖啡休息#48。初级开发人员的 9 个有用习惯

喝咖啡休息#48。初级开发人员的 9 个有用习惯

已在 Random-ZH 群组中发布
来源:免费编程营 你分析过自己的习惯吗?好的人可以帮助你成为你想成为的人。坏习惯会逐渐把你变成你想成为的人。作为软件开发人员工作了 12 年多,我养成了一些令我引以为豪的习惯,也有一些我宁愿改掉的习惯。起初我没有意识到它们的重要性,但后来我清楚了这些习惯中哪些有助于我成长,哪些阻碍了我。这促使我盘点并写下一些可能会激励你做同样事情的东西。喝咖啡休息#48。 初级开发人员的 9 个有用习惯 - 1

自愿承担自己不理解的事情

在你职业生涯的初期,你知道的不多。因此,您可能会觉得自己像个骗子。毕竟,公司付给你专家的薪水,而你甚至不知道同事使用的技术和框架的一半名称。而你只听说了后半部分,因为你及时在谷歌上进行了搜索。如果将“在职业生涯开始时”替换为“在任何新项目开始时”,您可以对软件开发职业有一个相当准确的了解。每个新项目都是新事物的开始。我们结识新朋友,了解新需求,学习新框架。每次都是这样。这就是为什么不断学习新事物如此重要。如果你一直只做你擅长的事情,你将无法自信地承担一个新项目。对未知的恐惧总会出现在你的面前。通过养成独自承担自己一无所知的任务的习惯,您可以获得新的技能和知识。如果您需要修复装配中的某些内容,并且您以前从未遇到过此类工作,请承担此任务!您将获得必要的经验和新技能。如果您的前端 JavaScript 代码中存在错误,并且您到目前为止只使用过 Java 后端,请修复它!做一些你不确定的事情是专业成长的好方法。但不要欺骗别人的期望。不要假装自己是所有事情的高手。老实说,您以前没有做过但想学习。

要求与某人结对工作

如果您遇到困难或不知道如何完成任务,请请更有经验的人与您一起工作。结对编程是推动事情进展的好方法。与您的同事讨论需求:这将使您更容易理解结果应该是什么。然后开始讨论解决方案。你可以更进一步,提出两人一组工作,这样你编写代码,你的同事给你提示,反之亦然。这将帮助您学习如何思考和解决问题。对于初学者来说,结对编程是非常有益的。 关于在家工作的说明。当我们切换到远程工作格式时,我面临着全新的问题。我开始怀疑是否应该让同事和我结对工作。在办公室里,一切都很简单:你可以到隔壁桌讨论这个问题。随着远程工作和视频会议沟通,一切都变得明显更加复杂。如果这对您来说也是一个问题,请与您的同事讨论。您只需要稍微改变一下平常的方法并养成新的习惯即可。

报告你做了什么(和没有做什么)

我不记得有多少次我热情地接受一项任务,以为我可以在一天内完成,结果却在一周内完成。随着经验的积累,我发现自己陷入这种情况的可能性越来越小,但有时我的评估仍然过于乐观。如此估算时间有以下几个原因:
  • 由于截止日期临近,管理层要求尽快完成新功能;
  • 我想与办公室同事相比显得更好;
  • 很多事情根本无法按预期进行;
  • 还有很多很多其他的……
一般来说,您的时间估计也很可能过于乐观。如何解决这个问题?您可以随时管理期望!不断谈论你正在做的事情,并始终沟通是什么阻碍了你。我并不是说您需要每 15 分钟发布一次任务状态更新。只要确保相关人员知道您在此过程中的进度即可。最好在工作日开始和结束时传达这一点。如果你的老板或团队/项目经理期望你取得成果,请每天向他报告:“我正在做这样那样的工作。我遇到了这样那样的问题。以下是解决该问题的选项。” 这样,每个感兴趣的人都会了解您的进展。如果您突然遇到问题,没有人会责怪您 - 只要您让人们了解情况。另一个好处是:通过报告任务的当前状态,您可以听到其他人对问题的建议或解决方案。养成定期向利益相关者更新工作成果的习惯。

开始写博客

我可能不是您第一个听到这个建议的人,但无论如何我都会说:博客!您的博客没有必要公开。这可能是您公司 wiki 上的几个页面,或者是包含代码示例和几行解释性文本的 GitHub 存储库的集合。为什么这是必要的?因为当你写一些东西来教别人时(即使那些“其他人”是你未来的自己),这是学习和专业成长的好方法。写下你如何解决一个难题。或者关于一个新框架如何工作,您已经等待很长时间了。您还可以记录本周所做的事情。顺便说一句,这将帮助您养成沟通您当前正在做的事情的习惯。我已经开始写博客好几次了。当然,一开始,要保持动力并强迫自己写作是非常困难的,因为意识到几乎没有人读你的帖子。写在虚空中是很奇怪的。出于这个原因,我放弃了我的博客。三年前我开始了我的下一个博客。我在没有任何观众的情况下写作了六个月。然后我发现我没有读者,因为我的 robots.txt 文件不允许搜索引擎索引该博客!长话短说,我更改了 robots.txt 中的设置,人们开始阅读我的文章。读者不多,但仍然给了我不停读的动力。渐渐地我的写作能力得到了提高,现在我的博客每月的浏览量达到了20万。这一切都是因为我曾经决定开始撰写关于我设法解决的新框架和问题的文章。我这样做是为了能够在需要时返回我的笔记,而不是因为我想聚集大量观众。一开始写博客似乎是一件无聊的苦差事,但随着时间的推移,如果你不停下来,它就会开始给你带来满足感。如果你怀着学习和教学的愿望开始写作,你不仅会学到很多东西,而且也会让很多人对你感兴趣。

给自己准备一个笔记本

我最近才成为笔记本电脑的忠实粉丝。不是以程序的形式,而是真实的、纸质的。无论我去哪里,我都会带着记事本和笔。这样我就有机会随时写下我想到的东西。当我听别人说话时,当我等公共汽车时,或者当我在考虑晚餐做什么时,我都会记笔记。我还使用记事本创建我想阅读的书籍、我想学习的框架以及我想添加到我的个人项目中的功能的列表。而且,更重要的是,我在读书时做笔记,因为它可以帮助我更好地记住所学的内容。我写下想到的一切。如果由于某种原因我没能写下一些东西,我就会感到焦虑,甚至无法入睡。重点是我不相信自己的记忆力。如果你的记忆力很好,并且完全记得一周前所想的一切,那么你可能不需要笔记本。但如果你像我一样记忆困难,那么在笔记本上做笔记将会显着改变你的生活,让你的生活变得更好。为了确保您的笔记本尽可能有用,您需要一种系统的方法。您必须向自己保证,您在笔记本上写下的任何内容都不会丢失。将笔记本的前几页分成一个目录,以便您以后可以轻松找到所需的信息。养成定期查看笔记的习惯。以读书时做的笔记为例。当我读完一本书时,我会浏览笔记并在博客上写评论。尽管几乎没有人读这篇文章,但撰写评论的过程迫使您思考所读的内容,从而更好地记住它。

记录你的胜利

当养成记录成就的习惯时,笔记本也是必要的。正如我已经说过的,我的记忆力很差。当然,我可以记得昨天午餐吃的东西,但是当我专注于一项复杂的任务时,我的记忆力明显下降。这就是为什么我有一个规则,就是在每天结束时写下我的成就。我们不是在谈论什么伟大的事迹,而只是在谈论小小的胜利。例如,修复错误、朝着创建新功能又迈出一步等。我还写下个人的胜利,例如完成早晨的锻炼。晚上,我只是简单地列出白天所做的事情,并将其全部写在笔记本上。您可以在平板电脑中进行此类输入,或者使用一些特殊程序(如果这对您来说更方便)。随着时间的推移,会有更多的成就。您甚至可以以某种方式标记最重要的内容,以便以后可以轻松找到它们。例如,在准备绩效评估之前,您会浏览列表,找到相关成就并将其列出在单独的列表中。这将使审查变得更好。成就列表对于传达您所做的事情也很有用。

找时间完成重要任务

一天结束时,我常常觉得自己今天什么都没完成。虽然记录你的胜利(或至少完成的任务)很重要,但最重要的是完成这些任务。有时候,一个会议让位于另一个会议,一天的工作突然结束。与同事开完会后,您想继续完成您的任务,但正当您有时间热身时,新的视频会议开始了。之后你需要再次“热身”,因为你已经失去了上下文。这会降低您的生产力。如果说我在提高工作效率方面学到了什么,那就是为重要任务预留时间很重要。如果你没有养成为重要任务留出时间的习惯,那么你很可能永远抽不出时间来完成它们。您的时间将被正常的日常活动占用。管理你的时间可以通过多种方式来完成,说实话,我每隔几个月就会从一种方法跳到另一种方法。但要点仍然是一样的:对于您绝对需要完成的任务,您需要在日程中预留大量时间。我早上上班前留出一小时为博客(或其他网站)写文章。我还在晚上留出一个小时(当孩子们已经睡着时)来完成个人项目。我目前有一个 Trello 看板,其中一周的每一天都有一个专栏,其中列出了我想要在早上和晚上处理的任务。我每周更新一次此板并写下我下周需要完成的事情。这样我就不用浪费宝贵的时间思考下一步该做什么。另外,我每天都会在日程中留出两个小时来做​​一些需要特别集中注意力的工作,这样我的同事就不会试图在这段时间安排任何会议。所有这些都帮助我应对当天计划的任务。一般来说,如何准确地管理时间并不那么重要。最重要的是有原则地去做,并从中养成习惯。否则,你的日子就会被那些对你来说不太重要的事情所消耗。

如果你被困住了,休息一下

开发人员经常陷入死胡同。这些情况非常烦人。在这种情况下,大家常常建议暂时放下工作休息一下。但有时遵循这样的建议是非常困难的,因为“决定已经接近了,我现在不能停下来。” 如果我现在休息一下,那么之后我将不得不再次“介入”事情的本质。为什么要自愿浪费时间?但事实是,当你陷入工作时,它会阻碍你正常思考。你认为陷入这样的问题是非常愚蠢的。毕竟,您的同事可能可以轻松处理它(另一种选择是他们总是得到更容易的任务)。同时,你也不会去思考如何真正解决问题。休息一下,做点别的事情。或者(更好)明天再回到这个问题。与问题保持一定的距离会让你看到以前看不见的解决方案。也许您还没有遇到过这种情况,但我向您保证:通常正确的解决方案会自动浮现在您的脑海中。如果你没有多余的时间,你可以使用番茄工作法——将任务分成30分钟的片段,中间有短暂的休息。每完成一步后,我都会问自己是否处于解决方案模式,或者是否陷入困境并应该做其他事情。番茄工作法还有一个额外的好处,那就是利用每个步骤的结束作为其他习惯的触发点。例如,养成从桌子上站起来伸伸懒腰、喝水的习惯。这有时被称为一堆习惯,因为你可以将一个习惯叠加在另一个习惯之上,从而获得良好的效果。

无需寻找魔法棒

我曾经写过一本关于某种软件架构风格的书,并经常收到诸如“我真的很喜欢这种风格并希望将其应用到我所有的项目中!”之类的问题的电子邮件。怎么做?” 你知道我的回答是什么吗?没有一种架构风格适合解决所有问题。当您有一个小项目时,您可以创建一个简单的 CRUD API。如果您有一个复杂的模型,您可以构建一个更复杂的六边形架构。在每个单独的上下文中创建微服务时,您可以使用数百种架构风格中的一种。不存在可用于任何项目的通用框架。就像没有单一的编程语言或编码风格一样。不要试图找到一根魔杖。她不存在。当你的观点背后有有价值的论据时,拥有自己的观点是件好事。“这是最好的架构风格”和“我总是这样做”这些都是不值得争论的。试想一下,你的团队中有一个开发人员总是有自己的偏好,并且总是口吐白沫来证明自己是对的,“因为这是最好的”。你很快就会厌倦它。不要成为那种类型的开发人员。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION