Questions tagged «productivity»

生产率是生产过程中每单位输入的产出的度量。

30
为什么不是所有公司都购买最好的硬件给开发人员?
我肯定错过了什么。 在我所在地区雇用程序员的成本为每小时50到100美元。高端机器只有3,000美元,因此每三年购买一台真正出色的计算机的成本为0.50美元/小时。($ 3000 /(150周* 40小时)) 您需要一台高端机器吗?不,这里的3000美元代表的是可能最多支出的金额,而不是我期望的金额。这大约是高端iMac或MacBook(17英寸)的成本。 因此,假设您可以通过购买便宜的计算机每三年节省$ 2000,而您的平均开发人员的收入为$ 60。(这些是我可以提供给bean-counter的最慈善的数字。如果您仅节省1000美元或750美元,这只会使我的情况更糟。)如果这些便宜的计算机每天只花费您10分钟的生产力。(一点也不费力,我确定我的机器花了我更多钱。)然后,在3年中,125个小时的损失总计将损失7500美元。每天损失1分钟(750美元)将获得1250美元的净收益,这几乎不能抵消士气低落的成本。 这是“一分钱又愚蠢的事”还是我简化了这个问题?为什么没有普遍的共识(即使在“企业”中),软件开发人员应该拥有出色的硬件? 编辑:我应该澄清的是,我并不是在谈论尖叫让我的朋友羡慕的快速性能和/或SSD。我说的是RAM太少而无法处理其正常工作量的计算机,这会导致冻结,重新引导,并且(在正常情况下)大约20分钟(毫不夸张地)引导和打开典型的应用程序。(除了周末,我不关门。) 实际上,我计划很快购买一台新机器,它将有所改善。(我将在2011年从2GB RAM到3GB RAM。)但是,按照当前的标准,这台新机器性能中等,因此可以合理地预计,在其退役日期之前,这也是不可接受的。 等待!在您回答或评论之前: 3000美元没关系。如果您要购买的机器的价格低于该价格,那就更应该购买该机器。 我不要求更频繁的升级。在相同的时间表上只有更好的硬件。因此,没有隐藏的安装成本等。 请不要讨论尖端硬件与非常好的硬件之间的区别。我正在游说使用非常好的硬件,例如在一台机器上,这在最坏的情况下是三年前制造的最好的机器之一。 每小时$ 50-$ 100是估计的就业成本 -不包括薪水。如果您是承包商,那将是承包商所使用的开票费率(包括其费用和利润),即雇主的社会服务费。供款,雇主医疗保健供款等。除非您知道此数字不切实际,否则请勿对此数字发表评论。 确保您正在提供新内容。在提供另一个答案之前,请先阅读所有答案。

22
因“知道太多”而陷入困境
请在http://news.ycombinator.com/item?id=4037794注意更多讨论 我有一个相对简单的开发任务,但是每次尝试攻击它时,我都会陷入深刻的思绪-它如何扩展未来,第二代客户将需要什么,它将如何影响“无功能”方面(例如性能,授权...),如何最好地架构师允许更改... 我记得自己有一阵子,更年轻,也许更渴望。那时我当时不会想到的“我”-他会继续写一些东西,然后重写,然后再次重写(再一次……)。今天的“我”更加犹豫,更加谨慎。 我发现今天坐下来并计划和指导他人如何做比实际自己去做要容易得多-不是因为我不喜欢编码-相反,我喜欢这样做!-但是因为每次我坐在键盘上时,我都会到那个烦人的地方。 这是错的吗?这是自然的演变,还是我让自己陷入了困境? 公开披露-过去我是一名开发人员,今天我的职务是“系统架构师”。祝你好运,弄清楚它的意思-但这就是标题。 哇。老实说,我没想到这个问题会引起如此多的答复。我会尝试总结一下。 原因: 分析瘫痪/过度工程/镀金/(其他“过多的思考可能会伤害您”)。 给定任务的经验过多。 不专注于重要的事情。 没有足够的经验(并意识到这一点)。 解决方案(与原因不匹配): 首先测试。 开始编码(+表示乐趣) 一个扔掉(+一个API扔掉)。 设置时间限制。 剥去绒毛,留在里面。 编写灵活的代码(有点像“一个扔掉”,不是吗?)。 多亏了所有人-我认为这里的主要好处是认识到我并不孤单。实际上,我已经开始编码了,有些太大的事情自然就消失了。 由于该问题已经关闭,因此,我将以今天最多的票数接受答案。当/如果它发生变化-我将尽力遵循。

30
您每天可以真正工作几个小时?怎么样?[关闭]
我发现每天要保持8个小时的警报时间很麻烦。我听说有人每天只谈判4个小时的工作合同,他们争辩说他们在8个小时内将无法做更多的事情。 我经常感到困倦,无聊,分心。有时候,我似乎经历了八个小时的生产力狂暴爆炸。其他日子,我几乎什么也做不了。在大多数日子里,这是介于两者之间的时间,我为浪费很多时间而感到难过,因为我无法整日集中精力达到最佳状态。 我想听听您的经历(告诉我,我并不孤单!),并且,如果找到了,您将解决这个难题。 您几乎每天都能工作8个小时/天吗?怎么样?
145 productivity 

21
当编程的特定方面需要10秒钟以上才能完成时,您如何保持专注?[关闭]
当某件事(编译,启动时间等)花费的时间超过几秒钟时,我很难集中精力在正在做的事情上(在编程方面)。奇怪的是,阈值大约是10秒(我还记得有关研究的内容说的是同样的话,尽管我现在找不到)。所以通常发生的是我进行更改,然后运行程序进行测试。这大约需要30秒,所以我开始阅读其他内容,在我不知道它已经过去20分钟之前,然后(如果我很幸运!)又花了10分钟以上的时间来处理上下文切换,然后返回编程。 。 毫不夸张地说,某些事情应该花我几分钟才能完成。 我很好奇其他程序员如何应对这种趋势(或者如果我很独特并且他们没有这种趋势?)。任何类型的建议都是受欢迎的-从“按下编译按钮后就坐到您手上”到思维技巧,再到“如果花30秒才能启动某个东西来测试更改,那么您的开发过程就出问题了” !”

25
人们不工作是“正常的”吗?
大学毕业后,一年多以前,我被聘为初级程序员。我很快注意到我比其他所有程序员都快了几个数量级。这似乎是因为我根本不浪费时间“一般”。但是,大多数其他人似乎喜欢凝视天花板,浏览YouTube,Facebook和随机网站,并且通常一天之内就能完成我通常在一个小时内完成的工作。我100%确信,如果他们集中精力,他们也将能够在一小时内完成这项工作。 我已经迅速晋升为高级开发人员,最近又晋升为团队负责人,现在我以新员工取代了很多这样的人(还有几个人要去)。现在情况可以接受,但我仍然认为情况会好得多。 但是我不禁注意到,每个人的举止似乎都是“正常的”。我所有的老板都不在乎这一点,他们似乎也几乎没有工作。我一直很难找到它们,它们到达的时间比预期的要晚得多,并且要提早离开。显然,在这种情况下我无能为力,因为它们凌驾于我之上,但这是所有公司的“规范”,还是我只是以非常糟糕的经历而告终(这是我的第一次工作经历)? 另外,几年后我会“变得像他们一样”吗?
137 productivity 

13
使用单元测试进行开发与不进行测试之间的时间差
我是一个单独的开发人员,拥有一个受时间限制的漂亮工作环境,每个项目的开发时间通常为1-4周,具体取决于需求,紧迫性或两者兼而有之。在任何给定的时间,我都会处理大约3-4个项目,其中一些时间表彼此重叠。 预期,代码质量会受到影响。我也没有正式测试;它通常会涉及到遍历整个系统,直到出现故障为止。结果,大量的错误逃逸到了生产环境中,我必须修复这些错误,然后又使我的其他项目受挫。 这是进行单元测试的地方。正确完成后,应该将错误(更不用说那些逃到生产环境的错误)保持在最低限度。另一方面,编写测试可能要花费大量时间,对于像我这样的时间受限制的项目来说,这听起来并不好。 问题是,与未经测试的代码相比,编写经过单元测试的代码要花多少时间差?随着项目范围的扩大,时间差如何扩大?

30
用ADD / ADHD编程
我已经诊断出ADD。轻微但足以影响我的工作: 容易分心 一次不能专注于一个项目 沉迷于网络 拖延 等等 您使用什么策略进行补偿? 一澄清 我有真正的 添加。我小时候就被诊断出患有这种疾病,并且一生都在为之奋斗。我不是在谈论由媒体过载引起的人为添加。 更新资料 我刚刚阅读了此说明ADD / ADHD。这是一个很好的描述,特别是对于我们为ADDers编程的情况: 我就像一个工具箱, 将所有我需要 用到的工具 轻轻,整齐地放在箱子中,随时可以使用。 该工具箱是半透明的, 所以我可以在那里看到它们。 工具箱的钥匙已锁定在其中。

