阅读 2295

第四期 | 前端的规划如何落地

规划是面试下半场一个哲理性(逃不掉的)问题,它是开放性的,没有标准的答案(一千个读者就有一千个哈姆雷特),其实只要将自己的想法有条理地阐述出来就好,当然它得是适合自己并具有可行性的。抛开前端行业,我们的生活与人生又何尝不是要做一些规划呢。

若本文对你有所助益,手留一赞,若有不同看法,评论区我等你(^ω^)

要不要搞规划

这是一个向左走还是向右走的问题,无关对错,只在于自己的意愿。

对于不愿做规划,我罗列了一些场景(评论区可补充):

  • 很多时候剧情不会像预期的那般发展,规划搞不搞无所谓;
  • 每天工作上的事都忙不过来了,有那个时间还不如多做点事,反正规划搞出来事情还是一样要做;
  • 规划是领导下派的任务,要不是为了 kpi 才不做呢;
  • 规划有时会束缚着自己的行为;
  • 我就是一个代码的搬运工,完成好本职工作就好,不想过的那么累;
  • ...

个人经历

Promise me,咱先把这些场景问题放在在一旁,一会儿再来讨论,可好?

下面是自己关于规划的一段经历(要开始摆事实讲道理了)。步入前端这行已有 9 个年头了,经历过职场的起起伏伏,从最开始职场菜鸟,做到技术专家,也做过团队 TL。最初几年提升自己多半是靠自己摸索和思考,经历过自我迷茫、自我怀疑和自我否定,还是因为不服输,觉得要做点什么来改变现状,于是就试着只做一年内的计划,为了方便执行和验收,就拆解到月和周,再将它们写在几张拼接的 A4 纸上,最后贴在床边的墙上,方便睡前和第二天醒来就能看到。为了完成期许、为了要活成想要的自己,每天有目标,做事也积极了,有些问题也可以预见,少了分迷茫和畏惧。

所以,规划对于个人来说:可以更早知道下一阶段要做什么哪些事情,可以主动去避开一些没必要踩的坑

推及团队

  • 可以使团队友好协作,方便沟通,容易拿到更好成果,减少重复劳动;
  • 提前预见一些坑点,设计方案更完备健壮;
  • 锻炼思考问题的框架能力,有点到线、面、体系、长期;

我深信:机会大多时候是那些时刻在准备的人才能抓住的,如果想要一样东西,不要等人家施舍,得自己走出去,争取

如何搞规划

接下来会从多个场景/角度来谈。

职级提升

老话说:知人者智,自知者明。知人是伯乐操作的那部分,自知才是成为千里马的我们要做的事(定位自己)。下表职级和岗位要求来自堂主 PPT,为了方便对照,就 Ctrl + C 和 Ctrl + V 过来了。大家可以先给自己定个位。

对于升级,其实逻辑上梳理下很简单:做好当前级别的事,再就是以更高级别的要求来要求自己,在升级述职讲 PPT 时就能摆事实讲道理了,对于熟悉(自己亲身经历)的事情你会很自信和从容地阐述清楚,评委还有什么理由不给你呢!

职级 定位 年限 状态 通常设限
P4 初级工程师 应届生 or 1年 需要一定指导 被动执行,做完就好
P5 高级工程师 1 ~ 3 年 独立执行 只做自己的事,设立边界
P6 资深工程师 2 ~ 5 年 团队核心 解决眼前问题
P7 技术专家 3 ~ 8 年 团队核心 or TL 跨业务、跨部门
P8 高级技术专家 6 ~ 10 年 团队核心 or TL

初级工程师 这个阶段思考问题基本都在上。提升自己得独立执行,快速成长做完事情,不断汲取知识。表现为:

  • 熟悉岗位信息和业务流程
  • 可以作为独⽴的项目成员,独⽴执行,日常工作还需指导
  • 能够发现问题并解决
  • 站在客户的立场思考问题,满足客户和公司需求
  • 能在团队协作中沟通清楚,彼此尊重,互相学习

高级工程师 这个阶段思考问题已经形成线了。提升自己得主动协调,独挡⼀面做好事情,即将手头事做到极致,不断汲取知识。表现为:

  • 熟悉业务流程及岗位信息,积累较多的工作经验
  • 独立的项目组成员,能独立完成复杂任务,偶尔需指导
  • 掌握分析和解决问题的能力,主动推动和协调资源,独立处理复杂问题,拿到有效结果
  • 不断反思及改进对客户的服务
  • 以积极正面的⼼态去影响团队

资深工程师 这个阶段能够全思考问题了。提升自己得主动出击,⾃有一套。在人和事方面带来好的影响,将汲取到的知识去反哺业务。表现为:

  • 具备专业领域能⼒,知识和技能都有深⼊,能够带初级工程师
  • 对从事的职业有一定前瞻性的了解
  • 能独立分析思考,有效执⾏,领导跨部⻔项目
  • 掌握分析和解决问题的能力,主动推动和协调资源,独立处理复杂问题,拿到有效结果
  • 不断反思及改进对客户的服务
  • 以积极正⾯的⼼态去影响团队

