您好,欢迎来到六九路网。
搜索
您的当前位置:首页前端工程师的职业发展路线在哪?

前端工程师的职业发展路线在哪?

来源:六九路网
前端⼯程师的职业发展路线在哪?

我猜想国内很多前端⼯程师都想过这个问题吧。前端⼯程师往往属于产品研发团队,但却很容易被边缘化——后端⼯程师觉得⾃⼰才是主⼒,没有后端⼯程师产品就不存在了,但没有前端⼯程师产品还能有,只是界⾯⾮常糟糕⽽已。这时候前端⼯程师就开始感觉⾃⼰像是个外包似的,只是来帮别⼈完成⼀些任务⽽已,对产品没有归宿感。这时候前端⼯程师的职业发展路线在哪?成为⼀个更好的外包吗?要做关键任务

我觉得,要别⼈重视你的⼯作,不仅仅是你做得好就⾏了,还要求你的⼯作对别⼈来说⾜够重要。这跟产品定位有关——例如说对搜索引擎来说,前端对产品的影响不会⾮常⼤,⽤户只要能搜索到⾃⼰想要的结果就⾏了。搜索引擎最复杂的交互可能就是搜索框的⾃动完成了,但有⾃动完成和⽆⾃动完成的区别到底有多⼤呢?跟准确率和召回率相⽐,有没有⾃动完成实在没有多重要。况且,⾃动完成的结果本⾝也依赖于准确率和召回率,所以后端⼯程师⽐前端⼯程师重要得多。

因此,前端⼯程师在选择⼯作时⾸先要选择前端⾜够重要的⼯作。重要⽤什么来衡量?务实的话,是钱;务虚的话,是产品。如果⼀个功能只能在前端实现,并且这个实现能够提⾼多少的转化率,使得多少原本不产⽣利润的点击产⽣利润,那么前端对这个产品来说⼀定⼗分重要。可惜往往跟钱相关的事情不由前端⼯程师来研究和决定,所以这部分⼯作还是安⼼交给产品设计师来做吧,让他们来决定怎么样的产品能赚钱,然后由你来完成这个产品的实现,这时候你的⽬标就是把产品做好。

回到刚才的问题,有些产品更依赖于后端,例如搜索引擎,当然也有些产品更依赖于前端。什么样的产品更依赖于前端?就是后端难以建⽴起技术壁垒的产品。这类产品要抄袭⼀个功能差不多的并不难,因此只有细节做得最好的能够获得⾜够多的⽤户。这类产品在 iOS AppStore 上很常见——有很多 app 拥有相似的功能,⽽其中只有⼀个交互设计得最好的能够获得绝⼤多数的⽤户。尽管 app 不存在 HTML +CSS + JS 这个前端,不过道理是⼀样的。当年 Tweetie 能够取代⽼牌的 Twitterrific 成为主流 Twitter 客户端,靠的就是交互上的创新,外加不差的性能和稳定性。如果交互对于⼀个 web app 来说⼗分重要,这个 web app ⾃然也就需要⼗分优秀的前端⼯程师。

总结⼀下,由于前端⼯程师的价值在于实现复杂的前端细节,因此如果可以选择的话尽量选择⼀个细节决定成败的产品。如果产品的成败已经由后端⼯程师决定了,例如某某数据规模要么能做要么不能做,那么这个产品就没你什么事了。要懂核⼼业务

每⼀个公司,每⼀个项⽬,都有它的官⽅语⾔。不是指普通话,也不是指 C++,我指的是⼤家围绕什么问题来展开项⽬,什么问题的讨论能让⼤家为之兴奋。举个例⼦来说,百度的官⽅语⾔就是搜索,跟搜索没有关系的产品也会使⽤「准确率」、「召回率」这样的术语⽤来做⽐喻。前端⼯程师有多少知道什么是「准确率」、「召回率」的?估计不多,因为前端根本没有这样的概念。这时候前端⼯程师要跟后端⼯程师沟通也就不容易了。久⽽久之,你对⼈家很兴奋在讨论的什么 O(1) 还是 O(n) 不感兴趣,⼈家也不理解你的 {} != {} 是什么意思,你就被边缘化了。

