6年架构师针对web前端小白,作出的职业规划建议
本人从事前端6年了,目前在广州从事架构师。业余总结了很多学习资料,在不断总结的过程中提升自己的技术水平,跟进时代的发展,也想帮助更多想从事前端工作的朋友。本文我会普及一些入门和提升建议,思想提升了,路线明确了自然就可以展开高效学习。确定方向做职业规划的目的是避免迷茫,而避免迷茫最有效的方式就是确定明确的方向和目标。
对于任何一个技术岗位,都有固定的两个方向:技术专家(架构师)和 开发经理。前者偏重技术,需要你在当前领域钻研得很深;后者偏向管理,需要你在对技术有很深掌握的同时,可以带领团队完成项目的开发。当然,两者并不是鱼与熊掌的关系,你可以同时成为技术专家和开发经理。对于技术专家和开发经理两个方向的选择,更多取决于你自身在工作中多巴胺的分泌情况。当你专研技术时,多巴胺分泌得更多,感到更兴奋,或许你会很容易成为技术专家;反之,当你跟团队一起做业务时,多巴胺分泌得更多,更有获得感,那么你可以尝试向开发经理方向发展。当然,你也可能做什么都没有分泌太多的多巴胺,那么,你可以在尝试一段时间后,转型其他职业,例如产品经理。前端作为核心是用户体验,与用户最近的工程师,转型产品经理,阻碍会小一些。况且,文艺型前端布道人豆瓣前端负责人张克军认为,前端工程师正慢慢演变为产品工程师,前端和产品离得确实很近。做业务还是做架构做业务,时间要求比较紧,代码质量要求高,可参考的代码比较多,业务知识需要学习。做架构,时间稍微自由,对经验要求比较高,无可参考代码,专业基础知识需要深刻理解;最主要的,做架构的你既是开发,又是用户,还是 PM ,只有 80% - 90% 的明确目标,并在开发过程中不断微调最终的目标。对于一个新人,其实不用纠结,做业务才是好的选择,而且做 技术含量高、使用流行技术的业务才是最好的。原因很简单,架构的最终的目的是解决业务当中的问题,你没做过业务,哪能知道业务的问题在哪,你都不知道要解决什么问题,如何做好架构。所以,从业务做起,是新人最好的选择,也是唯一可行的选择。而选择有技术含量、使用流行技术的业务的原因更多在于成长,这样你的成长可能会更快、成长道路可能会更直。当然,这只是『可能』,不同的人适合不同的业务,所以不要强求一定『技术含量高、使用流行技术』的业务,更多的而是改变自己,去 适应团队、适应业务,这样才能 更快地成长。技术的学习说了半天,到了最核心的问题了,对于一个新人如何学习技术?笔者给的建议是:千万不要囫囵吞枣,先把当前使用的技术学透用熟,才是最重要的;千万不要在还没把当前使用的技术吃透之前,去学新的东西,不管新的东西有多火。就像上文所说,不同的框架,有不同的核心,有不同的思想。两个框架代码相似之处的思想不一定相似,例如 Angular 和 Vue 都有双向绑定,虽然效果相似,但是实现思想和内部实现方式是截然不同的。还在入门阶段的你,会被各种思想充斥头脑,反而会更不清楚。一定的时间后,当你理解透一个架构体系后,你可以 类比地去看 更多的架构体系。这时候,你会发现不同架构很多东西都是殊途同归,理解得很快。当然,理解透一个架构体系,有人需要一年,有人需要三年,还有人可能需要更长时间。为什么有这么大的区别呢?因为有些人在开发中,并不认为完成就可以了,会在开发中,追求代码的优美,会不断优化自己的代码,让自己的代码性能更好、可读性更高,并通过长时间的积累,达到 量变导致质变 的程度。即使一个特别聪明的人,没有『量』也不可能『质变』的,只不过他的量可能比其他人少而已。要提醒的一点是,学技术,一定要结合你所在公司、团队的技术栈。当然,在学习架构的同时,不要忽略两样最基本的东西,一个是 技术基础,一个是 开发规范。技术基础是一切开发、架构的前提,没有一个好的基础,是无法让你自身的技术水平达到足够高的维度。例如你对于继承理解的并不透彻,你很难理解清晰 React 的内部实现。对于开发规范,笔者在带应届生时特别注意让他们遵守。代码规范比比皆是,但是很少有人严格遵守。究其原因,多是在代码规范制定之前,已经有自己的一套代码习惯,很难短时间改变自己的习惯。而应届生,一般来说代码并不多,还没有形成自己的编码习惯。这时候,开始遵守一定的规范,会促使他们养成一个较好的编码习惯,为后续的成长打好基础。下面,列举一下开发规范的几点好处,让大家明白代码规范的重要性:规范的代码可以促进团队合作。规范的代码可以减少 Bug 处理。规范的代码可以降低维护成本。规范的代码有助于代码审查。养成代码规范的习惯,有助于程序员自身的成长。
主战场 —— 移动混合开发随着移动浪潮的兴起,业务在移动端App 的需求量迅速扩大,应用迭代更新的频率也随之极速攀升,但与此同时纯 Native 的开发和更新成本成为了业务增长难以逾越的瓶颈。因此,引入一种开发更高效、成本更低的解决方案势在必行。
在当前的移动互联网环境下,iOS 和 Android 上的 App 已经成了每个互联网产品的标配。如果一个用户端产品并不提供相应 App 版本,几乎会直接定义成一个不完整的产品。而被互联网人尊为铁律的『唯快不破』—— 快速开发、高速迭代、低成本上线,同时也是移动时代每个开发团队所追求的目标。综合以上两点原因,『Native 搭台,Web 唱戏』的 Hybrid 开发模式,以『快』的特点赢得了大家的青睐,并纷纷投入大量开发力量,使这种开发模式迅速走红。当前最常见的技术架构方案有以下三种:基于 Web 的 Hybrid 解决方案:例如微信浏览器、各公司的 Hybrid 方案非基于 Web UI 但业务逻辑基于 Java 的解决方案:例如 React-Native基于 Web UI,但是为了追求运行效率,对 UI 展现逻辑和业务逻辑的 Java 进行了隔离的解决方案:微信小程序前端的未来对于前端的未来,或者说是互联网技术的未来,我比较认同阮一峰老师的一个观点:将来程序员只分为两类,端工程师 和 云工程师。端工程师,直面用户,为了用户能更好使用产品而殚精竭虑,包括传统的前端、Native、AR/VR、TV 端开发等;而云工程师,直面数据,将冰冷冷的数据转化为与用户息息相关的产品,包括分布式、大数据、机器学习等等。可以看出,未来前端,大前端,在2020有更多的发展性,现在学习前端,是最好的时刻。
我目前是在职前端开发,如果你现在也想学习前端开发技术,在入门学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加入我的前端学习交流裙:前面:851 中间:231 最后:348。里面聚集了一些正在自学前端的初学者裙文件里面也有我做前端技术这段时间整理的一些前端学习手册,前端面试题,前端开发工具,PDF文档书籍教程,需要的话都可以自行来获取下载。希望本文对你有所帮助,有句话叫做“方法不对,努力白费”所有的前端大神都有自己的学习方法,而学web前端的学习也基本一致,而对于一个什么都不懂的初学者,根本不会知道该怎么学,这也是造成失败的最直接原因。如果你处在迷茫期,找不到方向。
发表评论 (审核通过后显示评论):