关注▲▲,每天一篇,陪你成长
作者丨沉立杰(盘冲)
阿里巴巴新零售淘宝科技出品
来源丨.im/post/
有人有这样的困惑吗?我跟踪了公司的几个项目。也许团队领导告诉我们需求,然后开始写页面。无需自己选择型号。脚手架也已经做好了。除了Vue,即使写图表也没什么技术含量。我只是按照文档进行操作。写下来,遇到问题就查一下,解决一下。但写简历的时候也要体现出自己在项目中的角色。如何找到那些只属于自己的亮点呢?
您负责什么业务?
我接触过很多同学,有的说在小公司,被业务需求压得喘不过气来。既然大家都说自己是做生意的,那你看这个,你能用5分钟解释清楚你是负责什么业务吗?
我经常在活动小组的活动中,在带有业务理解标签的问题中提出这个问题,但大多数学生都没有正确回答问题,甚至回答错误。
这里我谈谈我个人对业务的理解。可能不具有普遍意义,仅供参考。
企业的核心要素是企业本身的价值
一个公司,或者一个部门,做的事情很多,分散。有时,许多事情聚集在一起促成了一场大事件。那么,我们把这些零散的东西都当做生意吗?还是只把那一件大事当做一桩生意?我认为两者都很好。决定的关键在于事情逻辑上是否一致、是否具有独特的价值。
接下来我们举个例子。假设您正在开发一个营销活动页面。这个页面可以为公司带来3000个新用户。这些人可能会购买公司的产品,从而带来收入。
这里很明显,营销是一条业务线,其业务逻辑是推出页面->吸引新客户->销售产品。价值在于接触新用户和产品销售的收益。基于这两点,我们投入的精力是值得的,因为我们做得越好,公司的业绩就会越好。
那么,制作页面就是重头戏?
当然不是,但是亮点离我们很近。如果你想发光,你需要不断思考。在上面的例子中,我们有很多东西可以优化和验证。
右边这个按钮写错了,居然还有这么多人点击?下次我应该把它放在右边吗?
对于上面列出的问题,估计很多同学每天都会做类似的事情。但问题是,这些事情是你想做的,还是产品要求你做的?这些东西能生出什么呢?
至少在我看来,如果面试的同学在自我介绍的时候能够先讲一下上面例子中遇到的问题,然后再讲一下下面对应的系统,那么这绝对是一个显着的亮点。可惜这样的学生很少。大多数学生只是因为产品说他们会这样做而这样做。
那么,你有认真思考过什么是商业吗?您有没有为您的企业考虑过什么?你的生意有什么不同吗?
可以开始写代码了吗?
好吧,假设我们考虑了一下并想出了一些办法,我们可以开始编写代码了吗……?
卷起袖子不可能很快就能创造出出色的技术成果。当然,如果你是天才,那就请你自己做吧。如果你是像我一样的普通人,那么请先设计技术方案。设计的第一步就是做一个ppt工程师,画图。
图片是思想的结晶
在上述活动中,大多数学生的业务图或技术架构图首先无法清楚地解释其含义。
一些最典型的问题是:
如果你看到这个还不明白绘图的用途,你可以检查什么是架构图以及如何进行编程。这是常常被大家忽视的一点。虽然很多学生在大学读书时就学过相关课程,但估计大部分都已经回国了。
如何画好一幅画?
我这里就不详细说了。毕竟我不是绘画高手。每次画画的时候,我还是不知道怎么画。我只给出一些建议,供大家参考。
同时,用一个同学模拟面试的案例作为参考。
原图:
第一步要弄清楚这张图想表达什么?
这位同学说,他参加过很多技术会议,分享的ppt里的大图非常酷。他通常也会有总结(这很好),但他永远画不出那样的图画。采访中,我问这位同学用这张图想表达什么,得到的回答是他想了解消息通信业务的技术方案。然而,这张图并不能表达技术解决方案。
这张图的第一个问题是它不够完整。它只有一个主链接。对于IM等复杂的技术产品来说,主要环节只是冰山一角。如果真的只是主要环节,说明思考不够。迟早会发生线上故障。
第二个问题是含义不明确、层次混乱。底部UI层有一个箭头指向存储层。这是否意味着渲染进程会调用它?接下来的两层网关层又如何呢? UI层会调用网关层吗?这里的逻辑显然不顺畅。
第二步是图中的每个块必须属于同一领域或具有相似的概念,并且每个框都有含义。
在这个问题上,这位同学做得不错,但是还是存在一些小问题,比如UI层的两个进程。这两个框的含义不清楚。没有描述,至少我不明白他想表达什么。事实上,在沟通的过程中,他也觉得这件事颇为奇怪。
第三步画完后回顾一下,看自己是否把第一步的核心逻辑描述清楚了。
很多时候我们一口气画了一张大图,一不小心就变成了流程图,而如何写代码的思路也画在了图上。这样就会造成图的某些部分是分模块的,其他部分是细化流程的,整体情况会很不平衡。这只能通过反复的审视和反思才能做到。
最后我在模拟面试的时候对业务做了一个大概的了解:
知道原理有什么用呢?
有了大局,我们终于可以开始实施亮点了吗……?
现实是残酷的。即使我们拿出了馅饼,也不意味着我们可以吃它。从图到饼,我们需要太多的中间步骤。
摆在技术人员面前的问题是:如果有面粉,你会揉面团吗?你的揉面技术能保证烤出来的蛋糕好吃吗?
了解正在发生的事情,然后让它发生
我认为这就是为什么我们需要理解这些原则。有一次做模拟面试的同学在最后的问答环节问了我一个问题。您对在采访中制造火箭并通常拧紧螺丝有何看法?我觉得有点不公平,因为第一页的大部分问题都是关于如何拧紧螺丝以及螺丝的类型。在第二页上,他们只问了如何建造飞机。但是当我们真正投入工作的时候,在阿里的场景中,至少在我们团队的场景中,我们是在造火箭,但是在造火箭的时候,我们必须要拧紧螺丝。如果没有螺丝,你怎么敢做?
一些学生对此表示不满。我知道如何拧紧螺丝。这与我需要知道使用什么螺钉有什么关系?那么上面的烤饼,请问用白芝麻好还是黑芝麻好呢?相信厨师一定能解答。他甚至会告诉您小麦的起源。当涉及到同样需要匠心的编码领域时,我们为什么不关心该用什么螺丝呢?
当时我给这位同学举了一个实际的例子:简历里有提到上传。能当场告诉我服务器端HTTP接口是配合你们上传的吗,还是使用阿里云oss?使用oss时,是服务端每次都加签名,还是用sts,还是前端直接加签名?你用什么来进行http上传?使用form组件提交还是自己通过xhr发送?如果需要登录认证怎么办?如果出现跨域问题怎么办?有两种场景,都需要实现。如何封装组件?
什么?你说你要百度搜索?你要百度一天吗?那我为什么不雇用不使用百度的人呢?一天的工资加上5金的成本,月薪20k,估计不到2000,如果把这2000加到一个懂原理的高手手里,岂不是赢了——为我们赢得胜利?为什么要等你去寻找? ?只是一个简单的文件上传功能,在页面上只是一块豆腐而已。这么一颗小小的螺丝,里面却蕴含着很多学问。我们在日常工作中遇到很多类似的问题。具体可以参考我之前文章的解读,这里不再赘述。
任务分解
对于平时愿意学习的学生来说,此时可能会开始感到困惑。我以前也遇到过类似的困惑,那就是:我应该发明轮子吗?
我们常常发现一切似乎都有可能,例如:如果你有什么东西,我可以修改它来实现它;如果你有什么东西,我可以修改它来实现它;社区里有东西几乎可用,你为什么不直接使用它;从大局来看似乎有类似的东西,那么这只是拼凑的问题吗?补一下吧。难道这个计划没有什么太大的关系吗?
我个人每次画画都会陷入这样的想法,常常会陷入困境。为了有所作为,我特意改变了一些想法,以确保这个蛋糕是我的。但由于上面绘图的第三步,我最终总是绕过它。每次画完之后,我都会回顾一下自己真正想做的事情。我想这也是是否造轮子的一个标准:从业务价值出发,思考真正的核心目标,并为之努力。如果有现成的轮子能够满足业务的核心诉求,那就放手吧。
首先,现实往往是这样的。当我们放开去使用它的时候,我们会发现这个轮子似乎没有那么好用,或者这个轮子不再维护了,或者业务变化太快,这个轮子感觉承受不了了。机会自然会来到我们身边,触发这些机会的是我们不断地从商业角度思考问题。业务变化必须比基于平台的轮子来得更快。
其次,真正的核心系统必须贴近业务,难以大规模复用。设计一个好的技术架构,重要的是足够。过度设计大多是无用的设计。在后续的迭代中,随着业务的不断变化,会驱动自身不断进化,最终的产品自然会非常契合业务形态。所以我个人在选择的时候,应该打造一些核心的轮子,但是这些轮子一定要有业务特性。比如我会建一个业务组件库,但绝对不会建antd。
最后,随着事物的发展,它们必须随着时间的推移而结合起来。一个好的单一业务系统必须能够从更高的角度进行抽象和集成。在整个过程中,每个人的成长都会是我们想要的。亮点。也许你简历上写的是一个废弃的系统,但它的灵魂在你心里,也存在于整合它的系统中。这种亮点在你的个人介绍中一定能够讲到。 。
从1到10你能做什么?
最后,我们经历了各种选择,投入了大量的时间,做了一个亮点,完成了一段从0到1的美好旅程,但有时候我们会发现一个问题:从0到1,似乎还有很多东西要走。做。是的,既然你已经完成了,那么从 1 到 10 你还能做什么呢?
这个问题我个人没有太多发言权,因为这两年我一直在做从0到1的事情。我什至和老板谈过这件事,但我总觉得自己没有什么确定的。从0到1一次感觉很好,但如果一直这样做,感觉不会一直很好,只会让人感到恐慌。毕竟,谁能保证你总能从 0 到 1 算出一些东西呢?
冷静下来反思后,我发现事情并不是那么一刀切。谁能解释一下我们现在做的是从0到1,还是从1到10?这里的界限其实并不那么明确,但抽象来说,它们都是在同一个套路中。
业务/技术思维=>发现痛点=>产出方案=>拆解实施
伴随着这个闭环,业务总是在变化,变化会带来新的问题。只要你保持一种思维状态,不需要区分具体的阶段,因为你总能找到一个可以实现自我价值的地方,发现它属于你。亮点。
阿里巴巴淘宝技术部-联平技术团队
我在阿里巴巴淘宝技术部——猎平技术团队。目前,列平深耕家装行业,垂直深入行业,希望能给行业带来一些创新。我们有比你想象的更有趣、更有挑战性、更多的业务。
如果您愿意来和我们一起相信,那么请发送您的简历,我们一定会共同见证,共同创造无数精彩!
请将前端简历发送至: 或
3D专业的同学请将简历发送至:
请将您的 Java 简历发送至: 或
请将客户简历发送至: