技术决策

如今,无论是在社交媒体上还是在博客文章上,在技术会议上或在出版物中,都绝对找不到贫穷的技术建议。 借助SaaS和开放源代码劝说的丰富工具,大多数供应商和开放源代码社区比以往任何时候都更有动力去影响开发人员并为其产品提供支持。 我通常看到的挑战是,处于等式另一侧的人(即最新和最先进技术的消费者)所面临的挑战是通过宣传,思想领导和模棱两可的声音来操纵自己的方式,并选择正确的工具来解决问题。他们实际面临的问题。 在将小麦与谷壳分离时,要克服每种工具和供应商提供的模糊边界和功能,功能和折衷的模糊界限,尤其是在时间紧迫的情况下,许多团队发现这尤其具有挑战性。 优先考虑解决“实际问题”的重要性,而不仅仅是表面上可能出现的问题。 识别“实际问题”需要对系统(以及与之交互的系统)有更深入的了解,更重要的是,必须更好地了解系统的历史。 但是,提高对系统的可见性只能在一定程度上缓解此问题,因为不可能分辨出系统在发展过程中可能遇到的每一个可能的问题。 当具有良好的直觉和直觉时,以数据为依据的决策最有效,尤其是在缺少重要数据的情况下进行决策时。 模式匹配 我本周早些时候与一位朋友进行的一次无关的谈话是关于在有用和愉快的工作之间找到适当的平衡。 并非所有有用的工作都会使个人贡献者满意,并且并非所有有趣的工作都必定对公司有用。 因此,对于IC及其经理来说,重要的是要在有用的工作和IC自己喜欢的工作之间找到适当的平衡,并在工作证明对组织无用的情况下迅速失败。 这次对话中最有趣的部分是个人贡献者如何最终陷入这样的境地,即他们所做的工作使他们感到愉快,但对公司却没有用。 我对这种谬论有第一手的经验,这又归结为人们将问题空间与他们最喜欢的技术的解决方案空间混为一谈,或者将他们的热情项目作为解决“冰山一角”问题的解决方案。 在这种情况下,仔细权衡机会成本有时会令人大开眼界。 对于阻止激情项目的飞行也很有帮助,要求提出建议的工程师还提出一份详细计划,内容涉及维护成本,工具成熟度,调试简便性,新技术与现有烟囱的适应性以及实际情况。基准(在出于“性能原因”而提出新技术的情况下)。 从长远来看,在决策过程中尽早引入必要的减速带可以节省大量时间和精力。 在我工作的地方,我们已经很好地内部化了这一点,为了证明一个新项目的合理性,建议该项目的工程师必须提供有关该项目将如何产生影响的足够证据。…

工程师愿景

视觉探索? 难道不是嬉皮士,药物或敏感的类型吗? 我是工程师,那东西不适合我。 我听到你了 我也是工程师 当我在经历一些职业和个人挑战时,当一位朋友建议进行“远景探索”时,我感到非常怀疑。 我做了一些研究,然后觉得“到底是什么”。坦率地说,我的想法是,即使没有帮助,我也会去露营,结识一些有趣的人,并做一些禁食的实验,所以一切都不会丢失。 出乎意料的是(对我以外的人而言),我发现这种体验具有变革性。 当我思考自己的经验时,我意识到,这个过程可以解决抵抗标准分析方法的挑战有很深的理性原因。 让我们超越第一个假设,即某些问题无法进行理性分析。 任何熟悉海森堡不确定性原理或哥德尔不完备性定理的人都知道,存在着所有类型的问题都无法进行理性分析。 靠近家,复杂的个人,社会,家庭和职业挑战经常抵制标准的解决方案分析方法,部分原因是它们的复杂性,部分原因是许多变量甚至无法近似地捕获。 这些挑战值得我们努力,因为研究表明,即使生活中的这些部分发生微小的变化,您的快乐,充实和成功的水平也会大大提高。 那么,为什么Vision Quest(或类似的东西)是应对这些挑战的好方法? 显而易见的答案是,摆脱干扰是解决更棘手问题的好方法,这确实是巨大的好处。 与旧的操作系统调度程序一样,我们面临着同样的挑战-我们将短期作业优先于长期作业,以确保长期作业永远不会获得任何CPU周期。 对于某些问题,这可能是完整的答案-我记得几天之内独自在一个房间里设计了一种新算法-但社会问题似乎更像是旅行推销员问题,因此,没有更多的时间不能让你有意义地接近一个好的解决方案。…

停止做出“不可思议”的工程决策

实际上,没有比Netflix更好的Type 2决策示例。 在洛斯加托斯,该公司倡导一种自由与责任的文化。 除了一些基本的护栏(不会造成无法挽回的灾难;不会引起道德,道德或法律问题),工程师还可以自由地做出任何必要的工程决策,以推动公司前进。 在Netflix,工程团队会制定自己的决定,并负责从创建到部署到运营的代码。 该公司没有让自己陷入围绕工程决策是否正确的无休止的辩论中,而是优先考虑了从错误决策中快速恢复的能力。 而且有效。 Netflix Engineering一直在不断发展和创新,其文化一直赢得无数奖项和出色的员工评分。 您无需成为Netflix或Amazon即可让您的工程团队重新做出Type 2决策。 首先,请人们以上述问题为指导,以书面形式要求人们将所建议的变更背后的理由记下来。 回答“为什么”,“多长时间”,“多少”和“如何退货”对于控制决策的成本(以及随之而来的风险)大有帮助,并确保您可以像公司一样快速做出响应。 Netflix享受。 在回答这些问题时,应坚持书面交流而非口头交流。 诸如ADR或评论请求之类的系统可以帮助您捕获辩论,讨论和学习经验。 当其他工程师了解您在做什么以及为什么时,请执行决定。 然后,当某个决定的保质期到期时,请重新访问它。…