阿里云专家穆轩的《杭州九年程序员之“修炼”手册》

对于一个从未到过南方的内蒙汉子来说,北京的大学一直是中学时憧憬的殿堂,而离家上千公里浙江大学,则是从来没有考虑过的地方。机缘巧合之下,被一位年近七旬的浙大老师说服,我自此开始了南下“修炼”之旅。没想到转眼间竟已九年,杭州也成为我的第二家乡。

值此1024程序员节来临之际,抚今追昔,回顾一下自己的“修炼”历程。

 

大学时光,尝试不同的计算

和计算机的缘分也是从大学开始,初入新手村的我拥有了自己的电脑。

升入本科的第一年我们没有细分专业,只有学科大类。大二选专业的活动,就像是第二次高考志愿填报。09年的信电系异常火爆,但比起硬件底层,我对操作系统、软件、app更感兴趣,最后选择了计算机。

然而,计算机系挑战更大,很多进来的同学都早已打下基础,相比之下,从头开始学习如何编写代码的我是彻头彻尾的“萌新”。因此在完成课业之余,我整天泡在图书馆:一个一个实现《算法导论》中的算法,研究解决同样问题;使用不同算法把复杂度从N(n^2)下降到N(nlogn);和同学在ZOJ(Zhejiang University Online Judge)比拼刷题…

逐渐熟悉掌握前人的知识的我,就像获得了打怪的武器。大二开始在不同的领域,逐步尝试用算法和计算来实现自己的想法:

• 作为国内第一批使用Kinect的玩家,基于Kinect的SDK,做了一套手势+肢体动作操作PC的键鼠的小工具,并完成了一局全身充分运动的扫雷。

• 尝试Obj-c, 开发了射击类的iPhone小游戏。依靠这份经验,和小伙伴开发了一套课堂交互系统(支持教室通过app布置作业和回答问题),拿到了网易的app创新比赛奖项。

• 自学《集体智慧编程》和Andrew NG 《机器学习》公开课,逐渐点开了“推荐算法”和“机器学习”的技能树。

正是通过这些积累的经验和知识,大四拿到了阿里巴巴集团的实习offer,正式从新手村毕业进阶。

 

初到阿里,成为算法达人

从实习到最初两年在阿里集团的工作,我都在和各种算法打交道。而2013年的阿里,“算法工程师”还算是很新的一个岗位,我们要在海量的信息上,通过机器学习和挖掘算法让其可读、可用、有价值。

我最初就职于淘宝,怎样帮助买家在淘宝成百上千品类和数以亿计的商品中,挑选出自己想要购买的商品,或者母婴产品分类该怎么做?我用了一整个月时间,研究了淘宝的母婴类目,从关键词到宝贝类型、细节描述、品牌归属、品牌定位……原本的单身宅男几乎变成了一个母婴专家,甚至在之后半年里,我的女同事们都会找我咨询如何购买母婴产品……

在淘宝的这段时间,也是我成长和学习最快的时候。数据库、机器学习算法、JAVA项目构建、GIT版本管理,每一个技能点都得到了很大的提升。由学生时代的几M数据的算法Demo进阶到TB级的数据处理,传统的单机算法已经远远不能满足需求。

经常优化算法到深夜的我,深刻体会到了算法从N(n^2)下降到N(nlogn)的意义:也许对于算法Demo只是跑的慢一点,但对于业务,可能就决定了这个业务能不能做,能不能控制住成本,能不能真正落地应用,我也觉得身上的责任更重了。

工作不仅仅是完成任务,更是不断地去研究和解决问题。这些披荆斩棘攻坚克难的经历,也让我练就了强大的内功。

 

拥抱变化,让城市更加智慧

青年们,到祖国最需要的地方去!后来在阿里云的日子,颇有些这样的滋味。

三年前因为团队调整,我们来到了阿里云,也促使我完成了从把自己的算法做好,到帮助用户去实现用户数字化转型的变化。看待问题的视角也从由局部到整体,乃至整个行业。

可以做的事情更多了,挑战也更大了。来阿里云做的第一个产品是针对新媒体行业的推荐引擎,在这个项目中,我第一次完整的参与了一个商业化产品诞生的全过程:立项、研发、测试、发布。个人能力的边界进一步扩展到了项目管理,产品运维,算法来说也有了更加全面的扩展。

