软件工程资料汇编
软件架构本是软件工程师的一项职能?
在软件行业,似乎普遍认为软件架构和软件工程是截然不同的。在很大程度上,软件架构关注的是设计,而软件工程关注的是实现(即编写代码),两者在某种程度上是相互独立的。从根本上说,两者之间的联系大致类似于建筑.
构建软件最困难的部分不是编码,而是需求
在所有关于人工智能的发展有多么令人惊叹的文章中,有很多人都在担心,我们这些软件开发人员可能很快就会失业,被人工智能所取代。他们想象所有的企业高管和产品研究人员都会绕过大部分或全部的软件开发人员,直接让.
幽默:我们公司的管理情况
以解决方案为导向的辅导沟通
SFBT(即以解决方案为中心的短期疗法)是由温斯康星州密尔沃基的治疗师于 20 世纪 80 年代初开发的一种方法。它主要由 Steve de Shazer 和 Insoo Kim Berg 推动,基于.
探讨英国空中交通管制崩溃的原因
2023 年 8 月 28 日,英国空中交通管制运营商 NATS遭遇重大技术事故。BBC 报道称,有2000 多个航班被取消,损失估计超过1 亿英镑。该事件可能影响了数十万人。导致事件发生的一系列事件.
一开始就能预先设计出接近正确的软件吗?
Leslie Lamport认为:如果你从一开始就没有正确设计,那么你编写的每一段代码都是一个补丁。Leslie Lamport 是一位计算机科学家和数学家,因其对分布式并发系统的理论和实践的基本贡献.
历史上代价最高的 11 个软件错误
软件错误造成的经济损失取决于几个因素。首先,支付开发人员和软件工程师来解决混乱的直接成本。然后就是停机、数据丢失和交易浪费。在此之后,还需要考虑声誉受损。任何遭受灾难性软件错误的组织都将失去客户和更广.
什么是Bloom分类法?
如果您是一名软件开发人员,您可能听说过Bloom的分类法。它是一个将认知能力分为较低和较高层次的框架。您可以使用Bloom的分类法来增强您的学习过程并实现您的目标。Bloom分类法的六个层次,按照认知.
最差的程序员
衡量开发人员工作效率的最大好处是,你可以很快找出那些糟糕的程序员。我想给大家讲讲我认识的最差的程序员,以及我为什么要把他留在团队里。几年前,我在 Twitter/X 上写过一篇关于我认识的最好的程序员.
不合适的上下文环境无法发挥自己的优势
当你处于一个不合适的环境中时,类似不用你的常用手在工作,如果你常用右手,用左手工作不方便,反之亦然。安德烈·马丁提出:为什么我们的工作方式比以往任何时候都重要不要从找工作开始求职或开始职业生涯,而是要.
幽默:“腿间效应”荣获搞笑诺贝尔奖
日本研究人员东山厚树 (Higashiyama Atsuki) 因研究用双腿观看物体的效果而于 2016 年获得搞笑诺贝尔奖。东山从1996年开始了他的“腿间效应”研究。他从小就意识到日本心理学研究领.
幽默:敏捷会议的站立改成俯卧撑,时间必短
软件工程:领导力与价值感
领导力是最大的推动力,但也可能是最大的障碍。要使变革取得成功,我们需要最大限度地激励员工,最大限度地减少对员工的威胁。乔纳森·斯马特(Jonathan Smart)和西蒙·罗勒(Simon Rohre.
什么是相空间以及在软件测试中应用
相空间(Phase Space) 的概念是由 "动态系统理论 "提出的。"动态系统理论 "是一个数学领域,它描述了复杂系统的存在及其相互猜想和独立的行为。相空间是一个系统存在所有可能状态的空间;而这些.
幽默:哲学系学生更喜欢做算法难题?
宿舍里的计算机科学专业学生发现哲学专业的学生曾经以做 leetcode算法难题为乐(并且比任何人都能解决更多的难题),这让他们感到非常震惊。网友:1、我曾经是个哲学爱好者 我读完了所有的西方经典,最后.
升职越快,技术硬技能越少?
无论是作为工程师还是经理,职位越高,你就越需要软技能。软技能指的是: 直接的社交技能--能够与他人建立联系、成功合作,甚至只是与你周围的人(尤其是领导)进行人际交往。 沟通--能够清楚、简洁地解释技术.
为什么工程经理更应该有系统思维?
什么是系统思维以及为什么它在软件开发中至关重要?什么是系统思维?系统思维是一个广泛的知识领域,通过理解所有部分如何相互联系和影响来解决问题。这个理论并不新鲜,不同行业已经应用了数十年。一个很好的例子是.
什么是软件开发中的“两份比萨队”? - martinfowler
双披萨团队是为特定业务能力提供全面软件支持的小型团队。这个词因用来描述亚马逊如何组织其软件员工而流行起来。这个名称暗示了此类团队最明显的特点,即团队的规模。这个名字来源于这样一个原则,即团队的规模不应.
使用ChatGPT提示能自动编写测试代码吗?- michaelfeathers
如今,有许多基于GPT的工具可以分析注释和代码,并在您键入时提出补全建议。您也可以提示它们生成或转换代码。无论哪种情况,您都可以选择接受更改(或不接受),但必须小心。基于GPT的工具容易产生幻觉问题-.
为什么工程师应该专注于写作?
编程不是动作反复练习的kata
你想成为更好的程序员吗?然后练习。这与成为更好的音乐家、更好的运动员(女性)、更好的厨师、更好的艺术家等没有什么不同。你如何练习编程?有很多方法。做编程kata卡塔是一种方法。kata这个词来自于武术.
运维管理:其实我们一直错误地在使用DORA指标
我是DORA 4指标的忠实拥护者。如果在正确的情况下使用,它们是推动工程改进的有力工具。但是,作为一个社区,我们正在错误地使用它们。DORA指标的定义DORA 4指标来自《加速》,这是一本广受欢迎的工.
产品经理形象生动介绍什么是敏捷?
本文试图以一种简单的方式写下敏捷方法之间的区别:把它写成两个朋友之间使用送餐应用为案例的对话。拉克什Rakesh,一个聪明的、精通技术的开发者,和他的朋友汤姆Tom,一个没有技术背景的人,正在进行一场.
为什么我更喜欢基于主干的开发
如今,像Git这样的分布式版本控制系统已经 "赢得了版本控制的战争"。当DVCS越来越受欢迎的时候,我经常听到的一个论点是围绕着用Git这样的VCS进行分支和合并是多么容易。然而,我是基于主干的开发(.
软件不只是代码,还有程序员头脑中的人和理论
Margaret-Anne (Peggy) Storey和Abi Noda是最近发表的ACM论文 "DevEx: What Actually Drives Productivity "的合著者。在这一.
提示工程与盲目提示 - Mitchell
展示了如何迅速工程可以是一个真实的的系统的方法,从语言模型中提取的价值。“提示工程Prompt Engineering”源于语言模型的发展,描述了应用提示以有效地从语言模型中提取信息的过程,通常用于现.
“交付日期”是最糟糕的瀑布式思维 - Allen Holub
“交付日期”是最糟糕的瀑布式思维。具体交付什么是我们在工作中学习如何交付。每天交付。逐步改进,先做最重要的事情。大批量思维是一种反模式!问:很多年前我有过一次艰难的交货日期。 一个系统正在进入挪威山顶.
如何让架构评审感觉像同行评审一样?
许多人讨厌架构评审。我能理解他们。当它作为一个无聊且无用的委员会完成时,充满了不明白你在说什么的人,但仍会做出决定。但是架构审查是一种有效的机制,可以确保具有不同观点、约束和时间范围的利益相关者之间的.
如何编写工程策略?
工程战略应该实现什么,以及工程主管如何指导该战略的制定?示例策略我们希望我们的策略解决的主要因素是(例如,我们对我们的情况的诊断): 我们支持三个业务线(消费者、企业对企业和新实验)。80% 的收入来.
2023年软件工程框架和工具
软件工程 = 方法论 + 过程 + 工具。软件工程就是使用工具和方法论(原材料、配方)生产软件产品的过程(详细步骤)。项目管理工具任务管理和进度跟踪项目计划团队沟通 Asana Jira Airtab.