作为中级前端工程师,如何在工作中提升自己的能力?

前言

在日常工作的过程中,你是否存在以下几种情况:

  • 某个时间节点突然产生迷茫,不知道自己当下应该做哪些事情,学哪些东西?
  • 不知道如何在工作中提升自己的技术或能力?
  • 你似乎对自己做的系统都熟悉了,但是在谈及某个功能的时候,却说不上来是如何实现的?
  • 需求一个接一个,一段时间之后,却回想不起来自己从中学到了什么?
  • 网上看了一大堆优化手段,同时目前项目存在哪些问题,但不知如何下手优化?
  • 想写技术文章,但是却不知道应该写什么?或者说无法坚持写下去?
  • 想学算法数据结构、网络知识或全栈知识,却总是半途而废,坚持不了几天?

我曾经历过并且也正在经历着上面的一条或多条,这篇文章的目的也刚好为我入职四个月做一次度盘反思,并与君共勉!

透过现象看本质

以上皆为现象,脱光事物的衣服看根本,究其原因,我总结为以下几点:

内在原因

  • 缺乏明确的职业规划:不知道自己要成为什么样的工程师,是走垂直技术路线还是技术管理路线呢?
  • 缺乏明确清晰的学习目标和工作目标:不知道要学什么、如何学习以及在工作中不清楚应该如何步入下一阶段,去更大的平台
  • 有目标但缺乏明确可量化的指标、可执行的实施计划,同时缺乏期限性
  • 进入舒适区不愿尝试新的技术和主动解决新问题
  • 自身焦虑或压力大,形成负面情绪产生内耗
  • 缺乏阶段性复盘反思,在日常生活中逐渐忽略目标

外在原因

  • 工作内容过于单调,缺乏挑战性,业务发展方向不明确
  • 缺乏与他人进行技术经验交流,缺少分享和成长的机会
  • 没有合适的学习资源和指导,不确定方向是否正确
  • 大环境情绪低迷,对行业发展保持担忧,缺乏信心

知道问题所在,如何做出转变?

我总结了十点在工作中提升自己的关键点,并以此来提醒自己:

提升建议

1. 把自己当做owner的角色,发挥主动能动性

如果我们的角色并不是部门管理者或者没有做过管理岗位,几乎不会把自己当做owner,而我想表达的是,只要把自己当做是任务的主导者,其实很多事情都将会发生潜移默化的改变,它将体现在我们的沟通力、执行力、全局思维力以及领导力。而我目前自检是没有完全做到的,这是我最近反思过来最大的问题。

如何在工作中转换这种角色?

比如在接受一个任务时,首先站在管理者的角度思考,我该如何把控进度?如何在deadline前保证交付?开发过程中应该考虑系统维护性、性能优化、用户体验甚至方案实现的投入产出比(ROI)是否合理。

其次,过程中发现问题,是主动反馈给各职能岗位还是等到开发完毕等测试发现才考虑解决,你还别说,我真遇到明明在过程中需求出现问题,却说等测试反馈再考虑改进的。

2. 在条件允许的情况下,把工作做到极致

什么是极致?

我对极致的理解是细节

完成一件事情有三个标准:做了,做完了,做好了! 不得不承认,大部分职场人都觉得把事情做完了 就算结束,因为这是我们做事情最常见的标准。想要达到做好了 这个标准,全靠细节魔鬼都是藏在细节里面。

在日常工作中,如何把工作做到极致? 可尝试从以下几方面着手:

  • 测试反馈一个bug过来,不单纯想着把它fix完,再想多一步,它的影响面是多大?设计是否有缺陷?除此之外可能还存在哪些场景会有类似问题?
  • 发现控制台有不少历史遗留的eslint警告?组件中存在副作用但未被清除?尝试去fix它们

永远记住,把事情做好

3. 记录并总结你在工作中踩过的坑和学到的知识点

犯错并不可怕,可怕的是同样的错误重复犯,一个成熟的程序员时刻要记住不能重蹈覆辙,最好的方式就是记录你遇到过的问题,犯过的错

如果你不知道如何记录,可以参考我的这篇文章:

# 通过Vs Code调试,我找到了Ant Design Table运行报错问题~

除此之外,在工作中get到新的知识点也很有必要记录下来,它是你的经验所在,这也是未来你面试的资本之一。

4. 站在产品和用户的角度思考问题

前端这个名字顾名思义表示站在离用户最近的关卡,它直接影响着用户的情绪行为,而产品永远都是为服务用户而存在,作为前端工程师这个角色,想要成为优秀就必须站在用户的角度思考问题。如:

  • 用户使用这个功能是否方便快捷,行为操作、视觉效果是否符合日常习惯
  • 用户界面设计是否能够激励用户产生付费行为,价格是否有吸引力等

5. 时常观察自己的系统存在哪些问题,如代码规范、可维护性、开发效率

关于这点,在入职一个新部门时最为明显了,拿我举例,由于前端组刚组建不久,我入职的时候才两个人,没有新人熟悉文档,没有组件文档,也没有业务介绍文档,前端开发规范、开发流程规范就更不用说了。再者,前端构建产物上传到本地环境还是用可视化窗口操作,小程序上传也如此。

