先抛一个小问题哈,大家在日常开发过程中写过后台服务代码嘛?
大家有看过后端的同事写的代码嘛?
我之前其实问过我自己周围的同事还有一些朋友,也回想过自己之前有没有看过,有些兄弟就表示:我就是个前端,我关心这么多干啥。
有这种想法肯定不能说错,领多少钱干多少活儿。但是,嘴上说不会没关系,手上有"真功夫"就行。之前我旁边的兄弟也是前端,我俩一个职级,一样的职位都是前端开发。
这兄弟有次公司一个小项目,找不到后端,问他能不能凑合自己写。直接断然拒绝,理由更充分,从来没接触过后端,Java一点儿没学过。
但是这两天我知道他接了个小活儿,前端我帮忙给写了点儿页面,大部分前后端的活儿他都是一把捏了。我C!我看他搁那儿哗哗的写后台,用的Spring,什么数据库、Redis的,一点儿问题没有。
这时候我才知道,原来有的兄弟是"扮猪吃老虎",有些兄弟是"扮猪"~
说回正题,我始终觉得真的没啥前后端之分,现在前后端都是人为分出来的,原来的程序员都是前后端、SQL啥的一起写的。当然那时候还是JSP呢!
但是如果你想具备完成一个工程的能力,那前后端是都要会的。之前看过一本书,吴军博士写的《硅谷来信》把工程师分为5级:
- 第五级:能独立解决问题,完成工程工作。
- 第四级:能指导和带领其他人一同完成更有影响力的工作。
- 第三级:能独立设计和实现产品并且在市场上获得成功。
- 第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代。
- 第一级:开创一个产业。
且不说上面的几个等级,只说"五级",完成工程工作。大工程讲究分工协同,各种工种搭配着干活儿。小工程可不讲这些,基本上就是一个人或者两个人干。
这也是为什么咱们看到BOOS或者智联上招聘要求里面很多都会讲:前端工程师需要具备一定的后端知识。
那么为什么建议大家不要用Node.js搭建后端服务,而选择Java,理由更充分。
大部分企业招聘的时候除了上述要求还会附一句:Java开发经验者优先!
其实现在大部分的后端服务都是Java搭建的,这一点不可否认吧?也正是因为大多数是Java,所以市场上后端工程师语言需求上也大多是Java,而大多数的Java工程师在开发的时候又会主动选择Java开发,循环往复。
这也是为什么明明有很多更优秀、性能更好的服务端语言出现,但现在Java仍占据主流位置。
可以预期的是,再过5年、10年,Java仍然会占据相当大的市场,再先进的技术也需要人去使用,GO很牛、Rust很牛,但是他们没办法形成主流的原因就在于人。
而老板们、客户们可从不关心用的什么技术栈,他们关心的是效益,关心的是能否在最短的时间内最大化的满足需求。
历史的市场选择了Java,当我们需要切入到这个领域的时候其实首选的就应该是Java,而不是我们熟悉的Js,以及Js衍生框架Express.js、Koa.js、Nest.js等等。
我承认很多小项目用Js开发真的很快,但是也确实会遇到一些问题。而这些问题很多时候你在网上找不到答案,问AI貌似也没有答案。
而选择Java就不一样了,受众广泛所以意味着不止你会遇到这个问题,解决问题的速度就更快,其实算下来项目的事件并不一定比你用Js开发慢多少。
希望前端的兄弟们学学Java,你可以说不会,但是不能真不会。
共勉~