“程序员从幼稚到成熟的标志是什么”?

Posted 阿里巴巴淘系技术团队官网博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“程序员从幼稚到成熟的标志是什么”?相关的知识,希望对你有一定的参考价值。

任何人从幼稚到成熟的过程,都是从不负责到承担责任的过程。

人生如此,程序员也一样。

我们邀请了9位不同技术领域、不同层级的同学,从以下13个话题中筛选了各人适合的4个话题,针对性展开访谈,聊了聊他们的成长经历和故事,以及他们对职业发展、互联网焦虑、技术敏感度等各类的话题的思考。希望对正在成长的你有所启发。

话题表:

  • 你的花名 & 工龄

  • 你目前主要负责的技术/产品是什么?

  • 当时为什么选择了加入淘系?

  • 你在淘系工作的这段时间有哪些成长,是如何达成的?

  • 你认为青年工程师最应该培养的素质是什么?

  • 你觉得身边哪个人对你启发最大?为什么?

  • 你有互联网的年龄焦虑吗?如何看待?

  • 你觉得程序员从幼稚到成熟的标志是什么?

  • 你觉得淘系对年轻人的成长提供了哪些支持?

  • 你感觉自己工作中最困难的时候是什么?如何克服的?

  • 你是如何保持学习的?

  • 给想要在技术这条路走下去的年轻人一些建议?

  • 你觉得程序员如何保持自己的技术敏感度?

01

前端空堂

5年工龄

我实现了从「需求实现者」到「促使目标达成者」的观念转变。

   你目前主要负责的技术/产品是什么?

手淘弹窗搭投平台 Poplayer 内的弹窗编辑器(xEditor)与多端弹窗渲染引擎(xRender)。同时还负责淘系前端技术公众号的运营,欢迎关注:)。

   你在淘系工作的这段时间有哪些成长,是如何达成的?

最大的成长是刷新了对「完成工作」的认知。以往我比较满足于自己「工匠」的角色,认为只要能在规定的时间内,最大限度的保障架构设计和代码的质量,满足用户的需要,并提出一些专业可行的建议,就可以算作是出色的完成了阶段性的工作。

但去年双 12 和我的 TL 元泉一起经历的一个项目让我意识到,仅仅是「较为理想地完成了被分配的开发任务」还不足以为一段工作画上句点。一阶段工作的完成应该是以「项目下线为标志」。这意味着,作为开发者,工作并没有在项目成功上线后结束,在项目在线的整个生命周期里,都应该尽可能地关注,思考,实践通过哪些途径,手段可以帮助项目更好的达成,甚至超越既定的目标。

这种从「需求实现者」到「促使目标达成者」的观念转变,让我在每一次项目中能够拿到「更多的经验」,也有机会创造出更显著,更大的价值。令我受益匪浅。

   你认为青年工程师最应该培养的素质是什么?

「敬业心」和「方向感」。按时完成任务是敬业的一种表现,但除此之外,最大限度的保障代码质量,为代码负责,不断学习,不断探索更优的需求实现方式也是敬业心的一种表现。我建议青年工程师尽早做好「终生学习」的打算,时常将自己的技术打磨锋利,这样才能在工作和生活中找到一个稳固的立足点,始终保持心态的平和。

我发现一些工程师会逐渐迷失在源源不断的需求中,最终磨灭掉工作的激情。这对于雇主和自身来说都是十分可惜的,因此我建议这些工程师要尽早规划自己的职业发展方向,技术领域专家?行业领域专家?转行?无论思考的结果是什么,在工作中有一个清晰的发展目标总是比浑浑噩噩、固步自封好太多。如果目标与当下的工作内容脱节严重,建议和主管聊聊。如果实在想不出未来该如何发展,同样建议和自己的主管聊聊,和更多优秀的同事聊聊,聊这些问题没什么大不了的。

   你觉得身边哪个人对你启发最大?为什么?

TL 吧,和他一起经历了一个项目,转变了我对工作的一些认识,前面有提到,就不赘述了。

02

客户端来一

5年工龄

所有来自「事」的困难都可以用态度解决,所有来自「人」的困难都可以用换位思考解决。

   你目前主要负责的技术/产品是什么?

