You from becoming one in a million short of the front-end engineers step away

"Excellent" is defined as

 

Before we begin to discuss, promise me, ask yourself this question: good front end engineer should look like it?

If your answer is proficient in a variety of front-end framework, or master a variety of front-end skills, or also understand the real needs of users, even before and after the end of the take-engineer the entire stack, then congratulations, your answer and I just started when thinking about the same answer this question.

Indeed, the definition of excellence in the field of front-end, nature is even mastering a variety of front-end development tools and frameworks to understand the underlying logic of these frameworks, know the user's needs and pain points, have their own open source projects and technology blog, write and draw single-handedly clean and bug free code. Each of these outstanding qualities make a front-end practitioner fascinating, but also regrettable. Because once formed a so-called "good" definition of front-end engineers in mind, we will find themselves never seem to become a good front end engineer our own definition of. This is not the future do not know when to expect. This is enough to make us reflect, we can not "excellent", what is our own lack of effort and no talent, or the definition of "good" is the word in question.

1. omniscient

Remember fatigue in the front of this map?

Yes, good front end engineer mastered almost everything on this chart. They are not troubled front-end fatigue, they can keep up with the pace of technology refresh every iteration, the latest tools and techniques easily in the bag. In most cases, they do not need to view technical documentation and manuals, because those things seems to exist in their minds. Whether it is writing a regular expression, or call the API, or whether to deal with complex JS code, they can come in handy.

2. Perfect Code

Every code review, my heart is very disturbed, because they are ugly and poor performance of the code is about to exposure in front of colleagues. Good front end engineer never the trouble, on the contrary, their code is often used as a template to accept all worship. Simple, elegant and efficient. There is a saying how to say, pretty unlike Strength. But why beautiful is not enough, even the comments are just right. In short it is a word, I can not refuse to give you a reason to praise it.

3. extreme focus

在这样一个时间被互联网不断撕裂的时代,专注早就成为了一种奢侈的品质。而优秀的前端便享有这份奢侈。他们似乎感觉不到疲惫,不是在写代码,就是在去写代码的路上。当大多数人都沉迷于吃鸡农药等游戏中时,他们却始终让自己沦陷在代码的世界里。请你给我一个他们不优秀的理由。

传说很难照进现实

不知道你的身边有没有做到以上三点的前端工程师。这种人当然存在,但作为普通前端的我们可能根本接触不到他们。因为能做到三点中的一点都已经远远不止优秀这个词可以形容了。 做到两点或者以上的人应该已经不会是单纯的工程师了,至少已经是leader或者是CTO了吧。我们可以把这些传说中的特质视为自己的奋斗目标,但我们不应该把“优秀”定义的如此高不可攀,不近人情,让大多数勤奋的前端工程师们与优秀“绝缘”。

 

#五步,让优秀触手可及

1. 承认自己不知道

是的,你没看错,承认自己不知道绝对是一种优秀的表现。前端技术的爆炸式发展带来了很多创新的理念和极致的体验,它早已无处不在。但同时,它也让前端开发者们处在需要时刻跟上前端发展步伐的迷茫和痛苦中。若不加判断的追逐这种日新月异的技术进步,就会走入什么都学了一点,但什么都没学会的境地。

不知道所有的技术没有关系,你也不可能都知道。大胆的承认自己不知道,比打肿脸充胖子假装自己知道的人要优秀的多。

“React好复杂啊,要加上ReactRouter和Flux才能写大型应用”

“嗯嗯,我也这样觉得(内心:React是什么。。。)”

“那你平常用React做什么?“

“。。。(卒)。。。”

2. 新技术 != 合适的技术

你可能不止一次的听到过这样的嘲讽:“什么?你还在用Gulp?太过时啦,现在大家都用Webpack,比Gulp好用多了”。我不知道这种嘲讽有什么道理。新的技术就一定比原来的好?

脱离了实际的应用场景去评价工具的好坏就是耍流氓。我们学习和使用新的技术,一定不能只是因为它新它酷炫,而是因为它能够更好的帮助我们解决当前的问题。如果旧的技术已经帮我们完美的解决了问题,那我们完全可以选择忽视新的技术。

