在本文中,我将介绍有助于节省资源(如开发人员时间和精力)的既定做法。
长期以来,我受到“德国格里菲如何教大象跳舞”一书的启发,该书描述了生产优化的各种过程,例如精益管理和改善。 那时,我吸收了许多功能和流程,却面临着100%的工作量,其中明显跟踪了各种因素对我的生产率的影响,因此我不得不进行选择和试验以获取时间。 从资源管理的角度来看,这尤其有趣,因为大多数“生产”都在一个头脑里。
让我们分析影响开发人员工作效率的因素和生活难题:
1.功能强大的计算机工作时的主要必要因素。
例如,如果计算机在调试或在IDE之间切换时速度变慢,则每天可能会花费大量时间。
请记住,通过密集的开发,开发人员可以拥有1到3个IDE,多个浏览器(通常花费+ 2GB RAM),并且在某些情况下还可以使用SQL服务器。
定期刹车,除了时间之外,还会产生刺激性最大的伤害,因为它消耗了开发人员的精力,并且具有积聚邪恶的能力。
使用TDD方法,您必须运行多次调试来测试实现,将每个测试乘以冻结,并由于等待而导致大量的停机时间。
2.垂直任务栏通常,在与.net开发人员一起工作时,可以打开多个Visual Studio(1-2),PL / SQL Developer(1-3),Enterprise Architect(几个图表),Chrome(1-2),Outlook,以及其他功能可以打开几个字母和几个文档(通常没有时间将其全部关闭:)
如果使用水平面板,即使有5个打开的窗口,滚动条也会出现;对于垂直面板,则可以容纳约12个打开的窗口,在其中单击一下即可切换。 (当您有勇气或经常需要在窗口之间切换时,这一点很重要)
另外,应用程序或打开的文档的名称是可见的,水平面板则不会。
之所以会如此关注点击次数,是因为在密集的长期开发过程中(从窗口之间的大切换到注意力的切换),疲劳和刺激感会累积,这会大大降低开发质量。
3.多台显示器(2+)现在很难在一个监视器上想象开发人员的工作。 一台用于IDE的监视器,另一台用于浏览器的监视器。 但这不是极限。 如果您是一名全栈程序员,并且同时在应用程序的多个层上进行开发,那么2个或更多的监视器可以帮助您(例如4)部署必须在单独的监视器上工作的每一层。 这将简化代码分析,并将窗口切换变为头部或眼睛旋转,从而节省能量并保持专注。 您会惊讶于您在项目中实施大规模变更会变得更加轻松和平静。
4.存储系统。对于存储系统,我指的是诸如One Note,Confluence或Enterprise Architect之类的程序。
这样的系统将帮助您简化信息的积累,存储和结构,并且与以记事本++中的文件或选项卡等形式存储所有内容相比,对必要信息的访问要快得多。
因此,请毫不犹豫地减少报价,做笔记并将所有内容存储在特殊系统中,这可以显着加快对必要信息的访问,尤其是积累和系统化。 在分析没有文档的复杂业务区域时,有什么要注意的。
5.脚本说明(用户脚本)所谓脚本指令,是指以编号的步骤序列的形式执行的指令,通过执行这些步骤,您可以实现所需的结果。 每个步骤要么只是一个句子,指示需要在界面中执行的操作,要么更好的是截屏和对需要完成操作的描述。
并非总是有质量文件。
很难记住所有内容,因此请使用这样的备忘单,让您毫不犹豫地采取必要步骤以实现特定目标。 例如,在linux托管上发布站点,将EF迁移应用于Windows托管,执行某种测试用例或配置一些棘手的系统功能。
6.使用外部资源记录工作通常,在开发过程中,会使用各种API,这些数据库不在执行系统任务的开发人员的职责范围之内。 外部服务的不稳定可能会引起重大期望。 记录与外部服务联系时的错误。 而且,不仅依赖于该服务将返回异常的事实,而且还依赖于该服务可能不返回异常,而是返回错误数据的事实。 这种最低级别的错误检测将使您不必分析和定位应用程序更高层上的错误。
正确实现的日志记录将使您能够找出并定位错误,即使无需转到代码的所需部分并进行测试。 这将使您不必从当前工作中转移注意力。 通常,您的系统中的错误可能是由外部系统的不稳定引起的,即使没有您的参与,高质量的日志记录也将有助于识别此类情况,这又节省了您的时间。
7.任务跟踪器。卸下头,不要将任务存储在头中。 将它们写入任务管理器。 在极端情况下,它可以是普通的Notepad ++笔记本。 如果您选择专业的东西,那么最受欢迎的是Jira,Redmine和Asana。 从桌面-MS项目。 移动Trello或Todoist。
一些团队通过Issue在Github上组织待办事项清单。
8.社会性与流行的看法相反,最成功的开发人员非常社交,善于提出问题和表达意见。
通常,关于性格内向和外向类型的理论只是一个假设,更有可能“内向者”是这样的,因为他们只是更被奴役和臭名昭著。 因此,最好不要听心理学家的话,而要发展自己的社交技巧并应对复杂事物!
至少一个害羞的开发商是无利可图的。 您将花费太多时间尝试自行解决。
您可以自己长时间搜索问题的答案。 或者,您可以联系其他开发人员立即找到答案。 选项不同:
-同事;
-朋友/熟人;
-专题论坛
从与您更接近的人开始搜索,可以显着加快搜索速度。
不要害怕表明你不知道什么。
扩大您的专业约会网络。 结交许多话题和问题,这很容易在IT领域结识朋友。
而且,在提出问题时,请不要忘记您正在使用别人的能量这一事实,所以要感到一个人何时很难找到答案,而答案却在“缓存中” :)
请记住,您正在与之交谈的人可能会害怕表明自己不了解某事-如果您感觉到了,只需翻译一下主题,然后在另一个来源中寻找答案即可“关闭格式塔”。
在过渡到论坛的情况下,情况恰恰相反。 您可以安全地提出任何数量的问题。 在您提出并描述了您的问题之后,答案可能会自动出现。 粗略地说,从原则上讲,这个问题的提出可以加快解决方案的速度,通常您可以自己找到解决方案。
9.时间管理。 在连续工作和休息之间休息一下。 与塞子战斗。 波莫多雷当您遇到麻烦而长期找不到解决方案的某种问题时,您可能已经注意到了这种胡说八道。 通常,在这种情况下,会浪费时间,您可以坐几个小时而不会动。 我称这种情况为停止条件,在其中停留一个多小时是没有意义的,因为解决方案通常是找到一个主意,而主意是偶然的。 因此,将您的工作分成空白。 我有45分钟的工作时间,每小时有15分钟的休息时间。 还有另一种技术-Pomodore,它建议每25分钟休息5分钟。
为了管理您的时间,有一个InFocus移动应用程序
10.戒毒特别是戒酒大脑是程序员的主要资产,因此破坏大脑是无利可图的。 酗酒的头部可能再工作几天,甚至可能不会注意到这一点,因为这种情况对您而言似乎很正常。
随着时间的推移,有毒物质会在体内积累,您甚至不会注意到自己的健康状况如何变差,能量却越来越少。
最好不要使用医生开出的抗抑郁药之类的药物,因为这些兴奋剂会耗尽人体,并且在使用了几年后,您会将自己挤出来,所以最好弄清楚如何使自己充满。
放松的方法和技巧没有化学作用-跳舞,瑜伽,运动,除了放松之外,还可以改善您的个人生活并为您带来活力。
11.个人生活在工作上花费大量时间可以谈论两件事:
1)您没有时间完成工作;
2)您没有个人生活。
两者都不好。 我将讨论第二种情况的不利之处。
您将超越团队,您将对工作时刻的重要性产生过多的感觉,由于对每个人的重要性并不重要,因此大多数人可能无法理解。 在此基础上,您和团队之间可以开始“火花”。 误会会引起您的愤慨,这会对注意力集中产生不利影响,并会消耗您的精力。
为了防止这种情况发生,请在适当的时候进行所有工作,然后再只做个人生活,不要考虑工作。
在个人时间里,至少应有专业人士参加,即使参加会议也是有问题的。 或至少每周不超过3天。
其余时间运动,瑜伽,朋友,女朋友,家人,孩子。