目前主要负责 Weex2.0 的技术开发,致力于打造高性能、优秀的开发体验的跨端技术产品

   你在淘系工作的这段时间有哪些成长,是如何达成的?

①学习到了在阿里的一些做事方法,目标感,推进项目落地,拿结果。

②要沉下心来做事,不浮躁,但行好事,莫问前程,最终的结果也是水到渠成。

③要善于树立自己的个人品牌,以及不要给自己设限。

主要就是通过不断的参与项目进行历练,以及学习身边的老板/师兄的做事方式,多观察周围比自己优秀的同学

   你觉得程序员从幼稚到成熟的标志是什么?

①技术能力——遇到技术问题不慌乱,有自己标准的排查思路,解决后要能想清楚:为什么会有这个问题、怎么解决的、以后怎么避免。

②技术预判——能在特定的场景下有技术选型的能力,涉及到包含但不限于业务的需求、各技术方案之间的利弊等的综合判断。

③持续学习——长期来看,专业技能任然是立身之本,要清楚意识到这一定是未来投资回报率最高的事情之一。

④终极 —— 程序员等到了所谓的年龄大限之期时,不焦虑,自信自己的技术能力、技术视野等,那一定是到了高阶,自勉。

   你觉得身边哪个人对你启发最大?为什么?

是我刚进公司时的老板 — 舒文

①做事态度与换位思考 —— 印象最深说过的话是,所有来自“事”的困难都可以用态度解决,所有来自“人”的困难都可以用换位思考解决。仔细想想,这句话是真精辟,工作/生活中都适用。

②阿里做事方式 —— 要有持续的目标感,推进事情落地,快速拿结果的能力

03

前端永霸

7年工龄

保持好奇心,如果想要做,就立马去做。

   你目前主要负责的技术/产品是什么?

负责淘系基础产品(首页/详情/店铺/交易)前端开发

   你觉得淘系对年轻人的成长提供了哪些支持?

第一、淘系复杂的业务场景与用户体验的极致追求,为技术人提供非常好的场景与机会去锻炼自己的能力。古语有云,无根之木,无源之水。业务就是我们的根,我们的源。当市面上常规的技术方面已经无法满足业务的需要的时候,就要求技术去探索与设计的更好的方案。

第二、淘系有一堆业务与技术领域的顶尖人才,为年轻人的成长做了非常好的榜样力量。在我们遇到技术难题、成长困境的时候,可以很容易找到比我们有经验的前辈请教。正所谓站在巨人的肩膀上,站的高看的远。以我所在的淘系前端团队为例,在跨端、搭建、工程化、ServerLess、前端智能化等各个领域内都是国内最顶尖的存在。

   你是如何保持学习的?

保持学习我认为主要是学习意愿与学习条件问题,前者回答为什么要学习,包括工作需要、生活需要、兴趣等。我认为最重要的是保持好奇心;后者回答要学习但条件是否允许,个人建议是如果想要做,那就立马去做好了。

不同的学习目的,我的学习方式不太一样。如果是工作需要,我个人偏向追求最佳的解决方案;如果是生活需要,我个人可能比较佛系,能 work 就行;如果是兴趣使然,那么自己开心就好。

在学习形式上,主要有两种:第一、从书本上学习,主要是为了体系化的补充自己知识短板;第二、跟身边优秀的同事学习,时刻保持好奇与谦卑。

   你有互联网的年龄焦虑吗?如何看待?

暂时我没有太多焦虑。这个行业大家可能普遍比较关注的是 35 岁危机。

我是这么理解这个问题的,在半导体行业有个非常有名的摩尔定律:【集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍。换言之,处理器的性能每隔两年翻一倍】。摩尔定律反映了互联网领域技术迭代更新比较快,特定技术的经验积累,随着时间发展可能会逐步失效。这就要求行业从业者需要不断的学习以跟上摩尔定律的发展,否则就要落后。但随着年龄的增长、家庭的责任以及自身身体素质的变化,在学习意愿与学习条件上的平衡可能会被打破。当出现这个情况的时候,会导致缺乏安全感,出现焦虑。如何应对呢?我想可能是需要在工作过程中,逐步积累对应的工作能力,包括定义问题与解决问题能力。同时问题的范畴也可以逐步变大,例如,具体问题->领域问题->行业问题。

