这一期内容来和大家分享下很多小伙伴在初学前端会担心的几个问题还有一些自己的学习体会
空降时间点:
026数学不好能学好前端么?
146英语不好能学好前端么?
446是否会影响本职工作?
712自己学习前端的几点经验和体会
Hi我是三木!
这是《设计师想知道的个前端问题》系列内容的第四期了。
这期内容我们来聊聊设计师以及一些完全没有任何编程基础的小伙伴对前端学习的一些常见的问题和困惑,以及我自己在学习踩坑过程中的一些学习体会。
一
数学不好能学好前端么?
在我自己没接触前端之前,其实我自己内心对于这个神秘莫测编程领域是抱着严重的偏见的,总感觉学习这些编程类技能的人就算不是数学很厉害,也起码是数学成绩不错,像我自己这种数学成绩常年在及格线徘徊的人,应该这辈子是不太可能学得会的。
但是当我硬着头皮学了之后,我发现,其实学习前端并不是我自己想象的那个样子,它更像是一个工具,像我们平常学习的软件,我们要学的是怎么使用它,了解它的规则和功能,并且利用这些功能做出我们想要的效果。只是说这个功能的使用方式是用一行行的代码,而不是用我们习惯的鼠标进行操作。
而我之前最担心的数学问题,压根就是杞人忧天!
根据我自己亲身体验,我能非常确定地告诉你,只要你小学已经顺利毕业了,会基本的加减乘除,那么入门前端,能写一些网页实现很多功能效果都是完全没有问题的。除非你要学习什么高级的算法,或者一些深入的图形学的知识,那么可能会需要你有稍微多一些的数学知识,但是绝大部分的情况下,对我们这些并不想成为前端大牛的人来说,小学的数学水平就已经够用了。
二
英语不好能学好前端么?
我相信这个也是不少人在想学习前端之前很关心的问题,说实话,我自己英语也不好,学渣级的英语。
作为我自己的切身体会来说,英语不好,能学好前端,但是如果你英语好,那么会对你学习前端非常有利,而且这个优势会随着学习不断深入越发明显。
其实各种计算机语言,包括前端的这几门语言,设计的时候用的都是英语,那我们在用的时候写的时候其实也是在跟各种英语单词、或者单词简写打交道,比如说html中的各种标签,像div就是divsion这个单词的开头几个字母,分配,分割的意思,也可以理解成一个块,像css的各种属性,那就更是明晃晃的英语单词了,像我们常用的background-color这单词组合的字面意思就是背景颜色,像JS,你一开始学习的时候,会学到一个声明变量的关键字叫var,其实就是variable这个单词的头几个字母,就是变量,可变的意思。
如果你的英语越好,那么你一开始的认知负担就会越少,你起码看一眼就知道很多东西是什么意思,大概能知道是干什么用的了,这样就能减少很多英语不是很好的小伙伴需要去强行记忆的内容。
而且,很多好的学习资源和文档资料都是英语的,尤其是一些比较深入的和高级的知识,如果你的英文够好,是有非常大的优势的。
说到这,我真的后悔上学的时候没好好学英语啊!
不过,就算你英语不好,你也不用担心,只要你能认全26个英文字母,能随口拼出apple,orange,banana这几种常见的水果单词,这样的英语水平是足够你入门和掌握前端技能了,因为大部分在代码中的单词都是非常简单的,你只要看多了就都认识了。
当然,如果你想要学习得更深入,那你可能就不得不恶补下自己的英语,提高自己的单词量,提升自己阅读英文资料的能力,方便自己阅读和查找一些比较新和比较深入的英文的资料,像我,其实这几年也都是在慢慢补以前没好好学习英语欠下的债。
三
作为一个设计师,学习前端会不会影响到本职工作,甚至挤占自己很多工作之余的时间?
这个问题,我可以明确地肯定地大声地告诉你!会!
但是,对于这个问题,我有几点自己的看法:
首先,如果是设计师,尤其是互联网设计师,我比较建议是至少有2-3年的从业经验之后再去接触和学习前端,前期你可以懂一些前端或者编程的常识,但是如果想要深入学习,最好还是在自己的基本工作业务水平已经比较稳定和熟练的情况下再去拓展前端这项高级技能。
当你已经有几年的从业经验之后,首先你自己也可能对自己的职业发展方向有一些基本的想法了,也可能明确知道自己到底是想走什么细分的设计方向了,比如像有些设计师比较喜欢画画或者做一些纯视觉的东西,那么可能前端对他来说就没必要花大精力去学习了,了解一些前端的基本常识即可,毕竟如果自己都没兴趣,学起来也是事倍功半的,还不如把时间花在学习自己有兴趣更擅长的领域。
同时在和团队打磨产品的过程中,你自己也会在和各种开发人员的工作配合中遇到很多和技术相关的问题,也能让你对一些技术知识产生一些疑问和好奇,也是有助于你自己去了解和学习前端或者相关的一些编程技能。
再者,如果你觉得所谓设计的本职工作就是在设计软件里涂涂画画,改改元素,做做原型,那么在我看来,你首先要改变的是你自己的思维意识,而不是去学习前端或者其他技能。
我理解的设计,其实是一种能用优雅的方式解决问题的工作,并不局限于你用什么具体的工具,具体的技能,具体的问题,只要能把问题解决了、解决地漂亮了,在我看来其实都是设计。那在互联网设计领域,如何才能把各种产品的问题解决得更漂亮?我觉得各种复合型的人才就是关键,懂代码会编程的设计师,有审美有想法的工程师,懂技术有品位喜欢研究用户心理学的产品经理等等。所有这些复合型的人才,其实都是设计师,这样的团队能最大程度的减少彼此的沟通损耗,能让团队尽可能地都在同一个频道同一个语境下讨论交流问题,从而打造出更好的产品。
还有就是老生常谈的一点,互联网行业就是一个不断学习的才能生存的行业,如果你不是一个愿意不断学习的人,要么趁早去转行找一个不用一直学习的工作,要么,你就改变自己,把自己平时下班放假用来吃吃喝喝玩玩乐乐的时间,合理安排用来学习,不断地提高自己,未雨绸缪,居安思危。
四
学前端会不会导致脱发?
额,这个问题,我觉得应该不会吧,起码我没有啊!
我的前端学习体会与经验
几个问题说完了,那接下来,我来说一说自己在学习前端过程中总结的几点经验。
第一千万不要觉得听懂了就是会写了!这是初学者很容易犯的毛病,在学习的过程中不太喜欢动手,总感觉听懂了就好像会了。但是真的轮到自己要动手写的时候,发现一堆的问题,可能连最基本的写法都写不对。要学会编程,一定要动手写大量的的代码,这样不仅能加快对代码的熟悉程度,掌握书写代码的细节要点,也能逐步提高打字速度,对形成输入代码的肌肉记忆也非常有好处,因此,在听懂了之后要自己亲自动手从头到尾把案例多练习几遍。练习的时候可以先跟着教程写,然后再试试脱离教程自己从头写,就有点像我们上学时候的默写课文,不过脱离教程的时候要学会主动思考,梳理好思路,跟着自己的思路写,我们不是去背这个代码,而是要理解为什么这么写。
第二不要以为能写出来就是会了。很多时候,你做练习要多练习几遍,尤其是自己写的不太顺的时候,第一次完成是磕磕绊绊地,那么就再练习几次,或者是隔一两天再重新做几次,间歇性重复练习能非常有效地增强自己的对于出问题地方的记忆,能加快你的学习速度。尤其是初学者,对于代码的感觉特别重要,我们就是在不断的遇到问题,然后解决问题的过程中,加深对代码的理解和掌握,培养对代码的感觉。
第三不要以为会了就忘不了了。做练习做案例的时候,一定要把自己有问题,不理解地方记录下来,不管是用notion还是印象笔记还是其他的文档工具。很多时候我们遇到的问题和知识点都是很零碎的,你通过记录也是一种加深印象的方式,这样能方便自己忘了的时候来复盘,或者在一段时间之后进行复习。同时,当你学完一个阶段的时候,你可以对笔记进行整理和总结,把这些零碎的知识梳理成有条理成体系的知识要点,这样你又相当于是再学习了一次,对于你真正掌握知识是非常有帮助的。记录和整理这一点非常重要,我自己现在不管是做项目还是学习都会坚持做笔记,我自己以前在读书的时候是很讨厌做笔记的,也是因为这两年的自学经历让我慢慢发现做笔记的好处,所以也慢慢养成了做笔记的习惯。
第四学会自己去解决问题。在学习编程的过程中你会遇到很多问题,你一定要记住一点,你遇到的问题大概率也是别人遇到过的,所以你要学会搜索,学会自己去解决问题,如果你有一个老师或者刚好有其他资深的人可以指导你解决问题,那么你也要学会问问题,不要因为自己没有正确表达好问题,而浪费彼此宝贵的时间。
第五遇到很难解决的问题,可以尝试地先放一放。在学习过程中我们总会难免遇到一些一时半会没有办法解决的,或者甚至都不知道什么原因的代码问题,如果研究了好一会也毫无头绪的话,可以先把问题记录下来,然后放到一边,等过段时间再来解决,这样可以避免自己陷入死胡同当中,很多时候反而会有助于问题的解决。
第六饭要一口一口吃,学习前端也是一样。如果你没有任何的编程基础,那么在开始学习前端的过程中,你会碰到很多完全新的名词和概念,有些知识可能没有办法在第一次碰到它的时候就完全理解,甚至有些知识可能会让你感觉模糊好一段时间,然后突然在某一天就想通了,理解了,这都是很正常的。所以学习的时候不用心急,如果一时半会理解不了,那就先不理解,哪怕就是照猫画虎先用起来就行,当你学的东西越来越多,你对于整个知识体系的认知会越来越清晰,很多问题会在不知不觉中迎刃而解。同时要摆正自己的心态,因为学习前端并不是可以速成的,你可能需要持续性地坚持学习,不管是每天学半个小时一个小时也好,还是每隔一段时间抽一点时间来学习也好,总之,它都是需要你有规划地循序渐进地进行学习的,你不要指望你学了十天半个月就能变升级成为一个能撸代码的设计师,除非你是万中无一的天才,不然的话,你只能乖乖地一点一点学、一行一行代码地练习,付出多少才能收获多少。
其实我们这些不用找前端工作的人来学习前端,并不是要去取代前端的工作,实际上你也取代不了,我们更像是在学习使用一个工具,我们的学习过程中可以少学很多老旧的知识点,少背很多那些前端开发为了面试而不得不背的各种难记的知识点,可以不用太在意代码的性能优化和整体架构,也不用去学习复杂的算法和难懂的编程理论,我们更多的是要学会如何使用这个前端工具帮我们去做出更好更合理的设计,避免因为无知而不敢开脑洞,导致产出一堆没有想象力的产品,也要避免无知而乱开脑洞,导致技术上无法实现。
与此同时,如果你又喜欢编程,又喜欢设计,除了可以做一些艺术编程的设计、在工作中用代码实现一些复杂的功能和交互,你还完全可以自己动手创造一些有趣有创意的小产品,不用假手于人。如果你的产品的用户越来越多,多到影响到了产品的用户体验,那你可以再找专业的开发人员,去优化去改造去提升你的产品。
另外,学习前端或者一些编程语言,对于提高设计师的逻辑思维能力会非常有帮助,这里我没有办法具体的说明,但这是我自己的切身感受,我相信如果你开始慢慢学习前端以后,就能感受到。而逻辑思维能力不仅能提高你思考问题的逻辑性,也能提升你的设计过程的严谨性,对于设计师综合能力的提高也是非常有帮助的。
那以上就是我自己总结的一些关于学习前端常有的疑问和学习前端过程中的一些经验体会,希望这些能对你学习前端有一些帮助,如果你还有一些其他的问题或者困惑,也欢迎私信评论或者弹幕和我交流。
那从接下来的第五期开始,我会准备一些偏知识型的内容和大家分享,第一个要给大家介绍的就是鼎鼎大名的Git和Github。
好,本期的内容就先到这里了,未来很长,要学的东西还很多,我们以后慢慢聊。
我是三木,我们下期内容再见!