Web 前端的路该怎么走？
怎么走？往高处走。毕竟人往高处走，水往低处流。 但是对于高处的定义每个人都是不同的，但无非就分两个个方面： 如果在这两个点上面能够做到的话，越高的收入，越强的技术，越大的影响力，那么无疑已经能够为这个社会做出很大的贡献了，已经站在一个高的位置了。也就达成了往高处走。对于这个任务的话，对于自己的当下的工作，行动该如何分拆。在开始拆解之前，先上干货，给大家分享一个免费的Web前端训练营！如果您是新手，或者刚刚入行的同学，三天全直播授课，还有技术老师在线答疑，推荐大家看看：如果在这两个点上面能够做到的话，已经站在一个高的位置了，也就达成了往高处走。当然做到这两点一定是需要付出很多的努力。如果你现在是前端入门小白不知道如何努力往高处走，不如跟着Web前端高级讲师学习，有专职教学团在线督促、指导、答疑，深度打磨课程体系，为企业订单式培养人才，更懂企业用人需求，以实战带学习，重点现在课程0元免费体验！  下面，开始进行跟大家做问题拆解，尝试逐步触达我们的目标。 据我这几年了解到的情况，不少的前端工程师其实都从其他的领域中进入到前端开发来，有人可能因为对写代码产生了激情，有人可能因为前几年互联网行业日渐长高的薪酬，有人可能因为对创造一些东西有兴趣，而 Web 前端是快速实现这些想法的工具，所以就不知不觉地加入到这方面的开发来了。 如果投身到这个职业上面的话，要探讨的就是这个职业的广度和深度了。也就是我在上面说的影响力。但不管在深度，还是广度方面，可能都会有所偏差。我也想在这个地方说一下我说认为的深度和广度。 在深度上可能有同学认为，应该多去熟悉几个前端的框架，工具，甚至深入去看相关的代码。但很多时候又感觉吃力不讨好。原因是，感觉花了很多时间去阅读，去研究，好像又不在实际的业务上面运用得上，似乎对于自己去解决一些问题没有起到太直接的作用。 其实，对于深度，除了去了解框架看源码这种窥探真相的东西，更多的应该是需要去了解浏览器实现，计算机原理，通讯协议等。在过去几年的面试中，会发现很多人对于一些基本的实现原理都不太清晰，比如说 css 的动画，浏览器会走哪几个步骤，渲染到给用户看，和 js 来实现的动画又有什么异同。好多人都答不上号。好多时候，这些问题并不能够在 Stack Overflow 上面找到答案，但是解决一个问题是否优雅，就得看自己能够熟悉各个模块的运作，而不是拼凑几个 Stack Overflow 的答案，或者找几个 node module 去解决的。久而久之，这样只会让自己陷入搬砖的境地，丝毫得不到提升。 从广度上可能有同学认为，去学习其他领域的知识，比如跳去学 Machine Learning 啊，后端的开发啊，或者是区块链相关的东西等等。但实际上到头来，又会发现一个问题，去上了一些 online 的课程，或者自己去找了不少的书籍资料等，过了一段时间之后，可能这些知识也忘得七七八八了。感觉上，学习多的东西，肚子里装的墨水了，但是实际上这都虚饱。 其实真正的广度，应该是基于自己的专业领域，比如自己是前端开发的，站在前端开发所熟悉的一些工作流，技术模型，去套入到其他的领域中学习。比如如何用 JS 的对象机制，原型链等深入理解，去进一步从侧面了解 Java Objective-C 中的继承，进而去熟悉一个新语言的开发。或者是根据自己的兴趣，激情（必须得有相当大的激情，而不是三分钟热度）从一些工具切入，顺着自己的兴趣和业务工作去了解一些新的开发工具，跨界的开发工具，比如 React Native，Electron 啊之类的。这样可以不失激情，也给自己带来启发，了解到其他平台（除去浏览器之外）开发，需要了解到的知识点，这样的话，自己的技术广度也会慢慢拓展开来。而不是满目地拓展。 在深度和广度的探索过程里面，因为涉及到的知识点很多，也再提一遍，在开课吧上面，有丰富的课程，也跟一线大厂的业务有紧密的结合，遇到困惑的时候，也有专家在线答疑。尤其是如果刚刚入行的同学，在基础相对薄弱的时候，可以通过大量的实践以及课程来提升自己的能力。深度和广度的学习都将会使个人专业在职业领域有更大的影响力，那么在这个领域要想当赢家，或者说要增大自己影响力，一定要看清形势，顺势而为，你赢的概率就大，逆水行舟，你就费力不讨好。无论什么行业，你不做到很好，就是没前景。所以我建议需要更高效的系统学习，深度打磨专业知识。开课吧无忧讲师的课程很不错，身边0基础学员也都说能学到很多干货，不妨你也报名试试，重点现在免费学习！ 在职业发展的路上，也许会碰到一定的发展瓶颈，在求职的路上，转行升级打怪的路上，除了下面提及到的软实力，一些知识点，也需要持续地温故知新，我认为可持续地吸收不同的经验，还是非常有必要的。 此外，应该多培养的广度是非技术上的广度，而往往这些软实力才是让你银子日益增长的来源，毕竟我们是在一个人性的社会里面，而不是计算机网络里面。你需要日益打交道的除了计算机，还有人。 为什么说往往软实力才是让银子日益增长的来源呢？有一句话：『贫穷限制了我的想象』，其实这句话可以反过来解读：『想象力也许可以帮你摆脱贫穷』。突破了想象的限制，你就可以尝试奔着自己的目标努力前进了。这个时候的话，往往不是阅读一些技术书籍可以帮助到自己的。 扩展自己的兴趣爱好，尝试去阅读更多历史相关的书籍，纪录片等，会让自己的视野扩展开来的。有时候虽然看上去好像不太跟自己的直接技术挂钩。但是却会教会你如何突破认知上限，做到融会贯通。我自己的话，当时看了，而且就算是科技届也会有不错的书籍，开拓自己的事业『失控』，『人类简史』，『Code Rush』（一部纪录片），你会发现还有这样的活法，还有这样的事情发生过。 往往，在职场发展路上，往深处走，你都脱离不掉，技术管理，人员管理，个人社交管理等。而这些软实力，就得看你的谈吐，知识图谱，兴趣广泛度等的东西了。这需要的是年月的积累。有的人可能会觉得这会装，这会让人烦躁。但实际上，这些都是非常自然而然的事情，培养兴趣多元化，会突破你的想象力。如果你不想『贫穷』的话，多做做新的尝试，多开开脑洞吧！ ---------------------------------------- 说了这么多，也说说自己的职业背景 我也是从前端入行的，看着重构，混合应用开发，Action Script to JavaScript 的发展，也看着 Node.js, backbone.js to Angular.js to ReactJS to Vue, Dreamweaver to VScode,  Webpack to Rollup 等发展过程。不说这些技术，工具谁好谁好谁坏， 他们都是特定的历史时期的必然产物。只是随着流行，以及人们的使用喜好，还有生产要求一步一步在推进罢了。 打滚过前端开发，后来我也接触了越来越多 iOS, Android 或者 Server 端的开发。最近发的时间比较多的是处理网络通讯，还有 Computer Vision 相关的东西。技术上基本上从浅层，到底层一路跑过来。越到后面，越发觉得自己的知识不够用。 而且现在也在创业阶段，所以去年顶着上，还得去见不同的客户，销售自己的产品呢。逼着自己提升自己的软实力。 虽然过程很辛苦，但是做这份总结的时候心里是很满足的，也不后悔过往的一些决定。希望能够给不少前端的同学，或者是还未深入到社会里面的同学们一些启示。 总结一句话：有深度有广度，软硬结合。祝你好运。