04

算法伯研

10年工龄

成功在于持之以恒的坚持和努力,时间的积累才会带来量变到质变。

   你目前主要负责的技术/产品是什么?

淘宝人工智能推荐

   你在淘系工作的这段时间有哪些成长,是如何达成的?

首先是对团队的工作职责有了深入的了解。其次对团队的同学进行了全面的了解和熟悉,和团队同学构建相互的信任,这点是最重要和宝贵的事情。最后在业务技能方面熟练掌握了目前业务线上使用的技术框架、算法模型和业务流程,在和相关同学的交流和帮助下,深入参与了一些几个推荐业务的研发,并且融入了自己以往的技术积累和经验,带来一些创新性的技术方案,给业务带来更好的用户体验。

   你有互联网的年龄焦虑吗?如何看待?

有的时候会有一点点的年龄焦虑。因为过几年自己也会很接近35岁,目前的层级距离自我预期还是有一定的差距。每每有这种焦虑的时候需要自我好好的调节,努力做好工作,创造更多的业务价值,提升自己的综合水平,等待晋升的机会,心态也是还好的。

   你觉得身边哪个人对你启发最大?为什么?

三桐老师对我启发很大。坚守在一个技术方向,多年持之以恒,不断提升团队技术架构和产品用户体验,给我的启发是“成功在于持之以恒的坚持和努力,时间的积累才会带来量变到质变。”

05

算法陆轺

3年工龄

保持技术敏感度,需要持续学习和多与同行交流。

   你目前主要负责的技术/产品是什么?

手淘首页商品信息流推荐,排序大模型方向。

   当时为什么选择了加入淘系?

我是硕士毕业就加入淘系至今,一直从事推荐算法工作。当时觉得淘宝作为国内最大的电商平台,坐拥海量数据,非常适合从事推荐算法工作,我们的工作在服务数亿消费者,优化算法模型可以创造巨大的商业价值,非常有成就感。

   你感觉自己工作中最困难的时候是什么?如何克服的?

最困难的时候应该是我的师兄离开阿里的时候。以前在学校的时候有导师、刚进入工作时有一个很好的师兄指导规划方向,师兄离开后自己突然转变需要去规划技术方向,完成了一个大的角色转变。后来在主管的帮助下,不断学习去思考技术方向,判断技术是否能给业务带来价值,在这个过程也获得很大的成长。

   你觉得程序员如何保持自己的技术敏感度?

我觉得最关键的是两点,持续学习和多与同行交流。

技术发展日新月异,会不断涌现出新的技术、新的算法模型等,要保持持续学习,主动吸收学习新的信息和技术成果,持续进行自己知识体系的迭代。多与同行交流,保持一定的求知欲,从同行的角度多方面了解最近的技术方向,结合自己的知识体系进行判断。

06

开发十段

1年工龄

技术不应该只做业务支撑,而是要以技术的视角去思考如何帮助业务成长。

   你目前主要负责的技术/产品是什么?

淘宝直播直播机构&商业化后链路承接相关业务

   当时为什么选择了加入淘系?

淘宝是阿里的核心产品,想在一个大平台上服务更多的用户,让更多的用户用到我做的产品功能。

   你觉得程序员从幼稚到成熟的标志是什么?

可以在适宜的场景和时间,选择当前最合适的技术方案。大炮打蚊子是不可取的,螳臂挡车也是不可取的,选择当前时间最合适、成本最低的技术方案才是架构师该做的事情。

年轻的时候,总是想要把技术方案设计到极致,但是过于在乎技术方案本身的做法,也会导致花费了很高的成本做的事情却达不到回报。互联网时代下,各厂的产品日新月异,每时每刻都有新秀在崛起。合理选择技术方案也会让产品迭代的更快,可能在快速变化的环境下,也会让产品更有竞争力。这是我觉得这是一个程序员从幼稚走向成熟的标志。

   你觉得身边哪个人对你启发最大?

龙甲,让我很好地理解了技术与业务之间的关系,明白了技术人员在业务成长过程中应该怎么做。技术不仅仅只能做对业务的支撑与建设,同时对业务也可以以不同的视角带来多维度的提升。技术和运营以及产品看问题的视角是差别很大的,技术在业务迭代、增长的过程中,可能以独特的视角发现其中的问题和优化点。

