一位技术校招生在支付宝的成长笔记

哪有那么多的“逆袭”,唯有努力与坚持,机会就会在前方。

鲁直,1989年生,本科毕业于浙江工业大学,之后被校招进阿里巴巴。虽然,今年刚刚30岁,但他已是蚂蚁金服SOFA中间件开源负责人。

看到这个开头,是不是觉得我们要向大家讲述一个普通程序员励志“逆袭”的故事?不,并不是这样。

前4年,他的人生剧本和别人并没有什么不同

但机会总是留给有准备的人

“当时就是不想考研究生,而刚好阿里给的offer又能让我在杭州‘活’下去。”鲁直推了推眼镜,淡淡地说。

2009年,鲁直报名参加了阿里和浙江工业大学校企合作的实习项目,经过1年的实习期,他在毕业季里成功拿下了B2B团队的offer。

最初的时候,鲁直对于业务架构根本谈不上了解,只是每天重复着很普通,甚至是略微枯燥的代码工作。在当时,鲁直的工作就是做产品的研发以及业务系统的开发。每天想着的是建模和现在的业务模型是否匹配,IE6下能不能兼容……

和大多数踏出校门、初入职场的大学生没什么不同。鲁直的生活和职业几乎谈不上计划,更谈不上梦想。

但是,努力和幸运,让鲁直的人生轨迹逐渐发生变化。

“当时的主管对我们说,因为我们刚进公司不久,在技术方面还需要更多的提升。”于是,鲁直就一头扎进开源代码的研究与分析中。在那时,业界的开源意识并不像现在这般普及,但鲁直他们组织的“半民间”开源兴趣小组却坚持了近2年的时间,一帮技术新人相互陪伴着学习开源,看代码,互相指出不足。

不断的学习让鲁直对于中间件的兴趣日渐浓厚,他很想在这一领域进行尝试。终于,机会来了!有个同事提议推出一个研发效率提升工具,并被当时的技术主管知道了,他给了鲁直和这个同事一个月的时间把这个工具做出来,而且先不用管业务的事儿。

于是,两个人用了一个月的时间,最终拿到结果:一款研发效率提升工具。

从看书自学,到组成小团队一起研究代码,再到这次的实操,鲁直在B2B团队3年时间,想清楚了自己究竟要什么。“当时,就认定了自己想要去做中间件”,鲁直说,“而且阿里也有完备的人员流动机制。”于是,鲁直作出了一个重要的决定——从B2B团队转岗到蚂蚁金服中间件SOFA团队。

那个属于鲁直的机会终于来了。

在SOFA中间件团队5年的挑战与成长

学习使人进步

如愿以偿,鲁直进入了蚂蚁金服中间件SOFA团队,但这并不意味着是一片坦途。

“更忙了,也更充实了;更有趣了,但挑战也更大了。”鲁直略带兴奋地告诉笔者,转岗后,他感受最明显的是角色发生了变化。“之前在业务团队的时候,我只需要具备业务视角即可。但是中间件不一样,需要充分考虑用户的感受。中间件的用户都是研发人员,我需要考量他们的使用场景和习惯等,甚至是在单词拼写以及命名规范等细节。”

鲁直说,他必须要较真,因为程序员很多时间都花在变量命名上。

随着对中间件的深入,鲁直发现,自己进入了“Hard”模式,之前那些认知看上去都不太管用,甚至有一些可笑。正是基于这种警醒,鲁直知道,不断学习才是自己唯一可选的路。

于是,鲁直一头扎进书海,到处找中间件相关的书籍,从最底层的基础理论学起;然后将这些理论知识应用于实际的工作中。为此,鲁直主动要求做很多的支持工作。一段时间之后,鲁直很快就了解了所负责的中间件产品的细节,并快速地积累了解决问题的经验。

“这段经历还是蛮有意思的。如果当时只是一味地读死书,而没有将其用于工作中,我想我可能没有那么大的提升。”鲁直感慨到。

如果说学习让鲁直感到了愉悦,那么在中间件团队工作期间,收获的“痛苦”又是什么?——“你不知道,项目进度带来的压力真心大。”鲁直说。

2016年双11,鲁直所在的SOFA团队负责弹性架构的改造,但其中一个非常老的协议却成了弹性架构下的“bug”。“都知道双11那种紧张的气氛,跟打仗没什么区别。”鲁直说,“架构改造的工作当时因为这个‘bug’而停滞了,整个团队不仅周末连续加班,身体疲惫不已;心理的压力更大。”

然而,除了迎难而上,别无它途。鲁直和小伙伴们一起不断对协议进行深入的分析,不断地定制针对性的修复方案,终于让业务顺利升级中间件,平稳地支持了双11。

“当时真的是身心俱疲,可以说是非常痛苦了。但最终,我们还是完成了任务。”鲁直说着,镜片后闪过一丝坚定的眼神。在鲁直看来,在越困难的时期,越需要逼自己一把,所谓破釜沉舟,大概如此吧。

