工作很忙,如何破局

5,902 阅读7分钟

背景

这个问题,很多人问过我。我都没有具体回答过,问得多了,我觉得我有必要一次性,将想说的都写出来。这样以后谁要是问我,我就给他甩这篇文章,完美。

迷茫

工作很迷茫,我觉得大部分的原因如下:

  1. 业务需求多,加班也做不完的程度
  2. 业务简单,感觉技术含量低
  3. 背景一般,不知道如何提升自己
  4. 其他

不管什么原因都好,反正迷茫了。其实这些问题,我感觉人人都会遇到,只能可能是在不同的技术阶段遇到罢了,包括我自己,也确确实实都遇到了。虽然我不觉得自己破局成功了,但是我可以分享一下我目前的应对方法,你可以参考一下看看对你是否有帮助。

破局

业务需求多,加班也做不完的程度

  1. 以我的认知,业务需求就不会有做完的时候。这个问题,我觉得如果你刚入职新公司,对业务不熟悉,那么你只能好好加班,慢慢总结,尽可能地加快熟悉项目的速度。这里的总结,可以总结这些内容:
  • 记录开发流程。通常都有好多步骤,不同的系统,甚至需要各种权限和账号。都好好走一遍流程,以图文的形式记录下这个开发流程的过程,形成自己的笔记,争取做到,只问一遍同事,就学会了,熟悉理解了。如果你们没有什么文档或者文档过旧,刚好你可以沉淀一个新人文档了,多棒!

  • 记录通用业务代码片段。一个团队的业务方向通常是固定的。也就是说肯定是很多东西可以复用,或者说你写了之后可以被复用的。这种情况下,如果是大的功能模块或者逻辑,可以形成一个 npm 包,抽离出来以供复用。小的片段可以放 util 中,甚至,直接 copy 到自己的笔记本中,方便自己查找使用即可。虽然搬运代码确实没什么含量,但是在你理解的前提下搬运却是省时快捷的最佳方法,学会站在历史的肩膀上。

  • 梳理痛点,逐个攻破。开发中遇到痛点,或者灵机一动的点,一定一定要及时记录下来,比如我,始终会有一个叫价值过亿的想法的笔记目录。你可以只写一句话,记录一下这个痛点,痛点就是你觉得很耗时,或者很不合理,浪费你时间的地方。先记录下来,然后找个时间逐一梳理应对。站在问题的角度上,如果我觉得这东西很难用,那么我期望是什么,怎么样才能让我自己觉得好用呢。对于想法就是,我想做一个什么东西,解决什么问题的东西。这些灵光一现如果没有及时记录,通常过了也就忘了。

  • 提高自己的抽象能力,封装能力。当然,这个说得有点抽象,需要靠自己感悟了。如何感悟,那就是多阅读优秀的大神的代码,看看别人在写代码的时候,都怎么写的,怎么设计的,这种跟自己的对比,优劣如何。这东西,看多了,总能学到点皮毛的。

  1. 向上反馈,抛出风险点。这怎么说呢,加班虽然不可避免,但是也不用走 007 的节奏,自己根据自己的实际情况,定一个自己可以接受的加班范围。我自己的话,目前能接受的最大加班时间是 10115,如果项目赶着上线周末也可以加班,但是不能长期连续周末加班。如果你尽力了,还是无法按时交付,那么就直接跟上级反映。有人说,老板才不管你,做不完就要走人了,那么如果是我遇到这种老板,我会自己走人。

  2. 强行安排自由时间。自己在评估需求的时候,可以每天留个半小时到 1 小时作为自由时间,那么你就利用这点小时间去做自己特别想做的事情,这里我的一个建议是优先做工作相关的一些基建/轮子的调研或者代码编写。毕竟提高生产力才是工作中最需要的,而且基于业务的技术更有意义也更有挑战。

业务简单,感觉技术含量低

  1. 如果你业务简单,没啥技术含量,你还疯狂加班,我觉得这是矛盾的。首先,如果没啥技术含量的简单需求,通常都是有对应的工具或者系统去改进,进而提高生产力。或者你欠缺的是这样的系统,那么你可以调研一下,相关背景下,一些开源项目/大公司的分享实践。比如我老是在切图,做页面,那么你是否想过可视化搭建?是否想过有根据设计稿输出页面代码的项目?是否想过物料沉淀,重复提取利用?都是有什么可以挖掘的点的,或者是自己的认知和水平,尚不知道罢了。

  2. 多参与一下大公司的技术分享大会,这种通常都是基于具体的业务做了一些提升工作的,可以增长自己的见识和思考广度。

  3. 如果你的公司或者团队,实在是什么都没有,那么你只能靠自己,打造自己的社区影响力,比如写博客,参与开源项目。你可以像我一样,写文章,发掘金,搞公众号等。这些都是可以尝试的方向。

  4. 进技术群交流,关注前端 Q,学习文章,关注前端动向,阅读各种源码,思考这些框架或轮子的设计亮点,反正就是多思考,融会贯通,感悟出自己的东西。

  5. 跳槽。如果你觉得在一个公司,原地踏步好久了,换个环境重新开始其实不失为一个选择。

背景一般,不知道如何提升自己

首先,背景一般,绝对是相对的。闪闪发光的人是大,但不是满大街都是,我们大多数都只是个普通人。既然大家都是普通人,又何必在意什么背景不背景的呢。默默学习就是了。我总结几个我自己的方法分享给大家:

  1. 总结工作中/公司中自己能接触到的项目,去了解这个项目,可以从背景,0 到 1 做什么,1 到 2 做了什么去了解。最重要的是数据,这些变化直接的数据是如何体现的。总结出来。

  2. 设立假想敌,比如同是前端方向的,自己要达到他的多少,或者说高于他多少(最直接的体现是 💰),时刻鞭策自己努力。

  3. 替换框架中的思想/轮子/方法,最简单的,假设你的项目用了 jq,你能否用原生 js 实现,进而替换项目中的方法呢。不要老是说项目简单,没亮点没挑战。再简单的项目,都可以自己挖掘难点的,就看你有没有勇气和耐心去做罢了。再比如小程序不支持 store状态管理,你能否实现一个呢?其实都是自己为自己找的借口罢了,或者说你觉得这种拿不出去装逼,不想动手。但是,如果没有前期的积累,又有几个人可以一步登天呢?前端人,踏实点吧。

  4. 多接触一些前端进阶必须的东西。原理源码/自动化(性能/测试/部署发布)/效能方案(持续集成/微前端/node 中间层)等等

结语

不积跬步无以至千里。当你觉得自己原地踏步的时候,不妨好好反思一下;当你想去实践一些大项目的时候,不妨拿小项目练练手,慢慢沉淀;当你加班很多的时候,从项目找切入点去学习提升。

没有那么多的手把手教,前端都是靠自己悟的,奋斗吧,骚年!

最后

  • 欢迎加我微信(winty230),拉你进技术群,长期交流学习...
  • 欢迎关注「前端Q」,认真学前端,做个有专业的技术人...

GitHub