举个例子,我现在在做的商业化后链路承接,产品可能主要侧重于以产品化的形式去发现更多的商业模式以及提效点。但是技术的视角则不同,比如我们可以提供更多的用户、直播、商家、商品特征,帮助广告推荐引擎让流量变得更加精准。技术不应该只做业务支撑,而是要以技术的视角去思考如何帮助业务成长,这是对我比较大的一个启发点。

07

开发赤杨

11年工龄

青年工程师面临的问题,本质上是成长和走出舒适区的问题。

   你目前主要负责的技术/产品是什么?

网关与基础网络

   你在淘系工作的这段时间有哪些成长,是如何达成的?

以前从事音视频工作,来淘系后切入到QUIC协议领域,掌握了QUIC协议相关的知识、上手了基础网关相关的工作,突破了自己的知识边界。

   你认为青年工程师最应该培养的素质是什么?

乐观积极,勇于突破。

青年工程师面临的问题,本质上是成长和走出舒适区的问题,需要在技术、业务、管理等层面上实现突破,建立认知的立体框架。虽然工程师的本职是为公司提供技术支撑,但这个过程中会存在诸多超出本职工作的事务。比如有时候研发工程师遇到问题,需要跳出自己模块,联系上下游的其他模块进行解决;有时候研发还要承担项目经理、产品经理的工作。

这些过程,是一个局部层面的工作在水平和垂直方向的衍生,包括了对系统局部到整体的认知突破、对团队技术到管理的认知突破。因此面对这些问题,青年工程师首先要能够积极面对,敢于跳出舒适区,从而实现自我的提升。

   你觉得身边哪个人对你启发最大?为什么?

在同喵吉、哲良的工作过程中,发现他们经常做一些超出本职的事情,比如某项目申请商标时,发现商标被注册,同时法务告知商标持有方不愿转让,喵吉主动打电话与商标持有方沟通,并最终达成了商标购买。

这个事情对我感触很深,很多时候我们都会碰到障碍,从而导致方案、进度受阻,这种突破自我界限的精神,恰好是破壁所需的基本精神。

还有一个就是,哲良是怎么保持这么瘦的,我感觉研究哲良保持瘦的秘诀,说不定淘系每年的绩效都暴增几十亿

08

算法琦舞

5年工龄

技术终归是为业务服务的,业务起飞了,才能证明技术的真正价值。

   你目前主要负责的技术/产品是什么?

主要负责首页猜你喜欢短视频全屏页推荐业务

   你在淘系工作的这段时间有哪些成长,是如何达成的?

我是社招过来的,在淘系工作的时间不长。虽然只有几个月的时间,但最大的成长并不是技术方面的,而是业务owner意识和责任感,你在做出某些决策时,若想到这个决策有可能会影响到几十万几百万甚至几千万用户,你就会更加谨慎和用心。每次实验,若是效率提升的实验,可能伴随着用户短期乃至长期留存的提升,但若是效率下降的实验,可能伴随的是用户的流失,这是我们不得不小心对待的。

   你感觉自己工作中最困难的时候是什么?如何克服的?

最困难的时候是算法策略在上线初期没有效果,有点焦虑,但经过认真分析实验数据,复盘反思,不断尝试新实验新思路,最终拿到了理想的线上结果。

   给想要在技术这条路走下去的年轻人一些建议?

如果真的热爱技术,就请热爱下去,紧跟技术潮流,做好活到老,学到老的准备,因为IT行业的更新速度之快超乎想象,我们必须让自己的知识储备不断更新不断升级,才能紧跟时代步伐,不被社会淘汰。除此之外,大家可以与业务再近一些,技术终归是为业务服务的,只有业务起飞了,才能证明技术的真正价值。

09

测试荣木

7年工龄

多项工作并行的情况下,要合理高效的分配时间。

   你目前主要负责的技术/产品是什么?

测试开发工作 / 手机淘宝(连接消费者与商家的消息业务)

   你感觉自己工作中最困难的时候是什么?如何克服的?