“SOFA这个名字的来历还挺有意思的,是我们的CTO鲁肃取的名字,里面包含两层意思,一是按照当时的技术趋势,要做面向服务的架构,即Service Oriented Architecture,但加入了金融业务,所以是ServiceOriented Fabric Architecture;二是希望能够像‘沙发’一样,让工程师可以非常爽地工作。”

2018年4月,可以让工程师们非常爽的SOFA正式开源了!“现在,SOFA在蚂蚁金服有将近2000个应用,是在蚂蚁业务场景下被不断验证和锤炼的一套框架。”鲁直表示,“把SOFA开源出去,让更多的人使用,对于SOFA未来的发展极具意义。”

鲁直告诉笔者,开源的意义就是给技术的发展装上轮子。

9年阿里轨迹,一个普通又特别的“码农”

越自律越自由

程序员的头发,一直是一个不太好玩的老梗。尽管鲁直的头发仍然浓密,但还是能看到在危险边缘疯狂试探的发际线。

尽管团队的小伙伴称其为“鲁大师”,但鲁直一直强调自己不过是个平凡的“码农”。“如果哪天,我在阿里的成长完全停滞了,那也就是我离开的时候了。”鲁直悠悠地说到。从大学毕业就在这家公司,9年,是一份执着的坚持。

他认为,自己之所以能在阿里巴巴有所成,是因为自己很幸运,在工作中找到了自己的热爱,于是,所有的辛苦都不再是前行的负重,而是助推力。对于中间件的喜欢,以及阿里巴巴和蚂蚁金服提供的阔大舞台,让自己不断面对挑战,不断去学习,不断地成长。

鲁直喜欢跑步,即便是天气再冷也会跑个5公里;而且他也喜欢马拉松,陆续坚持了8年之久。在作息时间方面,鲁直也有着“严格”的标准,他要求自己尽量在12点之前睡觉。“熬夜对身体真的不好,而且我跑步也是为了锻炼身体,但这些都其实是我对自己的一些要求。”鲁直说。

不管作息规律也好,跑步也好,都可以视作是鲁直对自己的严格自律。鲁直在用自己的行动诠释“越自律越自由”。

那些对开源有兴趣的小伙伴们,鲁直给出了自己的建议。“参与开源,一个错别字也是开始。根据对项目了解的深入程度,可以从找错别字、命名规范等找错开始,由浅入深,再去提出Issue、提交Bug。相信所有的开源项目维护者都会非常地欢迎大家一起参与、多提一些意见。”

最后,鲁直引用他最喜欢的程序员Jamie Zanwinski的一句话与大家共勉:痛苦造就性格。在舒适的状态下,很多的人表现是差不多的,但是在逆境中,一些人内心非常深处的想法和力量才能被充分发挥出来。

SOFA是什么?

SOFA(Scalable OpenFinancial Architecture),蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,分布式链路追踪,分布式高可用消息队列,分布式事务框架等组件。

简单来说,SOFA就是包含一整套组件的金融级分布式中间件。诞生于支付宝第2代技术系统的服务化,最开始只有一套框架,后来逐渐形成了一整套完整组件。

SOFA和传统金融架构的区别

1、传统的金融IT架构一般采取集中式,通过购入大型机小型机解决数据问题,拓展性弱且机器成本高昂。