下次再有人单纯的因为没用最新的工具来怼你,你就大胆的对他说:“小孩才分新旧,大人只看利弊,对解决问题有利的才是最好的。你呀,too young too simple。”

3. 有效地利用资源

能记住大量的技术细节当然是强大实力的体现,但记不住并不代表弱小和拙劣。在这样一个信息量如此奢华的互联网时代,大多数的知识都可以在5分钟内百度谷歌到。很多大的公司不是喜欢将一些小业务外包出去吗,我们也可以把自己的一部分记忆“外包”给互联网。

这个道理就像计算机。内存的空间是宝贵的,而硬盘则没有太多空间上的烦恼。我们的大脑就像内存,而互联网就是我们的硬盘。我们只需要在大脑里存储空间占用极小的索引,把具体而庞大的知识细节交给互联网这个巨大的硬盘存储。如果我们把大量的知识和技术细节存储在大脑——一个昂贵的内存上,这岂不是暴殄天物吗。

因此,最重要的不是记住多少知识和技术,而是在需要用到它们的时候能够快速高效的利用在大脑内建立的索引,然后在互联网这个容量几乎无上限的硬盘上找到它们。知道知识在哪,这绝对是一种优秀。

4. 不完美,怎么了

每个程序员都想写出完美的代码,可问题在于,这一切都得从写有问题的代码开始。最重要的是,我们得开始写,不能因为害怕不完美就不写。这和写作是一回事。我半年多没有在简书上写文章了,这并不是因为我不想写,而是我太想写出精彩、完美的文章,反而让自己无法下笔了。这让我陷入深深的自我怀疑中,怀疑我平庸的才华无法匹配我对自己过高的期待。但我今天还是写了这篇文章,因为我反复告诉自己:简单点,写作的方式简单点(这句话自带旋律…)。

写代码也是这样,它得先被写出来才能给我们让它变得完美的机会啊。事实上,完美的代码并不是写出来的,而是改出来的。debug的能力比coding的能力还重要。我很喜欢这样一句话:“Software is soft.” 软件是软的,代码也是软的。还记得我们小时候玩过的软软的橡皮泥吗?没捏好怎么办?没关系啊,反正它是软的,摊平了重捏啊。写代码就是这个道理。

5. 能沉进去,也能跳出来

我们都认为,优秀的人之所以优秀是因为他们能够让自己沉浸在自己所做的事情中,不受外界的打扰。这当然是对的,只有专注、聚焦在一件事情上,我们才能把那件事情做好。优秀的前端工程师一定是那些始终磨练着自己的技术和密切关注着前端领域发展的人。是他们的专注和不知疲倦造就了他们的优秀。可是事实是这样吗?并不完全是。

前端开发的脚步已经渗透到了人类社会的方方面面,每个行业都需要网站,都需要找到和特定人群交互的方式,而前端技术正是这类需求的最佳解决方案。作为前端开发者的我们,如果仅仅把自己局限在前端技术这个狭窄的领域内,技术的创新又从何而来呢?

我自己是音乐爱好者,平常会录点音乐视频自娱自乐。有一天我心血来潮,想知道前端领域和音乐有没有碰撞出什么火花。上谷歌一搜索,便发现了很多优秀的JavaScript的音频库。什么howler.js,loop.js,audiosynth.js, tone.js,全都是music library for JavaScript。试问,如果那些作为前端开发者的音乐爱好者们只关注前端而放弃了自己的爱好,那么,还会有这些优秀的令人脑洞大开的前端音乐工具存在吗?

跳出前端,在不写代码的时候继续培养自己的兴趣和爱好,让自己接触到不同的领域和行业,从而使自己拥有不同的视角。正是我们把各种各样的兴趣引入到了前端的世界里,才让前端的创新层出不穷,技术蓬勃发展。

小编是一名有多年前端开发经验的工程师,目前转向了前端讲师岗位,作为一个老师在这里和大家定时分享一些前端和编程方面的知识,并且给大家总结和整理了一套完整的前端学习资料,想要领取并跟我一起学习的同学可以加扣扣裙:1017226689,真心希望能够帮助大家,谢谢。

Guess you like

Origin blog.csdn.net/qq_40163373/article/details/90726700