9
我还年轻吗?[关闭]
我觉得自己已经精疲力尽,即使我刚大学毕业五年。 在我职业生涯的前三年,情况一直很不错。我在学校从来没有什么特别的,但是我对我的公司感到特别。回顾过去,我可以说我已经采取了所有正确的措施: 我每天都在积极尝试改善自己。 我强调要尽我所能。 我提出要成为一名优秀的团队成员(并阅读有关的书籍)。 我很开心。 在连续三年被评为顶级员工之后,我将政治资本转化为选择从事只有2个开发人员的有趣,迷人项目的工作:我和一位受人尊敬的高级技术主管。 我在该项目上使用HARD,并取得了巨大的成功。高品质,低错误,无延迟等 高级技术负责人获得了重大晋升并获得了巨额奖金。我什么都没有 我非常失望,以至于我不再关心。在过去的一年中,我只是有点浮动。在最初的4年中,每天工作10个小时后,我感到精力充沛。现在,我每天只需要工作6个小时。 有什么建议吗?我什至不知道我在问什么。我只是希望聪明的人看到这一点,并给我一些智慧。
119 productivity 

16
如何避免出现“您是否危害CODEZ”的情况?
我在工作中遇到一个奇怪的情况,我的一位同事经常要我和其他同事提供工作代码。 我想帮助他,但是对小片段的不断要求打断了我的思想,有时使他难以集中精力。 另外,我的印象是(...)此请求是由于缺乏能力而不是懒惰而产生的。实际上,他经常问自己假装知道答案的事情,因为当我解决问题时,他通常会说“确定”,“是,这就是我的想法”之类的东西,给我的印象是我的答案不值得。 我该如何解决这种尴尬局面? 我应该在其他同事面前更清楚地表明他缺乏知识(通过说“如果可以,请自己做”这样的话)还是继续给他他想要的东西? 我认为他应该将所有问题汇总到一起,以便我可以给他一部分时间,他可以全力以赴地完成自己的工作。 团队中没有等级制度,我必须说我们都有差不多五年的资历。基于同样的原因,我相信我无法向管理层报告,因为琐碎的问题经常被忽略。 我与另外两个成员讨论过,他们也同意我的看法:实际上,他经常问通过同事循环的事情。

17
为了提高生产率而愚蠢吗?
我已经花了很多时间阅读有关“好的设计”,“设计模式”等的不同书籍。我是SOLID方法的忠实拥护者,每当我需要编写简单的代码时,我都会考虑未来。因此,如果要实现新功能或错误修复,只需添加以下三行代码即可: if(xxx) { doSomething(); } 这并不意味着我会这样做。如果我觉得这段代码在不久的将来可能会变得更大,那么我会考虑添加抽象,将此功能移到其他地方等等。我追求的目标是保持平均复杂度与更改前相同。 我相信,从代码的角度来看,这是一个好主意-我的代码永远不够长,而且很容易理解不同实体的含义,例如类,方法以及类与对象之间的关系。 问题是,这花费了太多时间,而且我经常觉得如果我按原样实现该功能会更好。它仅是“三行代码”与“新接口+两个用于实现该接口的类”。 从产品的角度(当我们谈论结果时),我所做的事情是毫无意义的。我知道,如果我们要开发下一个版本,那么拥有良好的代码真的很棒。但另一方面,您可能花费了使代码“良好”的时间来实现一些有用的功能。 我经常对结果感到不满意-仅能执行A的好代码要比能执行A,B,C和D的不好的代码差。 这种方法是否可能为软件项目带来正的净收益,还是浪费时间?
112 productivity 

17
(为什么)我应该学习一种新的编程语言吗?[关闭]
我对Java,C / C ++,JavaScript / jQuery相当精通,并且对Objective-C也很熟练。我对这些语言及其相应的框架也相当有生产力,并且在保持代码“干净”和可维护的同时,确实很轻松地生产了企业级系统(以及小规模的系统)(是的,我可以在六点后阅读我自己的代码个月:) 除非平台(iPhone,iPad等)或客户/实施组织要求,否则“为什么”我应该学习一种新的编程语言?纯娱乐”?如果我不想为此做任何有价值的事情,那会带来什么乐趣呢? 我的很多同仁都准备学习“下一个新事物/语言”,通常是Python,Ruby或PHP(仅列举一些流行的语言)。现在,仅了解语言本身就是徒劳的恕我直言。您还需要了解框架,了解它们的用法/ API以及“良好的实施规范”等。 因此,从“经济”的角度来看,学习一种新的编程语言是否有任何好处?如果以一种快速而肮脏的方式学习该语言,那么它也可能会被用于快速而肮脏的原型设计/实现-但我认为这不是对时间/精力的合理投资。 因此,为什么我(或任何与此有关的人)应该学习一种新的编程语言,而不是“很有趣,所以让我们尝试一下”-如果从长远来看,时间的投入可能不值得?

