毕玄大佬的分享以及给我的感悟

2024-08-29 11:38
文章标签 大佬 分享 感悟 毕玄

本文主要是介绍毕玄大佬的分享以及给我的感悟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是蜗牛的第 67 篇原创分享。

前两天看了内部的一个直播,主讲人花名是毕玄,我一看本名是林昊,就觉得很熟悉。因为我在大学时读过他的一本书,名字叫《分布式 Java 应用:基础与实践》,是这本书为我打开了 Java 世界的大门,我接受到的很多新奇有用的知识都来自于此。看到这个名字当然亲切。

毕玄,本名林昊,阿里巴巴 HSF 创始人,在淘宝的十余年里完成了电商架构的多次升级,现视频云团队负责人。著有《分布式 Java 应用:基础与实践》、《OSGi原理与最佳实践》。

毕玄在这次的分享里,主要谈了技术人员的成长,包括职业程序员需要具备的素质、架构师面临的挑战以及技术 Leader的方法论。

 职业程序员 

毕玄提到,程序员贵在专业。一个程序员水平如何,其实几行代码就能看出来。看的不是实现功能使用了多么炫酷的技术,而是对异常逻辑的处理。针对预期之外的入参,系统是正常运行还是立即崩溃。优秀的程序员,对代码的保护是非常强的,而不仅仅是实现功能,这体现着程序员的职业素养。

毕玄举了很多例子,比如因为程序没有控制入参长度,遇到特殊场景传入了超级长的字符串,结果吃爆内存。再比如历史上有次损失几亿美金的软件故障导致美国宇航局卫星发射失败,仅仅源于各国程序员对 kg 不同的理解,使用了自己认为的度量单位,导致计算出错。

专业性很重要,专业不强,基本在犯错。

 架构师 

淘宝架构,1.0 php,2.0 单体 Java,3.0 分布式 Java,4.0 异地多活。毕玄完成了 3.0 到 4.0 的升级,但这个名字却是在结束之后才强加上去的。

对于架构师,毕玄认为:架构师要在技术领域有很深的积累,同时要有比较广的知识体系。架构师不需要什么都懂,但要能搞清楚系统边界,能做好技术选型。知识面广,在做选型的时候不会出现太大的偏差。架构师的决策很重要,需要平衡很多东西,平衡业务,稳定性,风险,节奏。因此架构师很大的问题在于选择。达到一个目的有很多方案,关键是选哪个方案。

架构师也要有规划能力。一次架构升级,架构师要决定,分几年做完,几年的节奏是怎样的。有些事情不允许改,不允许错,必须提前做好准确的计划,比如机房的部署,一旦选定某个地方,就不能轻易改变。

架构师要了解技术领域在工程界的排名,不能自大。不怕落后,就怕不知道自己落后。技术所有的壁垒,是时间的壁垒。

架构师的底线,是要有个核心,核心的设计是整个系统最为重要的,所有子域系统的设计必须围绕这个核心展开。并且上线的系统是可以被论证的,能够符合设计原则。

技术可以有信仰,有立场,但不能东倒西歪,摇摆不定。

 技术 leader 

技术leader要求有很强的方向感,这种方向感其实是很难培养的。leader 要能对团队的方向有深入的思考,并且能比老板更专业。充分想清楚可以做什么,再和 leader 沟通。

不同级别的 leader 的区别在于解问题的范围不一样,有人解团队的问题,有人解 BU 的问题,像逍遥子就是在解社会的问题。

技术 leader 应当学会信任别人,学会放手。花更多的时间思考团队的方向,思考匹配这个方向的组织阵型,每个角色的成长空间,排兵布阵。

一切都是知易行难。

 其他观点 

兴趣很重要,兴趣能够保障好永远的热情。

什么是技术深?不仅仅是某个技术工具运用娴熟,对于业务开发而言,业务系统的复杂度,比如复杂的营销规则能够用几句话讲清楚,也算技术深。

【我的感悟】

听完毕玄大佬的直播分享,给我的整体感受就是,一路走下来的他,都是技术线和管理线阶梯式成长。从普通的程序员到职责不断扩大的架构师,再到参与未来规划和组织管理的技术 leader,踩过很多坑,犯过很多错,发生过很多有趣的故事,也取得过重量级的成功。很多时候,站在巨人的肩膀上做事情,虽然不会避开一些障碍,但能吸取前人经验快速跳过这些障碍。前辈们很多的做事风格以及考虑问题的思维值得学习。

—— END ——

作者简介:互联网人,大厂工程师,内容创作者。欢迎加我微信,进行深度链接。

关注视频号:未来是视频的时代,欢迎扫码关注我的视频号,获取更多优质内容。

推荐阅读:

2020 上半年,写给自己

沟通协作的几条心得

知识的诅咒:为什么你觉得显而易见,而对方却无法理解

这篇关于毕玄大佬的分享以及给我的感悟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117758

相关文章

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作