多项工作并行的情况下合理高效的分配时间,并能积极拥抱变化,保障最高效的输出,例如你在测着需求、思考着用例设计、敲着代码,突然爆发了个线上问题;又或者你需要同时参与A/B/C项目,A、B、C项目里面原本定的计划发生了改变、某个高优先级项目临时被阻塞了、某个项目线上出故障了需要紧急响应。

1)及时调整优先级 & 合理评估时间:可以建一个list,并根据各个项目情况与风险甚至线上故障问题积极应对,值得注意的是:根据“墨菲定律”,事情所费时间大部分情况比你预期的多,任何事情都会出差错,而且是在最坏的时刻出差错,因此需要考虑backup time。

2)及时上报风险:受限于经验或领域知识的影响,可能我们并不能做出最好的决定或选择,出现风险较大的问题或者可能存在风险时需要及时向上级或团队反馈,依靠团队的力量做最正确的决定。

3)思考提效策略:拿出一部分时间做复盘总结并投入精力思考过程中的处理措施是否合理,哪些环节可以提效,哪些环节可以更合理的使用时间和精力。例如,从质量角度来看,自动化测试、问题监控与定位是一个非常好的思考主题,由于不同的业务形态差异,当前并没有一个绝对通用的方案,需要根据不同的项目、不同的业务场景分析,选择最优、最合理的策略。从PM或管理者的角度来说,策略安排显得尤为重要,例如:推进阻塞问题的解决、多方协同作战等等。

4)申请资源:当前策略安排下没有足够人力投入时,应该及时反馈,申请资源援助,使用团队的力量解决问题。

5)保持良好积极、乐观的情绪:紧急项目连续作战、面临各方面的压力同时可能会存在一些负面消极情绪,应当及时调整,可以约好朋友吃个饭、聊个天、打个台球、玩个游戏分散下负面情绪的注意力。

   你是如何保持学习的?

1)保持入行时的好奇心:当前互联网新技术日新月异、百花齐放,以一个初学者的心态对技术保持好奇。例如:PC自动化测试框架 -> 移动自动化框架 -> 智能化自动化 -> ... ,这中间需要我们与时俱进,为学习时刻准备着。

2)了解行业动向:参加行业大会、技术沙龙、阅读知名博客、国内外高质量论文资料,帮助我们更好地思考、找到正确的方向

3)拥有技术信仰:相信技术会让生活变得更好,相信技术能够创造更大的价值以及自我价值的实现。

   给想要在技术这条路走下去的年轻人一些建议?

1)锻炼更好、更强的团队合作精神:能够和团队成员打成一片,和谐的团队氛围能够聚集漫天星星,发挥最大力量;

2)拥有对技术的渴望:尝试新技术、新事物,通过不同的渠道(论文、大会、博客、技术沙龙等等)了解技术动向、行业关注的热点问题,沉淀技术、升华自己

3)有时间可以了解/做一些工作相关性不大或者一些艺术修养方面的知识/事情,一方面可以使自己生活多一些色彩,另一方面可能会发现一些新的观点、视角来看待技术问题

4)快乐工作、认真生活,拥有积极乐观的情绪

   结语

  成长意味着改变,成熟是一种选择。

正如来一同学说,“所有来自「事」的困难都可以用态度解决,所有来自「人」的困难都可以用换位思考解决。”

淘系同学在面对技术和业务的难题和困境时,展现出了乐观的个性和开阔的格局,他们不拘陈规,勇于创新;他们积极交流,保持谦逊。

一直在成长的人,不会畏惧年龄危机。

共勉。

????橙子说

明天是六一了,

祝福所有的技术人,

心态永远是上进的少年。

so,

程序员从幼稚到成熟的标志是什么?

评论区说说你的看法,

点赞前5送「诸邪退散 百毒不侵」扇子一把

(活动截止至6月7日17:00)

✿  拓展阅读

作者|淘系技术

编辑|橙子君

出品|阿里巴巴新零售淘系技术

以上是关于“程序员从幼稚到成熟的标志是什么”?的主要内容,如果未能解决你的问题,请参考以下文章

程序员的日常生活

如何自学成为程序员?

什么是程序员?

程序员职业鉴赏

程序员需要学些啥?

高级程序员和低级程序员的区别