为此,我编写了新人快速上手文档,梳理一遍微前端项目架构,推出了前端开发规范,package包管理规范,写了一个Node自动上传脚本,当然,现在还有很多方面等待要去做的。

6. 总结项目中通用的技术方案

前端项目中有很多方面是可以共用的,比如Vue权限管理、React自定义Hooks工具、自定义utils工具库、给页面添加水印以及前端调试技巧等,关于调试文章可以看我之前整理的:

7. 思考哪些地方可以提升效率

在日常工作中我们做的大部分任务都是吃老本的,凭借以往的经验就可以完成,这样也容易导致人做一些重复性的事情,思考是否可以用工具替代人工是个很重要的思维,比如我前面说到的用脚本替代手动上传。

除此之外,我最近也在部门推行低代码amis框架,它完全有能力替代大部分的后台管理系统表单、列表的开发,但基于种种原因只能在小范围落地测试。但从个人角度来看,我已经获得了在这方面的经验。

8. 时常调试源码,阅读优秀开源代码

阅读源码、调试源码在开始阶段的确会比较痛苦,也很耗时,这是个反人性的过程,但唯有反人性才能够让人成长。作为程序员,调试应该是最基础的技能,但我发现这项技能大部分人都还不会,大部分人离真相很远。

我最近也写了一篇寻求问题真相的文章: # 通过Vs Code调试,我找到了Ant Design Table运行报错问题~

在这方面我受到启发是因为光哥 的调试技巧,他写过一本小册前端调试通关秘籍很值得推荐。

9. 吃透你部门业务,提升不可替代性

从某个层面来讲,一个懂业务的开发比一个只懂做需求的开发更具有不可替代性,懂业务代表着至少清楚为什么要做这件事情,从而让你具体有高的视角去看待问题,写的程序逻辑更具有扩展性。

如我们在做技术选型的时候,离开业务去做技术就是耍流氓,契合了业务发展再谈技术优势、社区活跃度等。

10、每天都要有计划,不管是学习还是工作,学会阶段性复盘

大部分程序员来到公司第一件事是吃早餐,接着就撸起代码了。但我的第一件事情是核对今天事件的优先级,接着就按照PDCA去执行了,允许自己有懒惰,没有百分比执行到位,但是不能够一直懒惰下去。

PDCA很重要的一点是Check部分,聪明的人很会Check自己,这点我也一直在学习,比如写这篇文章就是在阶段性Check自己。

11、多与同行交流分享经验,尤其是比自己牛逼的

在过去一年空窗中我看技术方面的资讯不多,却是我与人交流最密集的时间段,克服了自己不喜欢交谈和社恐的心里屏障,这给我目前的工作状态带来了很大的正面效果,总结一句是:与人交流可以快速学习别人的优点,而且成本最低

但我重新入职一段时间之后发现,技术部门就有这种氛围,好像我又回到了从前的自己,做技术的大部分同学都有轻微社恐,甚至有的见到女生就脸红😳,不善交流导致与同行之间的经验沟通甚少,也很容易遇到瓶颈。

相信有很多同学加了同行大佬的微信,当然我也一样,比如神光卡颂,在他们身上看到对待技术的纯粹,有问题他们都会热心帮你解答,为此我也无偿帮一些朋友诊断简历。有同学说,他们太高位了,存在一定的隔阂,不知道如何交流?真的是这样吗,我觉得还是太在意自己的感受了,虽然他们时间可能很有限,但你不去撩怎么知道?

为此,我新建了一个【技术与生活深度交流群】,分享技术生活日常、职业规划等深度话题,加我私人微信:followJavaScript,备注交流拉你入群。

总结

以上,是我5年工作经验和认知的总结分享给大家,同时也是我下一个阶段需要去做到的地方,你们每一次的点赞、评论、收藏,都在不断重复提醒我自己!

最后,欢迎大家跟我一起交流生活、技术、人生,少点emo,多点憧憬

相关推荐
fishmemory7sec2 分钟前
Electron 使⽤ electron-builder 打包应用
前端·javascript·electron
2401_854391084 分钟前
高效开发:SpringBoot网上租赁系统实现细节
java·spring boot·后端
Cikiss12 分钟前
微服务实战——SpringCache 整合 Redis
java·redis·后端·微服务
Cikiss14 分钟前
微服务实战——平台属性
java·数据库·后端·微服务
OEC小胖胖27 分钟前
Spring Boot + MyBatis 项目中常用注解详解(万字长篇解读)
java·spring boot·后端·spring·mybatis·web
豆豆1 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
2401_857617621 小时前
SpringBoot校园资料平台:开发与部署指南
java·spring boot·后端
计算机学姐1 小时前
基于SpringBoot+Vue的在线投票系统
java·vue.js·spring boot·后端·学习·intellij-idea·mybatis
twins35202 小时前
解决Vue应用中遇到路由刷新后出现 404 错误
前端·javascript·vue.js
Yvemil72 小时前
MQ 架构设计原理与消息中间件详解(二)
开发语言·后端·ruby