如果不想被边缘化,就算前端不是公司的核⼼业务,你也必须懂公司的核⼼业务,然后说着官⽅语⾔,⽽不是前端的⽅⾔。这就意味着,如果你在⼀家后端技术很强⼤的公司,你最好也懂后端技术。我知道国内有很多前端⼯程师并不是计算机系毕业的,就算是国内的教育也不怎么样,这时候你只能恶补相关的基础知识了。如果你不懂这些,就算你能把整本《JavaScript 权威指南》背下来,你说的还是⽅⾔,说官话的⼈还是会鄙视你。如果公司主要服务于某个垂直领域的话,你必须对这个垂直领域⼗分了解,随时能⽤这个领域的⾏话来沟通。

总结⼀下,由于每个⼈已经熟悉的领域都不⼀样,所以没办法说哪个领域更适合前端⼯程师。如果你原本已经有某个领域的从业经验,进⼊服务于该领域的技术公司总是有显著优势的。如果你进⼊了⼀个⾃⼰不熟悉的领域,那就⼀定要补充相关基础知识,否则你对这个领域不感兴趣,这个领域也不会对你的前端⼯作感兴趣。实际例⼦

为什么我选择加⼊?主要考虑的还是上⾯两点。

我在百度的时候⼀直就在想,既然前端对搜索引擎来说不重要,那对什么类型的应⽤来说⽐较重要呢?当时看到 Facebook 做得不错,所以觉得社区会需要复杂的交互,⽽如果复杂交互做不好则会影响⽤户使⽤,因此前端对社区来说应该⼗分重要。现在看来,也不完全是这样⼦。前端对社区来说确实重要,但 Facebook 并不是⼀个典型的例⼦,它是⼀个前端做得尤其优秀的例⼦。

在我了解到豌⾖荚 Windows 客户端的实现⽅式时,我⽴即意识到它可以通过我的第⼀个判别标准——前端对它来说是关键任务。它使⽤Webkit 做了⼀个容器,然后把所有的交互都通过 web app 的形式做在⾥⾯,然后通过⼀组接⼝跟 native 进⾏交互。如果⼀个应⽤决定要这样做了,那么前端就能影响到它的成败,因为这时候前端后端的分隔线已经很明确了。如果⼀项功能应该由前端来做那就必须由前端来做,后端基本不可能成为实现此项功能的备选⽅案,这时候前端就具备了⽆可替代的位置。

⾄于第⼆个判别标准——豌⾖荚的核⼼业务是什么?我觉得豌⾖荚做的很多事情都是以产品设计为起点的,⽽这⾄少是我感兴趣并且也有点感觉的东西。从细节上来说,就是⼤家喜欢谈论的事情是⼀致的,例如产品如何做⼀些很智能的设计,最新的技术⽅案如何能够巧妙地帮助这些设计得以实现。 说「设计就是创造性地解决问题」,这是我喜欢的解决问题⽅式。这个世界上能够把逻辑转化为代码的⼈⾮常多,同时有⼀定数学和计算机专业基础的⼈也不少,因此要拼谁的解决⽅案更好的话那还要加上创造⼒。

我知道国内有很多产品设计师,在考虑产品时⾸先想到的是百万千万级⽤户量,这样⽆论从单个⽤户⾝上赚到的钱多么的少,最终产品还是能赚⼤钱。百度曾经就属于这种思维⽅式,但这不是我喜欢的风格,因为没有明确的⽬标⽤户定位。我知道国内由很多⼯程师,在编写代码时⽤尽各种技巧以展⽰⾃⼰过⼈的才智,但是这样的代码还有可复⽤性吗?除了作者本⼈没有⼈能够维护啊。不同的⼈有不同的品味,能够跟品味⼀致的⼈⼀起⼯作是⼀件幸福的事情。额外信息

这个话题到此就结束了吗?其实不是的。关于前端⼯程师的职业发展,我还有很多可以说的。不过我觉得找到⼀份让⾃⼰满意的⼯作必然是其中的第⼀步,因为你必须对⼯作充满兴趣,然后才能把事情做好,所以我把这部分内容放在最前⾯并且先发出来了。如果你不想错过后继讨论的话,欢迎本博客。

此外,豌⾖荚现在还招前端⼯程师,包括全职和实习,有兴趣的可以联系我:。对于全职的前端⼯程师,我期望你熟悉 web app 的开发与调试,如果我让你⼿写⼀个 HTTP GET 请求你连个⼤概都写不出来,那我就要怀疑你平时都有多少时间对着 debug console 调试 AJAX 代码了。对于实习⽣,我期望你⾄少有扎实的 web page 基础,能够⽤简洁的代码实现符合语义的页⾯。⾄于豌⾖荚提供什么?就是我前⾯所说的,但还有个前提——⾄少我们要有⼀致的品味。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务