2017年,又一次的拥抱变化,是转投向交通行业。在追赶城市大脑的浪潮中,接触到杭州的交通行业,才发现自己对已经待了8年的这座城市,了解还远远不够。杭州“首堵”的称号扬名在外,而每天需要开车一小时通勤上下班的我,逐渐更关心这个城市的每一个交通的脉络,每一个新的规划和改变。道路就像是杭州的“血管”,我们通过算法的应用,为这座城市疏通它的每一寸“经络和血管”,注入能量。

这样的工作实际解决的每一个环节都与我们的生活息息相关。每每想到自己的每一分努力都能够帮助整个城市,都会获得满足感。如果优化算法,能使信号灯的通行效率提升一个点,就可以节约所有人加起来上百个小时的时间。如果切实的减少拥堵和提出建议,更能减少人力资源的浪费。

未来怎么样让这个城市变得更加智慧?也成为了我新的目标。

在淘宝的两年,我关注如何用算法做好一件需求。而在阿里云,我更关心怎样的产品和云平台,能帮用户更好地实现算法的联动,实现无法计算的价值。

 

寄语

掐指一算,今年正好是来到阿里的第5年,在杭州的第9年。

而这份“修炼”,仍在进行中……

对于有志于做算法工程师的同学,也有一些“修炼”的建议:一是持续学习,多去尝试不同的细分领域,找到自己最喜欢也擅长的方向,当然个人认为喜欢相对来说重要一些。 二是希望大家把关注点放在解决问题上面,无论是用什么框架,什么算法,高效的解决问题才是王道。 三是一定要了解计算逻辑,同时算法开发的能力也很重要,开发的过程中可以帮助梳理思路,评估算法成本。


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

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

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

相关文章

主流开源开发者工具落地阿里云,进一步提升开发者体验

在云计算大数据时代,企业的不断上云,业务的不断发展,技术架构的不断演进,导致资源、应用和数据的管理成本不断增加,运维难度不断加大。业务场景的不断和复杂和变化,不得不引起我们更多的思考: …

SpringBoot 集成 mybatisPlus

文章目录一、1. pom2. application.yml3. dao层接口集成baseMapper4. 启动类上扫描5. 创建数据库6. 初始化表结构7. 浏览器验证8. 源码地址一、 1. pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/P…

让开发变得更简单 | 阿里云中间件推出全新开发者服务

要码出未来&#xff0c;除了程序员专属的节日福利&#xff0c;还需要实打实的为程序员解决手头的难题。 10月24日&#xff0c;阿里云中间件推出全新开发者服务&#xff0c;发布3款开发工具&#xff0c;包括Alibaba Cloud Toolkit 、链路追踪Tracing Analysis和应用高可用服务AH…

免费!这里有一份开发者进阶“宝典”求带走

戳蓝字“CSDN云计算”关注我们哦&#xff01;作为开发者&#xff0c;无论是前端还是后端&#xff0c;做机器学习还是云计算、架构&#xff0c;保持对技术的敏感性都是非常重要的事。新技术一般发源于人力、财力等各方面资源都很雄厚的大厂&#xff0c;经过时间的沉淀逐渐成为技…

阿里云发布多款云管工具,任何角色都可以轻松完成云上运维

无论是在传统的开发过程&#xff0c;还是在云上&#xff0c;运维都是一个十分重要而又繁重的工作。随着企业规模的扩大&#xff0c;系统架构的复杂度在增加&#xff0c;部署规模也在不断扩大&#xff0c;控制台不再能满足其需求&#xff0c;需要一个便捷、实用的运维系统或者运…

阿里云容器技术专家莫源:乘风踏雪归来,仍是此间少年

我叫刘中巍&#xff0c;花名莫源&#xff0c;是阿里云容器服务团队的技术专家&#xff0c;13年加入阿里云&#xff0c;从零开始参与多款云产品的研发。在1024开发者节之际&#xff0c;来分享下自己的成长故事。 “平凡但不安分”的男孩 我是一个来自北方的孩子&#xff0c;从小…

12306 的技术扒光在你面前,100 万人如何抢 1 万张票

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | IT牧场责编 | 阿秃12306 抢票&#xff0c;极限并发带来的思考每到节假日期间&#xff0c;一二线城市返乡、外出游玩的人们几乎都面临着一个问题&#xff1a;抢火车票&#xff01;虽然现在大多数情况下都能订到票&#xff0…

android monkey优化,GitHub - baozhida/AndroidMonkey: 这个项目是CrashMonkey4Android可执行文件,修复了一些bug,做了一些优化...

简介这个项目是CrashMonkey4Android可执行文件原版不支持64位java&#xff0c;只支持32位的此版本支持java 64位&#xff0c;并且修改了一些内部逻辑&#xff0c;把CrashMonkey4Android 和CrashMonkey4Android_tradefederation 重新打包2017-3-13更新1.去掉了每个monkey操作时候…

