一直都看到社区里很多招聘帖都在发“全栈工程师”的招聘,也有不少培训班说自己是培养“全栈工程师”的。
个人粗略总结是,要求会写网页前端,也会做网站后端,即“web 前后端都干”。
请问在 Ruby China 社区这个语言环境下,“全栈“是否有一个可以达成共识的简单定义?
例如作为基准线的知识(学过什么理论)、技术(已经掌握了什么样的工具)和经验(解决过什么问题)要求。
原来的技术工种是工程师,高级工程师,总工程师各种职称的,互联网兴起以后,统称码农,每一个码农都可以宣称自己是全站,但对老板是说全站是有标准的,只有干三个码农的活(前端 + 后端 + 运维)发一个码农的钱,才能算全站工程师。
按常理来说,专业分工更有利于出高质量的活,也更有效率,比如 nginx 处理静态内容,puma 处理动态页面,要比全部请求都交给 rack 处理要好,为什么老板会追捧这种低质量,低效率的工作方式,主要是因为老板退化了,原来的老板能管理 30 个人,现在老板勉勉强强能管理 10 个人,而且还要这 10 个人自我驱动,自己找活干,发现问题自己搞定,做个甩手掌柜就能把钱挣了,当然码农自我驱动,驱动出事了,可要扣钱的哦,严重一点,自我驱动到删库跑路还要刑拘
老板追捧全站工程师跟码农追捧 Rails 一样,老板退化了,码农也随之退化了。原来流行拍黄片做网站的时候,做 blog 用 wordpress 做企业站用 dedecms 做论坛用 discuz 做新浪微博用 restapi 做聊天用 workman 换到 ruby 做网站的时候,不管什么网站,
统统用 rails def_delegator :@rails, :serv ,:makesite
码农就充个 facade 平时主要就升级版本,然后月底领钱就行了
有经验的后端工程师基本上都是全栈工程师,有部分只会前端的所谓“前端工程师”是互联网泡沫赏了他们几口饭,很快会被淘汰的,所以今后(Web 领域)只有全栈工程师。
Web 这种前后端联系紧密的技术,只会前端或后端,很难对 Web 有深刻的理解。
我感觉这图里大部分的 DevOps/Front-end/Back-end 技术栈本科前三年在学校里都摸过,可以说是”全沾“了。
但是要彻底搞明白其中一两个技术(并且计算机学一圈总能学回来),我觉得常见的”3 到 5 年工作经验“这种前提又是不够的,觉得“全栈”的要求还是挺模糊的。
全站跟现在流行的 flutter,taro 多终端方案一样,全站码农给老板演示 helloworld 页面的时侯,老板的下巴都惊掉了,这效果真不错啊,原来招一个人真的可以当三个人用啊?
helloworld 页面写着写着复杂一些,涉及到一些底层的功能的时侯,多终端方案就开始捉襟见肘,各种卡顿,白屏,内存泄漏,不管是用户还是老板提需求还是报 bug,多终端方案的应对就是象闲鱼 app 那样直接躺平装死。
全站写 admin crud 页面的时候也是行云流水,各种 code gen 飞起 写到后面一些自定义的功能,流量大了单点遇到性能天花板,分布式部署又要折腾数据同步,同步又要各种分布锁的的时候,就开始手忙脚乱了,如果这时侯有竞争对手下点黑手来点 ddos,全站也跟闲鱼 app 一样直接躺平装死了。