海康前端职业规划
# 海康前端职业规划
# 引
都到新一年的入职季,今年的应届生和校招生比较多(离职的也比较多),我们组在各地也做了扩招,感觉不少同学都有一腔热血,比如我想学 webpack,我想学 vue 源码;而在公司一段时间以后就会慢慢被消磨意志力,成为了业务的工具人,所以想和大家分享一下作为一个海康前端可能遇到的困局,该如何去克服这些困局,以及聊一下该如何在海康做自己的职业规划,以及一些我认为比较好的可以改变大家的一些优良习惯。
# 通用前端的职业规划
# 知识分类
前端的领域知识,先看下 developer-roadmap (opens new window)
感觉前端要学的基本都在这里了,越上面的越基础,越值得看;因为不同能力的前端的能力不同,大家可以根据自己的能力去学习,也不一定要参考这个图谱,每个大公司其实都用自己的新人指南,比如微软就有 microsoft/Web-Dev-For-Beginners (opens new window);如果你想在职业规划上更进一步,检查一下自己的基础是否牢固。如果你通用知识特别扎实,就可以快速学会行业基础知识,根据行业基础知识,你甚至可以独立创造任何一个新的框架(或者脚手架),这些框架都会成为别人学习到的行业专用知识,如果另一位同学没有打基础,把时间都用在学习你做的框架上,那么他的职业发展一定程度会被你左右,而他如果只停留在用的阶段,而不了解实现原理,从长期来看,你的职业天花板一定会更高。
# 领域深耕
领域深耕我觉得有几个方面:
一个是纯业务方向的,而且确实在业务上大部分也是 java 开发做的比较多。这种需要去跑客户,去市场调研,去了解运营数据,关注行业动向等。现在有一些海康的前端同事也慢慢会转型到这些方向。就是前端转产品,不过这种其实也没什么人带的,很多也是硬着头皮上的,特别是有些部门有 nodejs 做后台,可能自己要运维一个独立的产品。但这个其实有点跨界了,这个我再后面跨界的地方会专门讲到。
还有一个是技术方向:这里又分很多种,
一种是提升研发效能类的,其实现在海康内部有不少好的平台比如,此处脱敏 * 5 等,提升沟通和研发效能的,市面上还有 各种 lowcode,severless 等;此类的话有一篇比较好的文献 作为前端,我对业务的一点理解 (opens new window)
还有一种是,纯技术领域,比如组件库,工具库,脚手架,这块我个人比较关注。其实就是前面的知识分类的深入细化,今年我特别关注一个 chokcoco/iCSS (opens new window),就连纯样式也可以做到如此细致的深入,我个人觉得是非常牛皮的。但这块非常和你日常工作冲突,而我司很少有部门会专业投入去做这种事情,而且就算做了也不一定能开源。还有一个难点是,这块内容一般不太会有人能指引你,除非做到极致,加上后期的推广与宣传,否则很多都会夭折。
切换思路,我们也不一定要造一个轮子,也可以是帮忙维护一个轮子,帮忙做一些业务改进。这块的话其实公司内部,社区有很多东西可以参与维护,如果有兴趣不妨从这个角度入手。
总的来说,如果你既不想往通用技术领域发展,又无法改变工作内容,就尝试承担更多职责吧,如果可能的话,尝试参与后端业务逻辑的开发,这样可以帮助你深入、全面理解业务逻辑。其实前端 + 产品的路线也可以很好在专业领域做深,前端 + 后端路线也可以,你需要根据自己团队实际情况做出调整。
当然无论哪个领域的深耕其实为了就是有可分享的价值,大家愿意用你的产品,想看你的分享,你的输出有一定的价值,别人看了用了有所提升。才是深耕的意义所在。
# 经济视角
技术产出比较难量化,我做了几个定制,几个基线产品,转化为多少收入,根本没法体现,特别是你的产出和你的收入并不一定成正比,webpack 和 babel 的核心开发都在找工作做,就是最好的诠释。所以打工人、打工魂、打工都是人上人,其实人人平等。谁也不要给自己工作定价,大家都尽可能的打磨产品,月底按照合同约定给固定薪酬。这样做确实解决了产品长期发展的问题,但这套机制成熟后,尤其在大公司,刚毕业就去拧螺丝钉的同学很可能永远没有机会了解何为成本,没有成本概念,就难以想清楚为什么做事要考虑投入产出比,或者觉得 ROI 这个词很高级,其实这个词一点不高级,只是公司将它屏蔽了,但如果这导致你做技术完全不考虑成本,只追求让你激动的技术细节,或者只做你感兴趣的技术方向,那其实是不成熟的表现,你做的事情可能也难以被业务认可。
除了打磨产品,提升自己能力以外你也要知道公司的上升通道的玩法,我自己有写一篇 有关海康任职资格的解读 (opens new window),不过我自己带的同学都有非常多没过的。所以我这里再加一点,在技术上如果没法做到一定的成就,就多写一些偏业务的文档吧,毕竟现在大部分的导师都是关注的业务的收益。
# 题外话:前端的一些变化 --- 多元化
其实早在 15 年的时候随着 nodejs 的流行, 全栈工程师 这个头衔就出来的,当时还有非常多的招聘岗位在提全栈工程师,直到现在也有不少人的职业规划也是说全栈工程师,这里我要分享三个故事。
我看过一本书叫做 《web 全栈工程师的自我修养》,作者叫余果,是一名腾讯的高级 UI 工程师,当时他书内分享的就是一个全栈的思维,可能和大家理解的全栈不同,其实并不是前后端都懂一点,就叫全栈;百度的解释是,全栈工程师是指掌握多种技能,胜任前端与后端,能利用多种技能独立完成产品的人。其实还有一个词叫,全干工程师,这个有点贬义,不过也是类似的意思。余果今年从腾讯离职,而他的一篇文献非常值得品一下,入职腾讯第九年,我辞职了!!! (opens new window);其实我好久没关注他的博客,而他确实也不怎么更新,从他的履历来看,他也是从前端转产品体验升级,更多的关注产品端,而不是全栈工程师,他后期的一些博文也是偏产品设计方向,余果的博客链接 (opens new window);
另一个故事是我自己的,我大概在 12 年的时候做的是 flex,一种纯 html 插件做的,底层是 actionscript,和 flash 类似,后面逐渐被淘汰到时代边缘;另一个是 jquery 时代的 extjs 都是已经被淘汰的技术。其实技术几年就会淘汰没有一个技术会真正的持久。而如今,devops,docker,k8s,rust,go,deno 等技术层次不穷;今年还有几个流行的词语,躺平,内卷,多元化,跨界,都是说明现在不管在什么行业,能够站稳的都是能够跟随时代的人。
扩展阅读:内卷是什么? https://mp.weixin.qq.com/s/zxASHAl4uzMMyftUDTiUgA (opens new window)
最后一个故事是今年的 xuan-bike (opens new window) 视频,非常火,就不介绍了直接附上视频链接:
无法看视频的可以在 b 站搜
我把自行车做成了 自 动 驾 驶
说这个章节的目的是想表达,不要给前端套上边界,现在的前端是没有边界的,任何事情都应该去尝试去突破。
# 如何规划日常
人的行为总是一再重复。因此,卓越不是单一的举动,而是习惯。 --- 亚里士多德
成功是成功之母,人只有成功第一次,才更容易成功第二次、第三次。 --- 吴军
我认为只有培养了良好的习惯才能做到成功,不过在这之前想先分析一下我们海康特色
# 海康特色
- 编码 2 分钟,咨询 2 小时,最大的特色,知乎上有写,由于链路特别长,可能大部分时间都不在开发上面,这个可能不仅仅是前端
- 各种各样的会
- 不知道问谁,不少前端是后端带的,有可能不知道如何问
- 经验案例只是 kpi 工具,其实分享这块并没有做的特别好
- 可能有做不完的任务,特别是一些出差支援的同学
海康的话不同部门其实还不一样,向我们组的话我个人会"合理"的安排组员的任务,不少部门可能就"放养",那在这种环境下如何能培养一些习惯呢,特别是一些同学说时间都在业务中,根本没时间做一些沉淀。
# 利用时间的习惯
海康的工作流比较复杂,部门多而且沟通起来非常吃力,特别是一些文档不全加上人员离职,导致问题没法跟踪或者解决一个问题需要 n 久,能利用的只有碎片时间;而大家都在说碎片时间,没有人真正解释碎片时间都是啥,碎片应该怎么利用,我这边用 2 个习惯来说如何更好的利用时间,因人而异。
# 戒手机
碎片时间最大的障碍就是手机,即使用了这个方法(我觉得只是有点有用),但我个人平时手机使用时长还是在 5 小时以上;不得不说,特别是经常打开社交软件的焦虑还是时常支配着我;所以第一个习惯就是,有目的的玩手机,额我这里不展开讲,可以看下何同学的视频
无法看视频的可以在 b 站搜
这视频能让你戒手机
# 利用早上的时间
其实每个人的自控能力是个有限的资源,而这个资源一般是按照天去计算的;比如你可能工作一天以后,让你去健身,去学习,除非你非常喜欢,那一般都不会去做,或者坚持不长久的;所以第二个习惯是,早起并且先做自己最想要做的事情,其实早上的时间是最容易利用,而且早上的时间一般是最少人打扰的。看到这里请把排到早上的会挪到下午或者晚上。
除了正常的洗漱吃饭外尽量不要刷手机,然后尽量早起
这里还有 2 个诀窍:1. 保证睡眠;2. 可以在睡前想一下,第二天起来我要做什么,不用列太多,列 2 个就行,在早上到公司后做 2 个番茄时间就够了;这个方法有一些科学的调研,我附上一个视频链接,供大家学习:
无法看视频的可以在 b 站搜
这个习惯改变了我的人生
同理其实每个人,每段时间也会有一个有限的自控能力,可能某一段时间你就是不太想学习了,就给自己放个假吧;美国大学教授每隔几年就会有几个月
还有一个是要学会逃没有必要的会议,这个和逃课是一样的,觉得你不想去听,或者听不听都无所谓的,都可以不去。(我们是没有扣钱制度的)有的会是项目经理把交互,视觉,产品,前端,后端,测试,拉一起,一般没 2 小时下不来,而真正对你有用的可能只有 10 分钟。
# 提升自己的习惯
这里先推荐一篇文章:从高效能人士的七个习惯谈成长 (opens new window)
以及吴军的 3 本书 《态度》、《格局》、《见识》
我把它们放在书架上了,如果有需要的也可以找我借阅
我觉得大部分的方法论基本都在这里了,我个人也就不太赘述。但还有 3 个习惯我想重点说一下,我觉得比较适合刚入职的海康同学。
# 主动接近比你厉害的人或者社区
就和去名校读书一样,主动去接近或者关注他们的日常是非常好的一件事情。我个人会订阅一些周刊,我每次看到他们更新,有些月更,有些日更,就非常的有挫败感。扪心自问,凭什么他们能做到这样。关注他们还有一个好处是,得到最新技术的机会就更多,比起日常刷微博,我个人经常在早上刷一遍 twitter,我个人会关注尤大,antfu 等大佬,甚至一些技术博主也会有一些前沿的日常更新。
这里我就不多说微博了,一坨屎,知乎的话稍微好一点
还有非常多的智慧在 github 中
# 教学相长
这个我在之前的文章中有介绍过,这里再说下:我曾经在 seeconf,当时有个同学问分享者,你觉得应该如何提升自己,他说 "教学相长", 意思是,只有把你所学的教会了别人,你才是真正的学会了这个技术;
现在更多的自媒体,公众号的涌现也正是这种自发的需求。真正内容为王的时代,学习并输出更多优质的内容才是教学之道。
# 主动性
上帝眷顾主动的人,不要把自己仅仅当做单位的过客,而不是主人,这个和学校不一样,不是老师给你作业你去完成就够了。一旦有了过客心态就容易不求上进,对自己最大的还出是既浪费了宝贵的时间,又丧失锻炼的机会。
当然主动性也是有技巧的,刚毕业肯定有 n 多的问题,根本不知道问谁;当然你不要找一个大佬薅羊毛,有条件可以多找几个轮流薅;我们公司和社区有各种渠道的微信群,内部群,钉钉群等,都是你可以提问的地方,github 的 issues,内部 gitlab 平台的 issues 也是;但不要说在吗,然后一个截图甩过去,别人根本不知道你神马,这里有一个提问技巧的文献 How-To-Ask-Questions-The-Smart-Way (opens new window)
# 总结
我们先介绍了通用的前端的基础规划,知识分类、领域深耕、经济视角;所有的前端都应该关注,特别是第一点初级程序员可以重点关注,如果是有一定的经验的可以查漏补缺;其次从 3 个例子阐述了前端多元化。
从海康的前端角度出发,结合一些方法论,提炼出一些适用于前端的习惯,去控制时间,以及如何有效的提升自我。可以解决一些之前提出的通用的问题。
方法都是人想出来的,你看到这里并不是学会(收藏也不是),重要的是去实践以及根据自身进行调整方法,并且做到持之以恒的坚持;希望以上内容对你有帮助