2、SOFA则采取分布式的架构,在高并发交易处理能力、强一致性、秒级容灾和弹性伸缩上都有突出的表现。譬如面对双11流量洪峰时,完全可以准备PC级的服务器去支撑,弹性伸缩。

 

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java.sql.SQLException: ORA-01691: Lob 段 SONARQUBE2.SYS_LOB0000119128C00008$$ 无法通过 128 (在表空间 USERS 中

文章目录一、场景浮现1. 问题详情2. 问题描述3. 问题原因二、解决方案2.1. 查看表空间的名字及文件在哪2.2. 查询表空间使用情况2.3. 解决方法一、场景浮现 1. 问题详情 2. 问题描述 java.sql.SQLException: ORA-01691: Lob 段 SONARQUBE2.SYS_LOB0000119128C00008$$ 无法通过…

终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码

阿里妹导读:如同我们去年12月在 Flink Forward China 峰会所约,阿里巴巴内部 Flink 版本 Blink 将于 2019 年 1 月底正式开源。今天,我们终于等到了这一刻。 阿里资深技术专家大沙,将为大家详细介绍本次开源的Blink主要功能和优化…

五省竞赛计算机作品,关于征集2017年华北五省(市、自治区)及港澳台大学生计算机应用大赛河北赛区竞赛作品的通知...

原标题:关于征集2017年华北五省(市、自治区)及港澳台大学生计算机应用大赛河北赛区竞赛作品的通知学校各单位、各位老师们:为深入贯彻落实《国家中长期教育改革和发展规划纲要》(2010-2020年)和教育部《关于全面提高高等教育质量的若干意见》(教高[2012]…

Auto-Keras与AutoML:入门指南

在本教程中,你将学习如何使用Auto-Keras(Google的AutoML的开源替代品)来实现自动化机器学习和深度学习。 目前来说,深度学习从业者在数据集上训练神经网络时,主要正在尝试优化和平衡两个目标: 1.定义适合…

TensorFlow 2.0深度强化学习指南

在本教程中,我将通过实施Advantage Actor-Critic(演员-评论家,A2C)代理来解决经典的CartPole-v0环境,通过深度强化学习(DRL)展示即将推出的TensorFlow2.0特性。虽然我们的目标是展示TensorFlow2.0,但我将尽…

互联网诞生记: 浪成于微澜之间

戳蓝字“CSDN云计算”关注我们哦!作者 | 老姜出品 | CSDN云计算(ID:CSDNcloud)“我早就预言了互联网。1975年,所有的技术都已经准备好了;1985年,所有的技术都应该很平常了;而直到199…

“有趣”的投影:当PCA失效时怎么办?

目前,大多数的数据科学家都比较熟悉主成分分析 (Principal Components Analysis,PCA),它是一个探索性的数据分析工具。可以这样简要的描述:研究人员经常使用PCA来降低维度,希望在他们的数据中找出有用的信息&#xff0…

线程最最基础的知识

戳蓝字“CSDN云计算”关注我们哦!什么是线程试想一下没有线程的程序是怎么样的?百度网盘在上传文件时就无法下载文件了,得等文件上传完成后才能下载文件。这个我们现在看起来很反人性,因为我们习惯了一个程序同时可以进行运行多个…

特征工程自动化如何为机器学习带来重大变化

随着技术的快速发展,在数据科学领域中,包括库、工具和算法等总会不断地变化的。然而,一直都有这么一个趋势,那就是自动化水平不断地提高。 近些年来,在模型的自动化选择和超参数调整方面取得了一些进展,但…

序列模型简介——RNN, Bidirectional RNN, LSTM, GRU

既然我们已经有了前馈网络和CNN,为什么我们还需要序列模型呢?这些模型的问题在于,当给定一系列的数据时,它们表现的性能很差。序列数据的一个例子是音频的剪辑,其中包含一系列的人说过的话。另一个例子是英文句子&…

行!人工智能玩大了!程序员:太牛!你怎么看?

人工智能真的玩大了吗?人工智能行业的人才真的“爆发了?”AI程序员究竟怎么样?中国AI前景分析 程序员与远方最新参考,是12月2日出炉的《人工智能技术专利深度分析报告》。中国AI专利,已经位于世界前列,且正…

可应用于实际的14个NLP突破性研究成果(一)

语言理解对计算机来说是一个巨大的挑战。幼儿可以理解的微妙的细微差别仍然会使最强大的机器混淆。尽管深度学习等技术可以检测和复制复杂的语言模式,但机器学习模型仍然缺乏对我们的语言真正含义的基本概念性理解。 但在2018年确实产生了许多具有里程碑意义的研究…

开发函数计算的正确姿势——网页截图服务

前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源&am…

如何关闭计算机的f12功能键,win10如何关闭快捷键?win10关闭F1~F12快捷键的方法

win10如何使用快捷键关闭?在win10系统中我们按下F1~F12原本可以正常使用系统中的功能。而然在笔记本中F1~F12竟然被笔记本中的功能所替代了,例如:打开/关闭 无线网卡,屏幕亮度加减、系统音量大小等,导致我们在使用F1~F12的时候只…

阿里巴巴宣布架构调整;英伟达放大招!重磅发布 ​TensorRT 7 ,支持超千种计算变换;苹果、谷歌和亚马逊罕见结盟……...

戳蓝字“CSDN云计算”关注我们哦! 嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

阿里开源分布式事务解决方案 Fescar 全解析

广为人知的阿里分布式事务解决方案:GTS(Global Transaction Service),已正式推出开源版本,取名为“Fescar”,希望帮助业界解决微服务架构下的分布式事务问题,今天我们一起来深入了解。 FESCAR o…

鲜为人知的混沌工程,到底哪里好?

混沌工程属于一门新兴的技术学科,行业认知和实践积累比较少,大多数IT团队对它的理解还没有上升到一个领域概念。阿里电商域在2010年左右开始尝试故障注入测试的工作,希望解决微服务架构带来的强弱依赖问题。通过本文,你将了解到&a…

将视觉深度学习模型应用于非视觉领域

介绍 近些年来,深度学习技术已经彻底改变了计算机视觉领域。由于迁移学习和各种各样的学习资源的出现,任何人都可以通过使用预训练的模型,将其应用到自己的工作当中,以此获得非常好的结果。随着深度学习越来越商业化,…

如何在Flutter上优雅地序列化一个对象

序列化一个对象才是正经事 对象的序列化和反序列化是我们日常编码中一个非常基础的需求,尤其是对一个对象的json encode/decode操作。每一个平台都会有相关的库来帮助开发者方便得进行这两个操作,比如Java平台上赫赫有名的GSON,阿里巴巴开源…

腾讯汤道生:2020年加大投入产业互联网生态建设

新一轮产业革命正在不断深化,为全球经济发展提供了历史性机遇。如何通过数字化、智能化等手段打通产业链不同环节,优化产业效率,实现产业协同,加速产业转型升级? “与合作伙伴‘共创’是产业互联网发展最重要的路径&am…