18
如何解释一个外行人为什么在深层次编码时不应该打扰开发人员?[关闭]
如果您只考虑我问题的第二部分,“为什么开发人员在深层次的编码时不应该打扰开发人员”,聪明人已经讨论了很多次。Heck,甚至是SO的联合创始人Joel Spolsky,都写了一篇博客文章,内容涉及“进入区域”和“被淘汰出区域”,以及为什么在参加复杂活动时平均需要15分钟才能达到生产力,与软件开发相关的任务。所以我认为原因已经确立。 我感兴趣的是如何向不了解Bean的人解释所有这些(我的意思是软件开发)。如何告诉妻子,工作场所记账的风趣人物或每隔30分钟用“ Wazzzzzzup?”在Skype上对您执行ping操作的老朋友,所有中断对您工作的影响比对您的影响要深得多。他们花费了您30分钟的时间。显然,除非您想成为空白凝视或友善虐待的目标,否则您无法用“我必须在我的短期记忆中混用很多变量名”这样的句子来解释它。 我希望能够以一种可以使他们清楚理解的方式向非开发人员解释所有这些内容,而不会令人反感,精英化或过于技术化。 编辑:感谢大家的深刻见解。我接受了EpsilonVector的回答,因为他的类比最接近我的原始需求。“入睡”的解释既不是冒犯性的,也不是技术性的,几乎任何人都可以与之相关,入睡或在区域内时受到干扰的后果非常相似:您会感到沮丧,并且会“失去” 15-20分钟时间。

17
您如何阻止自己回家?[关闭]
编程是一项非常费力的工作,而我最大的问题之一就是将工作带回家。这很容易做到:只要我有机会思考,我的思想就会自然而然地转向与工作有关的事情。我发现我今天的许多其他事情在精神上没有刺激性,正如他们所说,自然讨厌真空。不幸的是,不断地思考工作使我感到压力很大,而我似乎无法在一天结束时就放弃这种选择。这让我很失眠。 更糟糕的是,几乎我所有的朋友都是同事,而我们的许多对话几乎没有让我忘记一周。他们很有趣,总的来说,周围的人都很有趣,一旦我们参加了bit子节,我们都会停止谈论工作,但是只要说一点什么都不能鼓励我忘记与工作有关的事情。 那么,到底该怎么办才能把编程项目留给我呢?还是失败了,我可以做哪些类型的精神刺激活动来占用我的非工作时间(这些时间不紧张,并且不涉及改变精神的药物)?

9
动态打字的生产率预期提高了多少?[关闭]
我经常听到这样的说法:动态类型的语言比静态类型的语言更具生产力。提出索赔的原因是什么?难道不只是使用现代概念进行工具处理,例如约定优于配置,使用功能编程,高级编程模型以及使用一致的抽象吗?公认的是,由于不需要(例如在Java中)通常多余的类型声明,因此混乱程度较小,但是您也可以在使用类型推断的静态类型语言中省略大多数类型声明,而不会失去静态类型的其他优点。所有这些都可用于现代静态类型的语言,例如Scala。 那么:对于动态类型的生产力来说,这到底是类型模型本身的优势呢? 澄清:我对大型/中型项目比对快速黑客更感兴趣。:-)

2
关于噪声如何影响程序员生产力的研究[关闭]
是否有人链接到研究,这些研究表明噪声如何影响程序员的生产率?具体来说,我想看看当噪声水平降低时生产率如何/是否提高。 正如评论中指出的那样,编程工作流程的本质是使您始终无时无刻不在集中精力-因此,它受到噪声的影响可能与其他工作方式不同。 我认为这是特定于程序员的原因是,我对数学也很感兴趣。在一个嘈杂的地方,如果我开始考虑数学,噪音就会消失,我发现自己迷失在一个充满图画的世界中。实际上,我最喜欢做数学的地方一直是The Copper Kettle cafe,这是一个繁忙的旅游场所。 对于编程,它是完全不同的。在编程时,我通常是口头思考,任何谈话都会破坏我的思路。从字面上看,我无法在有声音对话的任何地方进行编程。 我已经与其他程序员进行了交谈,他们甚至都没有注意到使我无法工作的噪音,他们说他们主要是在图片中思考。这就是为什么我想知道是否有任何实际的学术研究表明与数学或律师相比,编程是否特别受噪声影响。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.