常见Serialize技术探秘(ObjectXXStream、XML、JSON、JDBC byte编码、Protobuf)

目前业界有各种各样的网络输出传输时的序列化和反序列化方案&#xff0c;它们在技术上的实现的初衷和背景有较大的区别&#xff0c;因此在设计的架构也会有很大的区别&#xff0c;最终在落地后的&#xff1a;解析速度、对系统的影响、传输数据的大小、可维护性及可阅读性等方面…

MariaDB强势席卷DB-Engines榜单后续,与阿里云达成全球独家战略合作

2018年10月份&#xff0c;DB-Engines 发布了月全球数据库排名&#xff0c;排名前三的一如既往还是Oracle、MySQL、Microsoft SQL Server。排名是重要指标&#xff0c;同时增长率的重要性也同样备受重视。 MariaDB以黑马之势&#xff0c;强势席卷DB-Engines榜单 在DB-Engines跟…

2025年将达6.4万亿美元!AI这下玩大了……

最近&#xff0c;在看大厂新季度财报时&#xff0c;发现了“搜狗”亮眼的成绩。就在前天&#xff0c;搜狗发布了2019年第三季度财报&#xff1a;营收3.149亿美元&#xff0c;实现14%的同比增长&#xff0c;高于行业增长速度。搜狗的净利润达3660万美元&#xff0c;比去年同期增…

存储系统设计——NVMe SSD性能影响因素一探究竟

目录 1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3.1 GC对性能的影响 3.2 IO PATTERN对性能的影响 3.2.1 顺序写入Pattern对SSD性能优化的奥秘 3.2.2 读写冲突Patte…

使用IntelliJ IDEA 2020 高效开发 springboot项目

文章目录一、快速开发基础配置1. 全局配置2. maven3. 自动导入包4. 取消大小写敏感一、快速开发基础配置 前置知识&#xff1a; 有些时候明明都设置好了一些配置&#xff0c;但是新建项目之后&#xff0c;就恢复默认设置了&#xff0c;原因是你设置的配置支队你刚打开的这一个…

首次落地中国大陆的OpenInfra:中国对于开源做出的贡献力量已不可忽视

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 刘丹责编 | 阿秃一张标志着上海现代建筑地标的东方明珠海报&#xff0c;另一张展示着上海悠久历史的豫园景区海报&#xff0c;不仅向我们展示了这座城市浓厚的历史气息与现代化的繁荣&#xff0c;也让我们看到了OpenStack历经…

任正非:华为 5G 是瞎猫碰死老鼠

喜欢话糙理不糙的任正非&#xff0c;又飙金句。11月6日&#xff0c;在和彭博社记者对话时&#xff0c;谈到华为5G&#xff0c;他说&#xff1a;“回顾这个过程&#xff0c;我们也没有什么必胜的信心&#xff0c;有时候也是瞎猫碰上了死老鼠&#xff0c;刚好碰上世界是这个需求。…

html5游戏开发box2djs,Box2D.js简易示例

Box2dWeb example//在页面加载完毕后启动整个Box2D程序function init() {//简化缩写各个对象名称var b2Vec2 Box2D.Common.Math.b2Vec2;var b2AABB Box2D.Collision.b2AABB;var b2BodyDef Box2D.Dynamics.b2BodyDef;var b2Body Box2D.Dynamics.b2Body;var b2FixtureDef Bo…

七个不容易被发现的生成对抗网络(GAN)用例

像许多追随AI发展的人一样&#xff0c;我无法忽略生成建模的最新进展&#xff0c;尤其是图像生成中生成对抗网络&#xff08;GAN&#xff09;的巨大成功。看看下面这些样本&#xff1a;它们与真实照片几乎没有区别&#xff01; 从2014年到2018年&#xff0c;面部生成的进展也非…

端口占用8080

1. winr键输入cmd进入命令行&#xff1a;执行以下命令&#xff1a; netstat -ano 2. 找到8080端口对应的pid 3. 打开任务管理器&#xff1a;找到对应的pid&#xff0c;右击结束任务即可

华为人到底几点钟下班?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 程序猿责编 | 阿秃转自 &#xff5c; 鲜枣课堂近日&#xff0c;在职场论坛上有这样一个帖子&#xff1a;华为员工晒出7天的上班打卡记录。该员工晒出自己在 9 月份 23 号到 29 号的打卡记录。其中每天 9 点 30 之前打卡&am…