有志于从事代码编程工作的新生力量,通常会有一些疑惑,不知道是做前端好还是后端好。这里,笔者作为一个工作6年的程序员,谈一谈自己的想法,希望可以帮到大家。
不要给自己设限。前字节跳动CEO张一鸣先生曾经说过:我刚参加工作时,不分哪些我该做,哪些不该我做。我做完自己的工作后,我都会去帮助同事解决问题。工作前两年,我回家都是半夜,回家以后还会继续编程到很晚。这样的工作态度,直接导致的结果是,张一鸣先生成为了公司的技术骨干,第二年,他就连升两级成为了中级经理,管着四五十人的团队。所以,回到题目,如果在条件允许的情况下,可以尽可能地同时去了解、学习、实践前端和后端。
纸上得来终觉浅,即便你博览群书,学富五个集装箱,真正在做项目的时候,总会跳出各种你意想不到的问题。而真正能够解决这些实践中遇到的问题的能力,才是企业更为看重的。这也就是为什么很多企业的HR会比较看重
求职者的项目经验。如果说,现在在读这篇经验的你,已经有了一个很好的工作机会,但是因为你没有想好是做前端合适还是后端合适的话,不如先把握这个机会做起来。在这个过程当中,答案也会越来越清晰。即便后来发现这个机会不太适合你,但是过程中学到的实践经验,无论是前端还是后端,都不乏通用性和启发性。与此同时,你还获得了项目经验和物质回报。这个时候你再想转方向,也会比之前容易很多。这波真的不亏。
对于入门来说,编程语言分为解释型语言和编译型语言。前端语言包括JavaScript、CSS和HTML。都是解释型语言,而最强大的解释器,很可能就是你现在阅读本文时,所使用的浏览器。所以,你所需要的仅仅是一个编辑器,最朴素的记事本,也可以帮你完成一段简单的前端代码的编写。至于后端,不管是解释型语言,还是编译
型语言,你都需要额外安装解释器或编译器,以及学习如何去使用它们。从入门成本来说,前端会相对低一点点。从成果展示上,前端页面的成果展示,很容易放到一些代码服务,比如codepen上,直接分享链接进行展示。相对来说,展示成本会低一点点。不过这些成本上的差距并不大,可能花几个小时就能解决。所以大可不必太过纠结。
实际问题聊完,说一下笔者的亲身经历吧。笔者曾经在企业中做网管,在工作中自学Java解决工作中的实际问题,从而走上了开发的道路。可是真正从事开发工作后,最初做的是前端开发。整个过程中,发现之前Java中学到的内容都可以应用在前端开发的工作当中,比如页面中需要对一些条件进行排序,遍历数组等等。同时还会结合自己之前学到的Java内容,与后端同事一起想办法给出建议。当然一个项目当中也不可能仅仅涉及到前端和后端。对于服务器的基础设施上,因为项目中使用了websocket,而前端请求应企业要求,需要经过nginx转发,笔者也会自行搭建一个最简单的前后端小项目,结合nginx,告诉运维同事该如何配置nginx实现websocket请求转发与请求保持。所以,虽然看起来我只是做着前端的工作,但是仍旧有很多机会去接触后端和运维等等。
最后,再来根据行业趋势做一下展望吧。现在是年5月。当下前端框架大多都是node.js构建的,所以你在写前端项目的过程当中,或多或少,一定会接触一些后端知识。其次,包括React.js的server