主要只是整理了一下我从身边的前端同事及社群朋友们上看到的一些特质,毕竟比起我来,他们在前端领域打滚得更久。当然这些特质应该是适用大部份工程师 (不论哪一端) ,但我还是认为前端工程师平时要更著重这些特质。
注:其他领域或许也有「前端」这个术语,但一般人认知的「前端」是泛指「 Web 前端」。
这些特质包含:
厚实的基础能力
擅长找出问题点
拥有灵活的思维
时常保持好奇心
豌豆资源搜索网站https://55wd.com 广州vi设计公司http://www.maiqicn.com
厚实的基础能力
现代很多刚接触前端的开发者都误以为只要学好框架、会套版面、最后发佈网站就是他们全部的工作了;虽然不得不说这是很多公司找人的目的,让很多自称前端工程师的朋友也只能在人后默默流泪。
但如果想让自己成为一个优秀的前端开发者,不能只做这些宛如打杂的表面工作,而是要深深地打好基础。基本上,前端大部份的工作成果都得靠浏览器呈现,而其中要理解的基础大致上可以分成几个重点:
浏览器要呈现的内容从哪来?
浏览器背后到底做了些什麽?
怎麽让浏览器正确呈现内容?
当然并不是说上面列的全部技能都是基础,但至少浏览器相关及网页三巨头 html/css/JavaScript 背后的知识都是前端工程师日常工作中必备的基础技能。有句话我记得好像是这麽说的:大师只是把基础功练得比别人更极致而已。
所以厚实的基础能力是前端工程师很重要的特质,有些前端工程师基础好到只要是可以用 JavaScript 做出来放到浏览器上跑的东西,他们都会去做,更何况这世界上每个东西看起来都像 JavaScript 。
擅长找出问题点
大多数前端工程师平常不只是在开发新功能而已,他们还需要面临使用者在浏览器操作上的各种问题,还有开发工具带来的各种问题,以及为了解决问题所开发的工具所带来的新问题。有厚实的基础能力还有 Stack Overflow 作为后盾,他们就能在看到这些问题时,可以很快分析出问题点。
所以知道如何用浏览器提供的开发者工具来侦错或是查看效能瓶颈,熟悉各种浏览器之间不一致的实作等等,这些都是前端开发者在寻找问题点时很重要的技能。今天如果是我面试前端工程师时,我第一个问题大概会问:「你知道主流浏览器开启开发者工具的快速键吗?」
拥有灵活的思维
「技术领域裡不会只有一种解决需求的方式。」这句话的威力在前端开发中特别显著。前端开发者的强大不在于他们学会多少工具,而是会不会用手边既有的工具来处理需求或是解决问题。你以为我要说「龙五手上只要有枪,谁都杀不了他。」吗?对,我已经说了。
在我所知道的前端开发者裡,有一个思维灵活到极致的男人叫 Martin Kleppe ,他常用的帐号是 @aemkei 。他对 JavaScript 的恶搞研究很难有人可以相提并论,我曾经在 jsConf 裡看过他的演讲,那时我才知道自己在 JavaScript 上思维有多僵硬,大概跟我的肝一样硬。
时常保持好奇心
就跟猫一样,你大概很难阻止前端开发者的好奇心。常会看到前端同事或社群朋友在网路上逛一逛后就捡到一些有趣的 JavaScript 或 css 写法,接著就会分享出来讨论它们是用了哪些技巧。然而好奇心会杀死猫,也会杀死前端工程师;他们除了喜欢去探究那些新奇的玩意是怎麽做到之外,也可能会在看到一个效果后,就日以继夜,自己从头摸索来做出同样的效果。
当然他们也不会仅满足于做到别人已经做出的成果,还会自己去研究 W3C 制定的规格或是其它技术的理论,进一步打造出前所未见、令人惊豔的成品;所以你可以说好奇心就是前端工程师进步的原动力,否则到今天我们可能还是在「首页製作百宝箱」裡找程式码複製贴上。不过现在有进步一点,大多数前端工程师都学会在 CodePen 或是 js Bin 找程式码了。
结论
好啦,我还是要挂个免战牌 (你看我连评论都不给你写了) ,希望各位别认为这些特质就是全部或是绝对;更好的方式是直接去观察各位身边的优秀前端工程师,看看他们平时在玩些什麽游戏,不对,是有什麽样的特质才会如此受人尊敬。