70
我最近与一位后端开发人员朋友讨论了我花了多少时间编写代码或学习工作之外的代码。他向我展示了一本鲍勃叔叔的书“清洁代码”中的一段,它将音乐家花在乐器上的时间与准备演唱会的开发人员排练代码在工作中进行比较。
我喜欢这个类比,但我不确定我是否完全赞同它; 这种思维方式首先会引起倦怠。我认为,如果你想要进一步提高你的技术水平并扩大你的技能,那就太棒了,但是每天每小时都要做到这一点是不可持续的。
前端疲劳是非常真实的。我已经看过很多关于JavaScript疲劳的帖子,但我认为问题比特定语言更进一步。
要明确的是,这并不是另一种关于它如何变坏以及一切都变得太快的咆哮 - 我喜欢技术发展如此迅速。同样,我可以理解它是如何压倒性的,并且有时候我自己也感到很沮丧。
河源网站建设据我所知,这是一个双管齐下的问题。
首先,作为一名前端开发人员,您认为您的武器库中应该包含以下所有内容:
HTML(写得干净,语义标记)
CSS(模块化,可扩展)
CSS方法论(BEM,SMACSS,OOCSS)
CSS预处理器(类似LESS,SCSS,PostCSS)
现代CSS(Flexbox,网格)
JS
现代JS(ES6,打字稿)
JS框架(Angular,React,Vue [在此处插入]]
JS方法论(函数式编程,OOP)
JS库(Immutable,Ramda,Lodash)
响应式设计负责人
测试(TDD)
测试框架(Jasmine,Karma)
SVG
WebGL的
动画技巧
无障碍
可用性
性能
构建工具(Grunt,Gulp,NPM脚本)
资产捆绑器(WebPack,Browserify)
NPM生态系统
了解不同的浏览器怪癖
敏捷方法论
版本控制(通常是Git)
视觉设计基础
软技能,时间管理
对正在使用的任何后端语言的基本理解
最重要的是,你要么涉及或寻找以下内容:
服务人员
渐进式Web应用程序(PWA)
Web组件
第二,你的日常工作可能不会涵盖所有工作,或者给你时间来学习它,那么你如何确保拥有所有工具?
现在,作为消费者,您可能:
订阅一系列不同的每周开发时事通讯
搜索您的Twitter Feed
在工作中每周都要赶上你的前端团队
除了少数开发人员之外,还有一个Slack频道,您也可以与之交谈
关注在线教程(希望不会过时)
使用像Frontend Masters这样的视频课程培训网站
购买网页开发书籍(希望不会过时)
参加聚会
参加会议
参加培训课程
作为贡献者,您可以:
写博客/杂志文章
讨厌说话
播放播客
为开源项目做贡献
有你自己的方项目
最近我发现我的注意力分为三种方式,我把重点放在编写代码的三分之一上,戴着耳机半边听着有关代码的讨论,同时在Slack上聊聊代码。我决定足够了 - 每个孔都被代码堵塞了,我精神上已经筋疲力尽了。
虽然这肯定是极端的,但我相信你们其他人也经历过类似的事情。除此之外,你可能有一份全职工作,家人,朋友,爱好。难怪有这么多人感到筋疲力尽,并且想知道我们是否做出了正确的职业选择。
我的一些前端人员表示有兴趣把它全部打包并将工作转换到可以在五点钟关闭的工作。但我的一部分人认为这份工作吸引了某种类型的人,如果我们把它扔掉而成为房地产经纪人,你仍然希望成为最好的房地产经纪人。在您的空闲时间参加房地产代理商聚会并跟踪房价趋势。许多人在我从事金融工作之前,我仍然在晚上学习并阅读它,以便成为我所选择领域中最娴熟的技能。
在这个学科中,我们并不孤单,很多专业都需要在工作之外有大量的奉献和学习。也许前端开发的事情是技术发展得如此之快以至于让人觉得有人不断移动目标职位。似乎每隔一天我收到一封电子邮件,说“XYZ”技术已经死了。我确信这不可能是真的,否则我们就没有技术了。
生态系统处于不断变化的状态,我认为这可能是一件好事。就个人而言,我喜欢在一个可以不断学习发展和推动自己的角色,但这并不是说我有时不会不知所措。
考虑到这一点,这里有一些我试图记住的东西,以阻止我的头部爆炸,以及一些关于如何避免疲劳的一般建议。
我所知道的开发人员,无论是在工作还是在工作之外,都是我认识的最聪明的人。但他们都感到不知所措。大多数人都有一些他们想要学习的技术愿望清单。可能有少数人知道这一切,并且处于最重要的一切,但我们大多数人处于完全相同的位置。
我们仍然依赖Google和Stack Overflow让我们度过这一天,并且有太多的标签打开,填写了与网络相关的问题的答案。你不是一个人!
知道你并不是一个糟糕的开发者,因为你还没有尝试过任何酷孩子们正在使用的东西。
是的,即使是“网络明星”也在同一个地方......
你无法知道所有事情,你在Twitter上关注的摇滚明星开发者往往在每个领域都非常出色。你会发现他们是因为知识渊博而闻名的地方。同样会有例外,但他们只是像我们这样的人类。:)
我认识几位不会申请角色的优秀前端开发人员,因为他们觉得自己不知道工作描述要求中的所有内容就是欺诈行为。引用其中一个:
“我看到90%的JD让我觉得”唉,我已经落伍了!“事实上,这让我很烦恼,我正在考虑留在现在的角色,只是想争取更多的钱仅仅是因为我觉得我已经“在这里”离开了它。
事实是,大多数这些工作规格都是闹剧。我的朋友Bård把这张伟大的图片放在一起,展示了前端工作规范的含义和含义。
请记住,一切都会好的。我所拥有的每一份工作都是从我的深度开始感受到的,但最终你会习惯他们的工具和工作流程,你学习并成为一个更好的开发者。
不要害怕在工作中学习,获得新技能的最佳方法是每天使用它们。
如果你有冒名顶替综合症,你可能实际上是一个不错的开发者,否则你就不会有足够的自我意识来实现它。
很容易被闪亮的新东西分散注意力,但如果你的基础不牢固,那么你所建造的几率将无法经得起时间的考验。
正如我的好朋友曾对我说过一次:
“关注基本面始终是我的口头禅。如果你能够建立良好的解决方案并解决问题那么重要的是,你如何解决它们(工具)已经并将永远改变。”
例如,当React一举成名时,似乎总是与ES6捆绑在一起,我把注意力放在语言的变化或增加上,而不是框架本身的细微差别。一旦React消失了,我所掌握的知识将保持在最新的vanilla Javascript之上。您可以在Chrome中使用本机播放的许多功能,这样您就不必使用Babel并陷入依赖地狱的困境中。
这真的很关键。我不认为这是新的框架,库和模块正在杀死我们,我们自己的信念是我们必须全部学习它们。
通过学习,我发现最好的选择是保持专注 - 目前我正在深入研究ES6中的函数式JavaScript编程。
在我的名单上还有很多其他的东西我想学习,但我尽量不要分心。例如,我很想了解我的可访问性知识,玩聚合物并深入研究一些最新的CSS技术,比如Grid,但如果我一下子开始阅读太多不同的区域,我将不会保留所有信息。这些其他的东西不会去任何地方,当我到达他们时我会找到它们。
避免急于尝试使用给定主题上的所有内容。花点时间,确保你彻底了解它。
如果你像我一样,你会有一个不断增长的名单,但不要害怕从中剔除物品。并非一切都值得投入时间,你应该努力认识到什么是值得学习的东西,以及在几年内可能会消失的东西。从长远来看,花时间学习编程设计模式和架构技术总是会更有利,而不是跳到框架领域当前的热点。你最终会争先恐后地在赛道上短暂地再次玩流行语宾果游戏。
有很多新的东西出现,网络正在以惊人的速度发展,但通常需要很长时间才能开始采用这些新技术。大多数公司都会等待技术成熟一段时间,并在现场看到它的成熟。
Angular是在六年前创建的,我最初开始在一家创业公司工作,他们三年前决定将它作为他们的框架。Reactjs已经存在了三年多,我现在的公司在圣诞节前就开始使用它了。我确信很多其他框架在那个时代已经过去了。如果我跳过它们,我会疯了。
在CSS领域,Flexbox自2010年开始上市 - 六年前!浏览器支持仍然有限。我们今年早些时候开始在生产中使用它,但是我没有看到它在其他地方被大量使用。
我的观点是,没有急于学习所有的东西,而技术可能会迅速发展,你的潜在雇主正在以更慢的速度前进。你不必领先于曲线,只要确保你注意它的轨迹。
这完全正常。当你刚开始时,你不知道你不知道什么。然后你学习一些东西,并决定你是一个天才。然后一点一点地幻想解开,你开始理解那里有多少你不知道的东西。
从本质上讲,你获得的经验越多,你就会越深入。你需要和平相处,否则会消耗你。如果有的话,这种感觉应该让你相信你正朝着正确的方向前进。在我们所选择的专业中,您将永远无法轻松地坐在由所有前端知识构建的宝座上。
你很容易觉得自己远远落后于需要每分钟编码和学习的东西。这是burnout-ville的单程票。留出一些时间来培养你的技能,看看你是否可以与老板谈判一段时间,以便安排在其余时间做你喜欢的事情。
我在健身房里有一些编码顿悟。锻炼对你的头脑和身体都非常重要。每天至少尝试20-30分钟,以保持头脑清醒,防止倦怠。
为您的家人和朋友腾出时间 - 尽量不与他们交谈!
不要担心现在找工作。目前我们处于一个非常幸运的位置,其中有比开发人员更多的角色来填补它们。我不知道这会持续多久,但现在可以利用它!
你可以在不知道所有事情的情况下找到工作。我发现在我进行的采访中,99%的人完全抨击它。
最糟糕的情况,请记住遗留代码中有金币。如果你是一个喜欢旧方式的开发人员,总会有公司停留在需要开发人员处理他们软件的传统技术上。
我希望这些指针中的一些有助于缓解您可能感受到的一些挫折感。你能做的最糟糕的事情就是到达边缘并完全被烧毁,因为一旦你这样做,就很难重新获得你对你所做的以及为什么你开始这样做的热情。
河源网站建设快乐的编码!
最新文章
2019.09.11
河源网站开发:TheDirectory.io全球最佳设计机构
2019.08.13
河源做网站:使用共享样式表设置Web组件样式
2019.08.13
河源高端建站:如何创建设计语言简化UX设计过程
2019.08.13
河源网站建设:不是冒名顶替者——打击前端疲劳
2019.08.12
河源网站制作:UX过程的6个常见问题和6个解决方案
2019.08.12
河源网站开发:让客户参与您的移动工作流程
2019.08.12
河源做网站:设计原则之视觉感知和格式塔原理
2019.08.12
河源网页设计:重新思考响应式SVG
2019.08.12
河源企业网站建设:构建点击原型以支持参与式设计
随机推荐
2019.08.12
河源网页设计:重新思考响应式SVG
2019.08.12
河源网站开发:让客户参与您的移动工作流程
2019.08.12
河源企业网站建设:构建点击原型以支持参与式设计
2019.08.12
河源做网站:设计原则之视觉感知和格式塔原理
2019.09.11
河源网站开发:TheDirectory.io全球最佳设计机构
2019.08.12
河源网站制作:UX过程的6个常见问题和6个解决方案
2019.08.13
河源做网站:使用共享样式表设置Web组件样式
2019.08.13
河源高端建站:如何创建设计语言简化UX设计过程
2019.08.13
河源网站建设:不是冒名顶替者——打击前端疲劳