在繁忙的工作中如何提升自己的前端编程技能?

大多数人平时都是做一些重复的工作996,然后因为做着重复的工作又找不到更好的工作,所以如何在繁忙的工作中提升自己的前端编程技能就尤为重要的,大家有什么好的建议呢?

阅读 10.7k
18 个回答

你有另一个问题:对于程序员来说,怎样才算是在写有“技术含量”的代码?,就在这里一起聊聊我的看法吧。

我经常会问团队的同事们一个问题:与去年比你觉得有没有进步,与 3 年前,10 年前比呢?如果你离开这家公司,能找到什么样的工作?

有时候做代码审查的时候会发现:有些人现在的代码已经和几年前大不一样;然而也有些人,十年前犯什么错,现在还是犯什么错。想知道自己是否有进步,最直接的办法就是拿以前的代码来看看,如果你感叹:当年脑子是进了什么水能写出这么丑的代码——那恭喜你,进步很明显。

那么回到正题:在繁忙的工作中如何提升自己的前端编程技能。是不是前端并不特别重要,重要的是在工作中有所提升。题主自己感觉到每天做重复的工作,找不到提升的途径。不断的重复性工作可以提升自己的熟练度,是一种量变,单纯的重复没办法引起质变。所以需要在重复的工作中找到一些改变重复的事情来做。

举例来说:

  • 如果每天都在 copy-paste,有没有想过,有一天会被 Copilot 干掉?一年不到 1000 CNY,远比一个程序员的工资便宜。
  • 如果每天都是在 Copy-Paste,那有没有想过,每天多花一点时间来写个代码片段管理工具呢?
  • 如果每天都在 Copy-Paste,那有没有想过,这些代码为什么要 Paste,能不能封装成函数,或者类,甚至类库呢?
  • 如果每天都在 Copy-Paste,有没有想过,为什么别人要这么写?这么写有没有没考虑到的情况?是不是有更好的写法?

人们写代码的目的本身就是把人从大量的重复劳动中解脱出来,结果作为一个程序员,居然天天在干重复的工作,这怎么都觉得有点好笑。所以想办法逃离这种重复是很重要的。而要逃离这种重复,需要内涵,需要创新。

提升内涵:

  • 学习设计原则,设计方法,设计模式 —— 再简单的代码也会用到,比如模块化的思想,就是从抽取一个函数开始的。
  • 改变既有的烂代码,学习代码规范,学习重构方法。理解为什么有这样的规范,为什么需要这样的重构方法,什么情况下能用,什么情况下不应该用
  • 创造工具,代码级的工具,也就是工具函数库,用来提升开发代码的效率。其他工具软件,帮助对代码进行管理、提升和改善自己的生活/工作。
  • 应用和学习别人的代码和别人的工具。不仅要学习怎么写代码,更重要的是为什么要这么设计。如果觉得不好用,为什么不好用,有什么改善的办法。对于前端来说就是学习和研究用户体验。
  • 从应用框架到理解框架再到更新框架,最后自己可以写个框架 —— 那基本上就是架构师级别了。

好了,回到代码上来。怎么样的代码才有技术含量呢?再强调一次,代码只是表现,表现的内容才有含金量。当你对语法越来越熟悉,对编程思想掌握得越来越深入,各种工具用得越来越熟练,数据结构和算法用得越来越好……代码的技术含量自然就提升了。

希望明年你再来看今年的代码,能有感叹:谁写的代码这么烂!

我觉得刷题是一个好办法。我经常在Codewars上刷题,有时候也会在Leetcode上刷,主要目的是开阔眼界。

你不是觉得自己牛逼吗?你不是觉得自己的代码已经写的很完美了,无懈可击,无可挑剔,无法提升了吗?刷两道题你就明白了,永远有奇思妙想超出你的想象。看源代码太累,而且只是看,没有参与感,刷题是真真切切的参与,而且所花时间不多,每天空闲时间做一两道练练手,潜移默化之中能力就得到了提升。

没有速成之道,只有慢功细炼。

工作忙的话,建议积沙成塔,编程的核心有两块:

  • 程序 = 数据结构 + 算法,加强数据结构和算法的练习和领悟
  • 还要熟悉程序的运行环境,所以深入学习操作系统、网络基础知识也是非常必要的

最后,技术是工具,找好工作还需要软技能,表达沟通能力,合作能力也都是必要的

我目前也面临这样的烦恼,先从如何在工作中"偷懒"做起吧,造一些优雅的轮子提高效率才能空出时间想其他事情

谢邀!
我也有过题主的感受,既然题主能问,至少说明想改变,睡前回想一下,难道真的已经到了忙的不可开交的地步了吗,至少我内心的答案是不,因为除了工作,短视频、游戏也占用了我们不少的时间。

我提升技能的技巧是,工作中,主动发现项目中的不足,花时间去改进。下班后抽出一定时间,看看新技术,研究下技术原理,最好可以参与下开源项目。只要花时间,花心思了,能力提升也就顺其自然了。

多思考。

比如思考怎么提升你的开发效率和质量,然后把它推广到团队中。

新手上路,请多包涵

可以先找一个提升点,比如框架、体验、组件、算法等等。

个人经验就是解决多点bug、解决多点问题、甚至是教别人,其实本身就会潜移默化地提升,可能不算是技能,但是累积到一定的经验,在工作中的好处就会越发明显。

