本文会重点讲述我对招聘、目标管理、团队沟通和工程文化的理解。挑选这几个主题讲述,主要是因为在带团队的这一段时间内,我认为这几个要素是团队长期发挥战斗力和创新能力的核心。得到这个认识对我来说并不容易,市面上有纷繁复杂的书籍(机场书店尤其多)尝试告诉你什么叫领导力,公司也有相关的培训介绍,周围也有很多 TL 用每日的言行告诉你他们是怎么做的。但是我认为这些来自周围的知识,很多是无效的,有更多是错误的。例如有 TL 每天在办公室坐到半夜下班,给团队巨大的加班压力,表面看起来是奋斗,实际上会让大家趋向于更多关注工作时长,从而降低对了对工作价值的思考;又有一些例子是,当团队同学犯错后,把故障和绩效强关联,在我看来这不仅无助于大家深入思考系统健壮性,更是鼓励推责,扼杀创新;更常见的例子可能是 TL 积极向上汇报,承诺超出团队负责的交付能力,导致团队完全无视工程师文化,久而久之优秀的人才逐渐流失,团队整体研发能力实则越来越弱。
字节跳动内部已经将ClickHouse广泛应用,并在原引擎基础上重构了技术架构,本系列文章将从Upsert、多表关联查询、可用性提升等多方面介绍字节跳动基于ClickHouse的能力增强实践。
我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度,而设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。 大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。其中,创建型模式是对类的实例化过程进行抽象,从而将对象的创建和使用分离开。工厂模式属于创建型模式的范畴,本文将着眼于工厂模式,从简单工厂模式、工厂方法模式和抽象工厂模式出发,展开学习和深入探讨。(本文如有表述不当的地方也恭请大佬们指教哦~)
随着公司业务上云的呼声越来越高,越来越多的团队已经完成业务上云的进程,K8s 集群在公司整体机器成本中的比重越来越大。 本人所在平台的应用部署上云后,在资源管理方面出现了一系列的问题,这些问题或多或少都对成本优化或应用的服务质量造成了一定程度的影响。
去年的Log4j-core的安全问题,再次把供应链安全推向了高潮。在供应链安全的场景,蚂蚁集团在静态代码扫描平台-STC和资产威胁透视平台-哈勃这2款产品在联合合作下,优势互补,很好的解决了直接依赖和间接依赖的场景。 但是由于STC是基于事前,受限于扫描效率存在遗漏的风险面,而哈勃又是基于事后,存在修复时间上的风险。基于此,笔者尝试寻找一种方式可以同时解决2款产品的短板。笔者尝试研究了一下Maven是如何处理一个项目中的直接依赖和间接依赖的,并且在遇到相同依赖时,Maven是如何进行抉择的,这里的如何抉择其实就是Maven的仲裁机制。带着这些问题,笔者尝试调研了Maven的源码和做了一些本地的测试实验。总结了这篇文章。
当下 BAT、美团、字节跳动等一线大厂都在加速推进业务的容器化、云原生化。打开这篇文章的你,应该或多或少跟云计算、容器、Kubernetes、云原生应用有过接触。