44 | 微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
大厂如微软、谷歌、阿里巴巴等在软件工程中的应用方式体现了小团队规模、自动化测试、DevOps文化和工具投入等特点。他们在软件项目开发团队组成、开发工具的使用和项目开发流程方面展现出了一些独特的实践。这些实践对于普通公司也具有借鉴意义,有助于提高软件开发效率和质量。大厂的软件工程实践包括迭代周期短、严格的开发流程、严谨的测试流程、完善的发布和监控流程以及事后总结不断改进。这些实践展现了大厂对软件工程的高效应用和不断改进的态度,为其他公司提供了可借鉴的经验和思路。通过学习大厂的软件工程实践,可以帮助拓宽视野,提升软件工程知识水平,并将其中的好的实践应用到自己的项目中。值得注意的是,即便是大厂,对软件工程的应用也不是一成不变的,会随着技术的发展、软件工程的发展不断改进。
《软件工程之美》,新⼈⾸单¥59
全部留言(6)
- 最新
- 精选
- 易林林软件工程方式的使用,或多或少会受到最高领导层管理理念的影响,这从各大公司的组织架构图可以看出一些端倪,比如:Amzon的组织架构图,领导力准则得以全面体现,精确而清晰;Facebook的组织架构图,更利于信息的快速传递和响应,管理方式相对其他公司更加扁平;Google的组织架构图,上层倾向于层级管理,下层倾向于扁平管理,适合于公司指令的上传下达,也适合于不同层级之间的工程师进行沟通交流进步成长。 如果领导层倾向于规范化流程化,那么采用Amazon的开发方式,明确的分工,明确的目标,这使得贝佐斯的领导力、执行力、远见力得以全面实施。 如果领导层倾向于激进和冒险,那么采用Facebook的开发方式,只要你够积极,不断创新,即使犯错也是一种进步,不得不说这种方式在小公司开发团队中实施起来更可行,毕竟小公司需要快速响应,快速迭代,快速决策,不可预料的事情比较多。 如果领导层倾向于人性的发挥,那么采用Google的开发方式(个人认为适合资金比较雄厚的公司),它能让工程师在舒适的环境中充分发挥所长,并去尝试开拓自己感兴趣的新的技术领域,各自都对自己的领域精雕细琢,质量无形中就得到了一定程度上的保证。 从上面来看,我算是一个激进和冒险的人,更喜欢Facebook的开发方式,使我能够在不断的创新和错误中成长。
作者回复: 👍你这个角度也很新颖! 一个公司的文化和创始人的性格是有很大关系的,这些文化都没有绝对的好坏,都成就了伟大的公司,合适的就是最好的
2019-06-1415 - Joey宝玉老师好,按照您的课程体系,在逐步实践软件质量管理。请教您一个具体问题:对于生产事件,怎么有效广播给其他所有团队,让他们知其原委,并在之后版本迭代中注意,或者说通过哪些方式可以更好地避免重复发生。 目前采用的方式: 1.知识库,基本没人看。 2.通过邮件广播,群发邮件,也基本无法引起开发者的注意。
作者回复: 开发人员只有在自己遇到问题时,痛过,才能真正的深刻领悟,其它方式效果都会弱一些。 除了你这些方式,还可以考虑: 定期有回顾会议,大家一起总结反思一下,对于一些典型的问题,有必要专门开一个技术会议总结一下,最好当事人来讲。时间不必长,不必太形式化,说清楚问题即可。 有一些错误,尝试从流程或者自动化的方式去解决。比如某一类型错误,是不是可以增加自动化测试,以后在代码提交时,持续集成就能帮助发现错误? 还有比如说有没有代码审查的环节?代码审查是非常好的方式,可以帮助把这些问题及早发现及早修正。
2019-07-294 - 文西宝玉老师,php有什么好的自动化测试框架吗
作者回复: 抱歉我对PHP不懂,你可以搜索一下:“PHP 自动化测试框架” 好像PHPUnit和Codeception不错。 另外Nightwatch或者webdriverio可以对你完成的网页结果进行测试 http://nightwatchjs.org
2019-06-133 - hua168宝哥,现在大厂基本上web都是用java web,sprin boot或spring cloud吧? 运维方面我发现很多用Go,比阿里之前用java/python,现在慢慢用Go…google也用Go,七牛云也是用Go
作者回复: 如果你看下一篇,你会发现技术其实只是工具,是为架构和业务服务的,所以大厂并不是只用什么或者不用什么,还是看哪种更适合业务需求。
2019-06-192 - 胖虫子完了,得转行了,都没测试了
作者回复: 不是没测试了,而是对测试的要求更高了
2020-01-08 - ifelse你要多去关注大厂们对软件工程实践共通的地方,可以应用在你自己项目的地方,另外还要去看大厂对软件工程实践的变化趋势,在朝什么方向发展。--记下来2022-07-10