技术专家 这个阶段需要立、系统地思考问题。提升自己得破⽽后⽴,卓有成效。能成就他人,表现为:

  • 专业领域的丰富积累,具备专业影响⼒,是他⼈的咨询对象
  • 在专业领域中,对公司内外及业界的相关资源及水平比较了解
  • 基于分析思考,有效执⾏,领导跨部⻔项目,培养新员工
  • 良好的分析和解决问题的能力,有创新想法,能改进业务流程
  • 团队协作中具备利他精神,能以积极正面的心态去影响团队
  • 行业外或公司内培养周期较长
  • 在体系方向上能更多思考,比如开发文档、基础资产、工程能力、统计监控、质量保障、安全防控、性能体验、研发流程、业务支撑、技术创新、组织成长和影响等方面

高级技术专家 这个阶段需要体系化、多维度去思考问题。提升自己得专业独到,策略系统。能成就他人,表现为:

  • 公司内某专业领域专家,指导他人解决本职位复杂问题
  • 基于战略理解,深⼊思考
  • 基于系统认知,思辨执行
  • 对专业领域的复杂问题,进行有效分析,提出策略性解决方案
  • 洞察潜在需求,超越客户期望
  • 参与专业领域的决策,决策影响部门管理层,影响未来 1~2 年的业务发展
  • 行业外或公司内培养周期较⻓
  • 可以在以下方面考虑:职业相关、团队控盘、精⼒分配、梯队搭建、职业规划、绩效考核、能⼒判定、业务架构、价值评判、晋升选拔、⼈才培育、招聘辨才、维稳劝退、制度流程、培训体系、体力分配、部⻔外交、技术探索、接班培养、⼼力强度、技术架构、项⽬管理、业务理解、系统沉淀、⽅案能力、向上管理、资源配比、行业影响、基础设施、组织建设、文化氛围、管理工具、团队节奏、团队协同、思维训练、数据能⼒等

上面各岗级在工龄的跨度是有些大,仔细一分析也很能好理解。每个人步入工作岗位时的技术储备、自我学习方法、工作平台以及日后的努力都不相同。

发展方向

作为一名程序员,我们很多人都看到过或听到过,当到了 35 岁该如何选择?个人认为对于有能力的人这不是问题,对于平常上班摸鱼、当一天和尚撞一天钟、啃自己经验、天天做重复劳动的人才会焦虑,才是个大问题。

当我们还是 P5 或以下职级的时候,这个问题还不需要考虑太深,这个时期主要精力还是好好想想怎么做好当前的事。而对于 P6 及以上职级就要好好考虑了,你可以:

  • 财务情况好,可以做点轻松的活,程序员(工程师)会有些累;
  • 自我创业,这个需谨慎;
  • 技术路线,比如架构师,培训分享讲师,CTO;
  • 管理路线,比如部门主管、项目经理、研发总监;

技术知识图谱

几场大会或许在能力上带来不了实质性的成长,但认知方面可以让我们看到更多的可能,对我们的知识图谱可以进行查缺补漏并不断完善。认知改变行为(思路决定出路),行为影响结果(出路影响命运)。那如何绘制自己的知识图谱呢?下面是我的知识图谱大纲体系(目前还只限于前端):

图谱
图谱
图例
图例

上面技术图谱只是涉及到面,而面再到线和点,可以看看各大厂招聘要求、各培训机构大纲等来把图谱架构搭起来,后续慢慢完善和补充。不是说图谱搭好了就没事了,这个只是让你对前端乃至全栈有个整体性的认识。可以借助一些工具手绘的好看些(这个不需要花太多时间折腾,知识内容才是王道),每天看到美美的绘图,心情也会好一些。

现在我们还要学会拆解,拿 vue 为例:

- 基础入门
  - 常用 API
  - 生命周期
  - 组件化
  - ...
- 框架进阶
  - 复用 Vue 框架的组件库,以提高开发效率
  - 熟悉脚手架工具
  - 全链路(开发到部署)实战
  - ...
- 源码原理
  - VDOM 和 diff 算法
  - 模板编译器原理
  - 组件化机制
  - 双向绑定原理/插槽实现原理
  - 手写 vue
  - ...
复制代码

具体应用

开发一款新应用,在编码之前我们要分析需求,这个时候可以思维发散下,也可以和小伙伴一起头脑风暴下,多维度、多视角来思考这个应用。比如:历史背景、已有方案、业界方案、市场已有竞品分析、当前资源配备、老板规划、客户要求、合作部门建议、下一阶段以及未来愿景等等,从一个页面发散到一个系统或多个系统。

