本期访谈嘉宾:@铂赛东
访谈编辑:芒果果
其实铂赛东做程序员是个出人意料但又在情理之中的决定,他大学学的是数学,虽然都是和数字、字母打交道,但隔行如隔山,进入编程行业还是需要点勇气的,不过他身边的人得知后倒觉得他很适合。用铂赛东自己的话来解释就是:“找到一个自己热爱的行业我觉得是件挺幸福的事,因为人的一生很多时间都在工作,每天做自己不感兴趣的东西,那是一件很悲催的事情。”而编程,就是他找到的感兴趣的东西。
不过兴趣归兴趣,专业归专业,当时工作没多久的铂赛东就差点因为删了公司的数据库而辞职。他应该是菜鸟翻身的典范了。如果当初因为闯下大祸就辞职溜之大吉,铂赛东的职业生涯可能就完全不同了吧。
在独自一人熬夜补救,恢复了几百万条数据后,铂赛东完成了一次职业心理上的“涅槃重生”。现在的他,已经成了一个“编程改变世界”的实际践行者。
Q:介绍一下自己吧。
网络ID:铂赛东,真名张元成。一个热爱技术,热爱分享,没有被年龄磨灭激情的直男。
「出走半生,归来仍是少年」。我希望自己也是如此,工作十多年了,但是我仍旧希望自己像一个少年般充满对知识的渴望,朝气满满的面对生活。
目前在公司任职架构师,负责一些业务支撑中间服务的设计和开发,以及一些核心业务的选型和设计工作。
Q:大学是数学专业的,为什么毕业后却当了程序员呢?
关键是兴趣,我并不是科班出身,大学学的是数学。毕业后没直接工作,去外面学了半年软件,才进入行业的,因为对逻辑和结构化思考比较擅长,所以我一直觉得自己就适合做这个。并且愿意为此奋斗一生。找到一个自己热爱的行业我觉得是件挺幸福的事,因为人的一生很多时间都在工作,每天做自己不感兴趣的东西,那是一件很悲催的事情。
Q:从数学转到计算机还是挺难的吧?
其实我是一个挺自信的人,学习能力和自主性、主动性都比较强,学习还是很有信心的。但是可以和大家分享一个真实的故事。
在我工作第一年的时候,曾经有一次因为太菜太紧张,在加班的时候,生产上删数据(不要问我为什么会有生产数据库权限),where少加一个条件,导致误删了大概几百万条生产库存信息,那时候用的是oracle。
哈哈,对,当时就是这么菜。误删好之后那时感觉天旋地转,感觉完了。愣了一个小时之后开始写辞职邮件。。。当时已经是晚上8点了,公司就我一个人在加班。想想觉得不甘心,自己造的孽自己补回来。但是当时太菜,对oracle数据库也不是特别精通,也不知道闪回啊,binlog这种方式。只有一个前一天的快照备份。想想自己在设计的时候设计了每一条库存变动都往另外一张执行表里写执行记录。根据前一天的快照加上这段时间内的所有执行记录,是可以反推出来的。然后就这样写程序生成执行语句,大概折腾到早上5点,终于把几百万条生产库存恢复了。第二天早上吃早餐的时候,激动的都想哭。“删库”我做了,但是我并没有跑路。
我觉得从怀疑人生到战胜自己的内心,这段经历让我感受颇多。在我后来的十多年工作中,我都十分敬畏技术,没有出现过大的差错。
Q:如果可以重新选择是否还会选择这个职业?
毫不犹豫的说,会。重新选择100次,我依然会这么选择。觉得每一个人都会在某一方面有闪光点。正确的认识自己很重要。适合自己的才是最好的选择。
Q:你是如何不断提升自己的能力的?
提升自己啊,就我而言,我每天要花一些时间去看java各个社区和开源社区,看看别人做了什么,别人碰到的问题,并且花时间思考如果是自己。会不会有更好的方案。多思考,多接触社区是个不错的方式,坚持下来会看到自己的成长的。
Q:现在都掌握哪些技术栈了?主要使用哪些编程语言,有接触新的么?
从入行以来十多年来一直致力于java后端,擅长企业级微服务以及微服务生态的搭建,大多数场景都有碰到过,也会经常沉淀自己的知识,以开源作品或者内容的形式分享出去。业务领域,基本上一直在做从事支付加电商的业务,是一名老兵了。
因为我一直致力于java后端,java这门语言的生态其实非常繁荣。我做项目首选还是拿自己最擅长的语言来做。但是其他语言在很多方面对比java是有优势的,我非常看好,也会拿这些做一些demo玩玩。比如go和kotlin,go在处理并发的时候有天然的优势,kotlin学习成本非常低,因为和java几乎完全兼容,而且具备java所没有的特性。一般来说,一门语言是否能成为以后的趋势,一是看语言背后的支持公司和组织,二是看社区是否有热度。这2个语言,在这2个方面都非常不错。
有明确目标或者有朝着某个方向努力信念的人通常都有一个共同点,那就是有条理性。铂赛东也是如此,他是一个逻辑和结构化思维很强的人,习惯在做事之前先列一个 List,没完成一件事就在后面打一个勾。他说:“我喜欢一切都是有条不紊的。”
虽然已经工作了十几年,铂赛东仍然保持着刚刚入行时对编程的那股少年般的热情。大学是数学专业的铂赛东算是半路出家,毕业半年后才入行决心成为一个程序员。这让他对自己的选择更加坚定,因为人的一生有很多时间都在工作,他想把自己的经历更多的集中在自己感兴趣的事情上。
Q:分享一下你的工作流,有什么个人的特别的工作习惯么?
其实我没有特别的工作流,但是习惯把自己要完成的工作任务,要学习的,要分享的内容做一个List,然后按照轻重缓急去完成。完成以后打个勾。标注时间。我喜欢一切都是有条不紊的。
另外的就是做一个项目之前,得想清楚,我觉得明确技术方向很重要,想清楚再去做,可以省去以后很多的问题。所以一个好的选型和设计可以让项目的生命力更久,更稳定和高效。
还有一点就是拒绝一知半解,对于技术,一定要打破砂锅问到底。了解本质才能举一反三。
Q:你认为工作中最应该注意的问题是什么?
碰到问题及时交流,项目中有些问题并不是出在技术上,而是出在缺乏交流上,所以不管和同部门的人,跨部门的人也好,都要及时交流。首先这是种对工作的态度,其次也可以避免信息不对称造成的问题。
还有就是在项目中了解上下游的业务,我喜欢去了解所做项目是为了什么。上下游业务是什么,从一个全局的角度去认识到这个项目所处的位置,这在设计和coding的时候也会有帮助。
并不是科班出身的铂赛东非常珍惜自己能进入这个行业的机会,他一直把解决技术难题作为工作中最大的乐趣之一,无论是解决自己遇到的问题还是能帮助到公司或者个人。
Q:你都帮助同事解决过哪些问题,可以举个例子么?
以前公司很多基础建设还不完善的时候,因为一次帮同事解决kafka的bug,就封装了kafka的公司套件,简化使用成本,后来封装成瘾了,从而把整个基础组件全部封装了一遍。成为了现在的基础套件库。
有一次公司很多服务的jvm开始出现cg过于频繁的问题,深究以后找出原因。因为思考如何去监控,从而和小伙伴一起搭建了新的全服务的监控平台。
因为要重构业务,因为倾向于更加灵活解耦的设计。从而写了开源框架用于流程设计。
因为有运维同学反映日志追踪太麻烦,所以现在我又在写日志追踪框架。
我觉得有人和你反映问题是好事,说明有痛点。有痛点就有机会去思考如何去解决痛点。在此过程中你也能不停push自己去了解自己的知识盲区。这是好事,不用怕麻烦。just fix it!
Q:目前为止最满意的开发项目是什么?
工作那么多年,其实满意的开发项目挺多的。但是我还是把最满意的项目投票给我自己的开源作品,我坚持做一些实用的,能真正帮助开发者解决实际问题的开源作品。其中开源的微流式引擎liteflow就是一款这样的框架,主要致力于帮助项目复杂逻辑的解耦和动态编排,因为现在在做3. 0的开发,等后面做好会单独写文章介绍。
和大多数男孩子一样,铂赛东也喜欢数码产品,甚至忍不住会冲动消费。但他还有一个更健康的爱好,就是健身,对于长期坐在电脑前的程序员来说,难免有些劲椎或腰椎的问题。
随着年龄的增长,铂赛东也越来越重视自己的健康问题,对他来说,坚持运动不是难事,一年多时间他已经通过健康的运动成功瘦身了 10 多斤。
Q:生活中有什么爱好?
挺喜欢折腾数码设备,家里有挺多设备的,如何利用好每一个设备来发挥它们更大的价值,我很热衷于做这件事。比较喜欢尝试新鲜的东西,电子设备可能是我每年花销最多的项目。看到想买的设备,如同小姐姐看到心目中的口红和化妆品那样。有时候会冲动消费。
健身也是我最近一年的爱好,以前因为喜欢打游戏,导致颈椎一直不是特别好。后来戒掉游戏,选择了坚持健身,健康的身体对于一个coding的人来说,很重要。所以坚持了下去,就当是培养自己的毅力。目前每周去三次健身房。坚持了一年,改善了身体,瘦了10多斤,也认识了一些朋友。
Q:说说你和思否的相遇吧。
加入思否创作比较晚,今年才刚加入,但是以前就经常来社区看文章,对这个平台比较亲切,小编和各位创作者都比较nice,大家很谦虚,对待技术都很敬畏。能感受到思否社区一直在为开发者建造一个优质的内容平台。
所以我觉得思否不仅是一个有深度的技术社区,同样是一个有温度的社区。
Q:如何看待国内社区的环境和氛围?
总的来说,个人觉得国内的技术社区比以前好太多了。更多人愿意去创作和分享内容,以前都是拿来主义,伸手党,现在看到整个社区出现了很多高质量的内容和开源作品。这也会促进更多开发者的知识获取欲望。
小编有话说:
铂赛东很会规划自己的时间,会根据事情的轻重缓急列出 List,并严格的执行,这需要很强的主动性和自驱力。
虽然他是个凡事会做好计划的人,但却并不死板,仍然对工作、对生活都充满了热情,原以为他会是那种戴着框架眼镜,穿着格子衬衫,老实木讷的男生,但令我没想到的是他还是个运动型男。
希望铂赛东能像自己期待的那样,做到“出走半生,归来仍是少年”,时刻保持这颗赤子之心。
欢迎有兴趣参与访谈的小伙伴踊跃报名,《思否有约》将把你与编程有关的故事记录下来。报名邮箱:mango@sifou.com
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。