订单的履约之路就是从发货开始,看似简单的发货功能,其背后却藏着许多的小秘密。 发货的业务特点: B端业务,性能要求不高,因为存在批量发货的场景。 发货时间比较分散,所以并发量不大。 业务复杂,涉及到N种订单类型的发货,不同的订单类型有着不同的业务规则。 随着公司业务的发展,订单类型的增多,没有进行抽象的发货逻辑随着迭代的推进难免会显得落后。当然,在迭代的过程中,也一直在优化,一直在演进,正所谓没有最好,只有符合当前业务现状的最合理。
近日,推上用户分享的一则事件引发热议。一名拥有 19 年编码经验、会 100% 手写代码的程序员 Alex 在面试中败给一位仅有 4 年经验却善用 Copilot、GPT-4 的新人 Hamid。前者因不愿拒绝使用辅助代码工具,过于追求代码可控,惨遭面试淘汰,而后者轻松拿到了全职 Offer。从这件事情可以看出,AIGC 时代已悄然拉开帷幕,虽有资深编程经验,但无法使用好相应工具的程序员,在职业生涯中会遇到很大的挑战。作为一个从事5年的后台开发,并在工作生活中已经深度应用 GPT 等工具的程序员,分享一下自己的经验和见解。
我在 2008 年成为了技术负责人(tech lead),起初并不知道这是一种怎样的体验。在我的认知里,技术负责人和其他软件工程师没有太大区别,唯一的差别是技术负责人可以对技术决策做出最终决定。然而,我没想到的是,在那之后的日子里,发生了很大的变化。特别让我震惊的是,要越来越多的时间被花费到讨论上,而不是编码。 我的日程被会议填满了,在这些会议里与产品经理、项目经理和工程经理讨论项目。与此同时,其他工程师也经常打断我,向我问一些问题。不知不觉,我似乎没有完成太多工作。 对于新的技术负责人来说,这是一种常见的经历:你之前所掌握的时间管理技巧不再起作用。相反,你每天都会被频繁的打断,让你无法完成自己的工作,而且也没人来指导你如何去应对工作频频被打断这一问题。
前天回家路上,有辆车强行插到前面的空位,司机大哥暴躁地拍着方向盘吐槽道“加塞最可恶了”,我问“还有更可恶的吗”,司机大哥淡定说道“不让自己加塞的”。似乎和我们很类似,我们程序员届也有这 2 件相辅相成的事:最讨厌别人不写注释,更讨厌让自己写注释。 一段糟糕的代码,往往大家最低的预期是把注释写清楚,最合理的做法通常应该对代码做优化。如果我们将代码真正做到了优秀,我们是否还需要注释?
ByteFUSE是ByteNAS团队和STE团队合作研发的一个项目,因其具有高可靠性、极致的性能、兼容Posix语义以及支持丰富的使用场景等优点而被业务广泛使用。目前承接了在线业务ES,AI训练业务,系统盘业务,数据库备份业务,消息队列业务,符号表业务以及编译业务等,字节内部部署机器和日常挂载点均已达到万级规模,总吞吐近百GB/s,容量十几PB,其性能与稳定性能够满足业务需求。