想法多多益善,至少态度上和意愿度是想做好这个应用的。作为这个应用的负责人,我们除了要发散思维,还得能把自己或大家拉回来,把这些想法定位。比如:应用要解决什么问题(定位与根本问题)、做到什么程度(目标)、设计方案是什么(技术架构)、应用内部关系颗粒度(技术实现)、哪些需求是紧急的哪些可以缓一缓,从什么地方着手(策略)、如何有节奏地一一落实(项目迭代计划)、哪些点是不可预估的(风险)、看看遗漏了什么(复盘)。

以上,想法发散和想法定位都是需要我们提前规划的,如果一开始就闷头编程,就很容易偏离方向,浪费自己的时间和精力,也打乱了公司对这块的部署和计划,而这如果提前做好规划是可以避免的。

方法论

  • 问题分析,我们可以通过追问、关键词联想、多维度、不遗漏不重复等方法去思考。对于多维度可以从发展历史、用户价值、竞品分析、数据分析、顶层设计和未来预判等方面来理解。
  • 设计思路,比如一个应用架构可以从流程、分层、组合、继承、抽象、服务等类似于设计模式去设计实现;

时间分配

可以通过 todo 方式来规划每周。对于时间安排,很多人都做不好,就是穷忙的表现。最近在「得到.app」《吴军的谷歌方法论》中看到《第124封信|走出越穷越忙,越忙越穷的怪圈》,大致这类人有 4 个特点:

1.干不该干的事情,特别是亲朋好友托付的事情。 2.喜欢并行处理任务(Multitasking),可理解为一心多用,喜欢速成。 3.未老先衰的心态,可以称这些人为“老的年轻人”,遇到和自己过去长期接受到的观念不同的概念时,先不是花时间去思考搞清楚,而是本能地去反驳。 4.相信自己能找到别人找不到的捷径,不能沉住气提升自己,就是喜欢找捷径,想着付出最少得到最多。

事情规划好了,这期间专注地去做就好了,不要想其他,暂时与外界划清界限。

规划输出落地

所有的规划若是落不了地就是耍流氓,自我欺骗,只会增加自我挫败感。

知识图谱这块我想说,别人东西再好那总归是别人的,自己的东西再差也是自己的。改变现状就得走出去,动起来。个人认为汲取外界知识是一种输入,而输出也是一种输入,效果或许更佳。我们常常看到这类场景:知道自己知道却就是不能将自己知道的说清楚。对这类现象给出的解释是没有系统地把这个问题研究透彻,缺少输出(文字或声音)。所以我时常建议身边小伙伴持续做输出,写日课、写总结、写博客、文字输出或公司内外部培训分享等等,只要能条理清晰地把要说的事讲清楚就好,建立自己的自信、品牌和社区影响力。

应用这块,除了应用本身需要将规划实现出来外,还需将相关文档详细输出。

岗位升职这块,就要输出一份高质量的述职报告。要拿可量化、真实的数据来阐述,不要大而全,只需有条理地把做的事阐述清楚,从点到线、面、体系地去阐述,能给企业业务赋能、提效和降本,再小的事一推广就是很大的事了。评委会被你的思维、做的事和自信给征服的。

一些看法

  • 当一个代码搬运工也没什么不好,轻轻松松的,不过有个大家都在考虑的问题,搬运工要特别注意下,35 岁你的核心竞争力是什么如果还在这行的话;
  • 工作忙,业务多是很多人常态,如果不做点什么,那自己将会一直处于这个状态的环境中,久而久之可能会迷失自我,业务精通了可以业务管理?做管理会不做规划么(别逗我了)?
  • 谁都希望行为自由,个人还是认为只有能管控自己想法和行为的人,才是真正的行为自由;
  • 事情不会按自己预期的发展就走一步算一步?现在的年轻人挺有活力的呀,心态不会那么老吧,你不会是想做“老的年轻人吧”?
  • 不要过早(p7)之前就带团队或管理团队,这之前还是进行知识储备;
  • 认可跳槽仅仅就是个匹配行为;
  • 业务支撑活在当下一时爽,技术基建是活好未来一直爽;
  • 成长就是没有捷径,躺过坑,接触过场景痛点,才明白有些事,才能找出真正事半功倍的法子让自己不在一直躺坑一直痛下去;
  • 人不是什么时候都活得光明正大,本想抬头挺胸前进,却不知何时就会沾一身泥巴。不过,即使那样也能坚持走下去的话,总有一天泥巴会干燥掉落的(银魂)。

推荐几本书

  • 终身成长
  • 远见
  • 你的灯亮着吗?
  • 你的团队需要一个会讲故事的人
  • 格鲁夫给经理人的第一课
  • 俞军产品方法论

当然好书有很多,就我目前所知和了解的推荐给你。

附录

关于大会:前端早早聊大会目标成为用得上,听得懂,抄得走的前端大会,计划 2020 年办 12 期,由前端早早聊与掘金联合举办,未来前端早早聊大会行程动态、资料下载请扫码下方公众号跟进:

前端早早聊
前端早早聊