全栈速成指南

有很多粉丝问我,如何才能成为像我一样的全栈工程师,是不是很难,要花多少年?说实话,一年前我都不是全栈工程师,我是个资深的后端研发工程师,但由于工作无法让我更进一步,我转向了全栈,专做AIGC应用。

为什么要做全栈工程师呢?有几个原因,首先当然是钱多。

全栈开发是科技行业最抢手的工作之一。据 Glassdoor 称,在美国,全栈开发人员的平均年薪为114,000 美元。Indeed 列出的平均年薪为 120,749 美元。而 Stack Overflow 的开发者调查显示,全栈开发者的平均工资为 14 万美元。

其次是程序员转全栈是必然,还记得几年前兴起的devops吗?开发/测试/运维一个人干,这个运动基本就把测试和运维人员砍掉了一半,这是技术发展的必然,当一个开发就能自己做测试,自己运维上线生产环境,那测试和运维确实可以砍掉了。现在AIGC的发展,又到了一个工作职位革新的时候,很多产品其实不需要专职的前端,后端稍微学一下,问一下chatgpt,就能写出来这些产品的页面来,然后去外包平台找几个设计师做几张美图(设计师其实也是在用AI画图),挂到这个产品上,产品就能上线了。看见没有,专职的前端和后端也会不需要,只需要一个全栈。

那么问题来了,全栈也有很多技术栈,最简单易学的全栈技术路线是什么?难道全栈就是把前端/后端/算法等所有的细分技术都全学一遍?

 

 

 

我的理解是,有计算机科学与技术的内功,外加在前端/后端/运维三大板块里面各有一门技术你很熟练,你就能成为一个全栈工程师了,当然如果你做的是个AI产品,你还得懂一点算法。

如果你是一个新手,上来就想做全栈工程师,最简单的路线就是uniapp + unicloud。在国内,跨平台客户端开发首推uniapp, 不是说它比国外的flutter, RN等框架优秀,主要是你看看下图,国外的那些框架根本搞不定国内这么复杂的小程序市场,使用uniapp其实是你没得选。uniapp跟微信小程序一样,使用的是号称史上最无脑/根本没有学习曲线的编程语言vuejs,使用vuejs,你根本不需要触碰到js的闭包等有点学习曲线的东西,使用uniapp你也不需要手撕css来为各个设备适配页面尺寸,用flex布局就能解决大多数的问题,剩下的PC Web端的布局问题,也能通过官方给的示例搞定。

 

 

 

 

unicloud是个啥?相当于有人在腾讯云上部署了一个nodejs express云函数 ,你要做的就是用js写服务端的函数(接口),由于serverless,你的运维将变得非常简单。

 

 

后端一般都要连数据库的,unicloud搞得很花哨,用什么JQL语言来查询数据库,这些都是雕虫小技而已没必要学,你只需要抓住它的本质就行了,本质就是连的mongodb, 存的都是json文档。unicloud还提供了很多公共的模块,比如uni-id等,可以帮产品搞定注册登录功能。

如果你是一名前端开发,基本你可以用你熟悉的网页制作技术+unicloud,就能够快速的完成到全栈的升级。

而如果你是一名后端开发,你可以用你熟悉的后端编程语言外加uniapp,就能快速的完成到全栈的升级,比如我是一个Java开发,我就选择了uniapp+springboot云函数。你如果是php, python等等,都可以用相应的云函数框架比如flask等来作为你的后端。

 

 

 

当然云函数都需要一个API网关来接入,如果你的API不是很多,可以直接用云厂商的,我有上千个API,并且我还有很多的诸如缓存,内容审核等需求云厂商的网关提供不了,我就自研了一个API网关,类似KONG。

如果你要做的游戏方面的全栈,比如你要独立上线一个steam小游戏,你可能还得学一门C#,来做Unity开发。这一块我暂时还没有搞过,以后有时间了可以试试,我觉得上线一个简单的小游戏难度应该也不大。

而如果你要做AI应用,比如当下最火的AI Agent, 你得学习python和langchain,比如下图就是用langchain构造一个chatPDF应用的架构图, 我也是最近才开始学的langchain,做了数个AIGC的用用之后,我也就成为这方面的专家了。

 

 

 

总之,全栈不是说你现在就会熟练使用多少种武器,而是你知道用什么武器能最好的解决具体的某个问题,而你有了深厚的内功,如果一个武器对你来说是一个全新的武器,你也能很快学会。

posted @ 2024-05-02 20:54  全赞工程师  阅读(1)  评论(0编辑  收藏  举报