为何全栈
全栈工程师最近算是比较热门的话题了,特别是前端工程师对这个词更是浮躁,因为学会JS竟然就可以包揽项目中所有的端到端的开发,用JS写个前端页面,用node写个服务端,用React-native
开发个原生APP,再加上一句:所有能被JS重写的代码,终将被重写
,似乎了让前端工程师有了翻身的机会,毕竟目前来说想实现全栈最简单的便是用JS了。
何为全栈
何为全栈?懂得写后台,懂得写前端,能写个APP应该就能算全栈了吧?算,也不算。为什么说算?全栈算起来不就是这几个端嘛,后台,web端,移动端,都能搞定为什么不能算全栈。因为全栈,不仅仅是代码,个人对全栈的定义是能够独立完成一个网站或者一个程序的所有事情
。所谓所有事情,代码自然是第一,其次当属部署,想要完成一个网站,必须部署到服务器上,那么服务器相关的知识应该需要一点吧;为了让网站能被发现,SEO需要了解一下吧;想要监控网站的状态,运维需要知道点吧;为了让自己的服务器不被攻击,安全相关又需要有所涉猎,等等等等。这样算来,全栈工程师,似乎变成了一个打杂的。
是否需要全栈
用打杂的
这个词来形容全栈,似乎有点过分,但是仔细一想,确实是那么个理,毕竟全栈,意味着所有事情需要自己一个人搞定,就意味着所有事情需要一个人来完成,从建站开始,到后续所有事情。全栈,就意味着每个方向都能有所涉猎,也就意味着不可能每个方向都精通。这让全栈这个词,让人又爱又怕,怕一惹上,米没得到,反惹一身骚。怕花费了精力却没得到应有的回馈,怕什么都学却最终什么都不懂,也就开始思虑是否需要全栈这个问题。
对于这个问题,笔者认为其实并不需要去过分解读,是否需要全栈,应当根据是否会成为全栈为出发点来考虑。笔者本人应该算个小全栈吧,毕竟确实大部分事情都又涉猎,然后也自己独立完成了个人博客的搭建及上线(推广差了点),而且并没有刻意而未知,成为全栈是一个很自然的过程。
笔者转行多次才进入开发这个行业,刚开始没人愿意要这个学了两个月C++ 就来找工作的菜鸟,于是开始运维,学到了服务器相关,数据库相关,再后来转行做Java开发,后台语言基本搞定,SSH都没问题,一个网站大体的流程也都清楚,后来一直从事前端开发这个岗位,又因机缘巧合接触React
并成功引入公司项目中,再学学React-native
,操作系统因为嫌windows
不好用而切换到了Ubuntu
,至此也算是该接触的都接触了,所以当想要上线一个项目的时候基本没感觉到压力,因为早在我决定搭建博客的时候,需要的技能都已经准备好了,完成这个博客的上线也就是体力劳动而已。
所以其实对于是否需要成为全栈这个问题还是很容易回答,如果可以全栈,不要拒绝,如果觉得不可以,那就不要尝试,因为不同端的处理方式,不仅仅是语言问题,更多的还有底层思想就不一样,比如当从前端切换到后台的时候很容易忽略日志记录,也很容易忽略逻辑层和数据层的分离,想要完整的成为一个全栈工程师,最好是能做到相关的岗位都体验一下,否则对于某一栈的理解可能就没那么深入,导致成为一个项目的短板。
如何全栈
全栈不易,如果非要趟这趟浑水,笔者认为:
第一,不要太过可以去追求全栈,如果没有实际工作的支撑光靠自己学习,很难;
第二,至少精通一个方向,如果做不到某一个方向的精通,就不可能有精力去考虑更多;
第三,保持热情,这个是为了让你在失败之后有更好的理由安慰自己。
网友评论