就如楼上说的,尽量少做重复性工作,就算做重复性工作也要学会提炼。

还有造轮子可以,但是也要适当copy,精力是有限,要用在刀刃上,如果原理和思维大概懂了,就可以怎么简单怎么来。

可以考虑,从减少重复工作开始。以我个人的经历为例,现在写代码,首先会考虑复用。

复用考虑以下几个方面:
1、能否在当前项目中复用;
2、能否跨项目复用;
3、能否在过了较长时间(比如半年以上)后仍然方便复用;
4、能否为自己所用并为其他人所用;

当你写任何代码块,都优先考虑复用的时候,你就是用模块化地思维写代码,会无形中提升自己的抽象能力。

基于以上想法,我做了RunJS这个产品,目的就是避免写过的代码,经过一两年后就变成电脑某个角落的死尸。先在RunJS上写模块化代码,再将其整合到项目、产品中。虽然麻烦一点点,好处却是日积月累,自己写过的好代码,都能随时取用、随时完善、随时分享。

欢迎大家使用RunJS,特别是其插件版本

授人与鱼不如授人与渔!

1、千万不要每天只知道做项目上的事情,要预留时间学习
2、眼界要宽,多看,才知道自己缺什么,才知道有方向性的学习
3、看一下前端工程师发展路线,给自己定一个中长期的计划,到哪个阶段需要掌握什么技能,达到什么水平
4、学习的时候要系统性的学习,不要东一点西一点,没有计划和目的性
5、工作养活自己的同时,js 认真写,遇到问题多思考。替代方案的思考,性能优化的思考,项目规划思考。反正就是多写多想。
6、思考, js 学得深一点,设计模式看看,实操

已参与 「极客观点」 ,欢迎正在阅读的你也加入。

工作超过1年的时候就开始思考这个问题了,目前看以前的代码是真的惨不忍睹的心情。
庆幸的同时,又有些焦虑,毕竟目前和1年前的代码状态已经没有什么特别明细的差距。
一焦虑就会思考一些问题:

  1. 为什么目前项目中还有一些'烂'代码,迭代这么多次居然没有人动;【敢为人先】
  2. 明明能提取的代码,居然一直以'笨'的形式在跑;【发现瑕疵】
  3. 每天到底有多少时间是在摸鱼,摸鱼的同时不断去感慨?【自怨自艾】
  4. 参考楼上几位的思路【集思广益】

已参与 「极客观点」 ,欢迎正在阅读的你也加入。

多想想自动化的工作,好多重复手工劳动其实都有优化空间,

996的意思是什么呢,周末还是要多陪家人,或者提升自己。

这样才能保持竞争力,以防被优化。


已参与 「极客观点」 ,欢迎正在阅读的你也加入。

你说的现状我就有,我目前是这么做的。
1、项目排期的时候,尽量给自己预留可以调研更好技术方案的排期。重复的事情不用重复的经验做,普遍的事情提炼通用的代码来解决。
2、再忙也要保持学习,哪怕在挤地铁的时间、在等电梯的空隙,读一篇文章、看几分钟视频,就能从更优秀的人身上吸取一些好的编程思想、好的解决方案。等到摸鱼的时刻,把他们整理成册,等到下次遇到同样的问题,可以试着把学到的招式拿出来练练手。
3、向上管理,跟领导要更有挑战的工作,做自己更喜欢的工作。这就需要有明确的职业规划,且能做好手里的事情,并对想做的事情有充分的准备、有完全能做好的信心,有这些才能更好地和领导谈判。

已参与 「极客观点」 ,欢迎正在阅读的你也加入。

我觉得记笔记是一个比较好的方式,这有两点好处,一是可以把已解决的问题归档,下次遇到就可以直接拿来用,防止忘记后又花很多时间解决这个问题;二是可以把学到的东西进行沉淀,这样就可以经常回顾,加深印象。
记笔记无论是对于减少重复工作,还是学习技能来说,都是很有帮助的。


已参与 「极客观点」 ,欢迎正在阅读的你也加入。

重复的工作要想提升能力,就得从工作中用到的技术往深了钻。比如工作用的某个框架或者库,用起来很简单,但是原理清楚吗?高级用法清楚吗?多了解这些东西,如果能反向再去优化自己的代码是最好的。

其次就是自己下来多了解算法、设计模式这些东西,然后再反向会去优化自己的代码。

已参与 「极客观点」 ,欢迎正在阅读的你也加入。

感觉回答过类似的问题。
两个点:

  • 在用的工具、库等,尝试理解设计原理,看看源码,并多参与开源贡献
  • 目前开发中有无痛点,尝试以技术角度解决这些问题
已参与 「极客观点」 ,欢迎正在阅读的你也加入。

其实完全可以在工作中学习的。
这是一个学习型行业,你做的事情不是工厂重复拧螺丝,也不是打字,检票。
多在项目中学习,会收获很多的。

已参与 「极客观点」 ,欢迎正在阅读的你也加入。

新手上路,请多包涵

多学,多看,多应用

技术要靠修炼,多多应用,就能发现问题,做到在工作中学习,工作中提升。

已参与 「极客观点」 ,欢迎正在阅读的你也加入。

推荐问题
logo
极客观点
子站问答
访问
宣传栏