为了账号安全,请及时绑定邮箱和手机立即绑定

公司项目首次尝试前后端分离,结果项目经理(技术)各种怼我,咋办?

/ 猿问

公司项目首次尝试前后端分离,结果项目经理(技术)各种怼我,咋办?

慕仰1329654 2018-10-06 11:39:50

如题,我是公司新成立部门UEC的小前端,公司以前开发是用python的django开发的,项目经理习惯了前端只是写模板,后端拿来套的形式。不过去年年末,我的boss(uec的总监)向上级提议开始前后端分离的形式,于是招了很多个前端,准备把公司的产品一一做分离。

项目经理却觉得不靠谱,就各种问我这么保证这个安全,那个安全。。。。(最主要的是。。接口吧),由于我是小菜。。。对前后端分离也是一知半解,只知道前端通过接口调后端数据就行了。。。于是我就说数据接口的安全,前端是保证不了的,接口的安全需要后端来保证(不知道说得对不对,但是前端的确没法保证这个的安全啊。。。),当时可能回答的比较急。。项目经理就火了。。就说“你们这是瞎搞,我不管,我们这边已经做得很好了,问题都在你们那边,你们UEC部门存在的意义就有问题”,看他这样,我也就不敢反驳什么了,当时产品还给我解了围(他原来也是搞技术的),跟项目经理说:“接口安全的确是后端的活,我以前做过的.........”【此处省略】。

自此以后,项目经理就各种看我不顺眼,本来该后端处理的数据,直接让他的人粗枝大叶的甩给我让我在前端处理【上千条数据。。就在前端 搜索。。排序 不知算不算多】。然后怪我做的慢,要是前后端不分离项目早做完了,我那个委屈啊?,本来这个项目我来的时候就延期了,当时这个项目还没有后端,我提前把前端部分做完了,等着他们调后端过来,就等了半个月(期间 我去了别的项目 帮别的前端),后端来了,数据调好了,产品在年前那一周又改需求。。。设计不得不赶紧设计,我不得不等设计完继续改页面,增加功能,所以年前没做完,到了年后这周五才做完。。。。,这怪我吗??? 怎么延期的锅就这么甩给我了??

前后端分离了,后端只管数据的事了,只管M层了,所以后端做得快了,VC层前端来做,反倒是他觉得他的后端做得很快了,我们前端拖了项目的后腿。。。 我咋办。。。。我都觉得哔了狗了。。。 已经向我的boss反应了情况(boss是前后端分离的推动者,但是他是设计出身?可能在技术面前话语权 没那么重),心里面还是觉得有点瘆得慌,我在试用期啊。。真怕被刷了。。,我该怎么做,好迷茫。。


查看完整描述

3 回答

?
当年话下

首先,我对我带过的所有人都说过一句话:永远不要相信前端。不是说不要相信前端工程师,而是说不要相信前端提交的数据,换句话说,安全性肯定是后端的事情

前后分离是必然趋势,考虑一个问题,你愿意后端渲染页面还是前端渲染页面?假设后端渲染页面平均需要 0.1 秒,前端渲染平均需要 2 秒,20 倍的差距。但是假如有 100 个用户,后端需要花 10 秒来处理,如果阻塞的话,平均个用户要等 5 秒;而前端渲染,每个用户只需要等 2 秒。所以从性能上来说,我个人是比较推荐将页面处理过程前移的。目前各种静态化趋势也在证明这一点。

其次,从设计的角度来说,前后分离可以实现呈现和数据(逻辑)的解耦,这也是一种 SOA 的思想。后端可以专注于处理逻辑和数据,把呈现的事情完全交给前端处理。前后端只需要约定好数据接口(通常是一定格式的 JSON 或 XML),剩下的事情就是各干个的,互不影响;不仅前后端的开发轻松,测试也轻松,测前端可以做桩,测后端可以直接验证数据;如果客户对界面不满意,后端可以去休假,前端照新设计把样式表一换就能解决;如果是对用户体验不满意,前端脚本要做的事情就多一点……不过大部分都有框架实现。换句话说,前后分离大大减轻了后端的工作量,但前端工程师一定要顶得起

接下来就是分工的事情。任何事情,只要是多人(或一人多角色也是同样)合作,就肯定存在分工的问题。分工,说白了就是职责,责任分不清楚,扯皮是迟早的事情。前后分离,从哪里分,分到啥程度,这些都需要预先做好约定,把责任划分清楚。就拿数据来说,几千条数据是应该前端处理的还是应该后端处理的?就按一条数据 1K 来算,几千条也不过就几 M,其实前端处理后端处理都可以。后端处理肯定快得多,而且有缓存优势,并不会造成多大的阻塞,而前端处理除了加载数据慢一点,内存消耗大一点,也不是多大的问题(没人会把几千条数据同时渲染出来吧),那这个就要靠约定了,而约定也不是随便约的,要架构师说话,要不然架构师拿来干啥。架构师认为这地方,前端处理用户体验不好,分给后端处理,前端传参,后端把数据过滤后给出来,那就后端处理;架构师认为这地方前端处理无压力,后端是瓶颈,那就前端处理……分清楚了,自然不会扯皮

如果前端压力过大,后端轻松得不行,那就是项目经理要负责的事情了,这很明显是人力资源安排不合理。就按前后各占 50% 工作量来说,1 个前端对 3 个后端(举例)就是很不合适的安排。而且前后分离之后,很明显后期前端工作量会比后端大得多,所以在不同的项目时期,人力资源如何安排,这是项目经理要干的事情。项目经理要做的事情就是协调好资源,控制好风险,把握好进度,再尽可能的少花钱——我一向不太赞成技术人员做项目经理,做技术和做项目管理思维方式都不一样。

总的来说呢,前后分离不是罪,架构师、项目经理、项目组各成员各司其职,尽量以契约的精神来办事,事情就好办得多。如果你现在认为跟项目经理沟通不下去,找你的上司去沟通,还是沟通不下去,再找更上一级的上司……如果怎么都沟通这不下去,那就没有合作的可能,留着也难受,还不如换个地方发展(如果你只是考虑生存,那就忍吧)。


查看完整回答
2 反对 回复 2018-10-14
?
三国纷争

想了很久,还是不知道怎么回答,就说说我的几个想法吧。

  1. 跟着骂一顿项目经理,接口安全问题都拎不清。

  2. 你自己不会推卸责任,本来又不是你推动的,你去和反对者硬肛什么,有人逼逼让他去找项目推动者去啊。项目推动者要求技术协助时你再上啊。干嘛要自己先出头。

  3. 本想说你们不行,太乱,太喧嚣,没法沉下心做技术。。但是转念一想,技术、方案之类的结果,也是要靠博弈,才能有结果的啊。否则就是独裁体系了。

我比较推荐观点2,你得学会推卸不属于自己的责任。


查看完整回答
1 反对 回复 2018-10-14
?
weixin_慕UI8016390

我对象和你遇到了一样的情况,后端只管读数据库,然后往前台一传,也不做数据处理,然后没办法,我帮我对象做后端,结果他们的后端还各种不满意,不用他的还不行,他们老板还跟供着祖宗似的供着这个倒霉人,当时我就直接让我对象辞职了,我知道这个后端前前后后换了十几个前端,都是啥都撇给前端做,前端提出的接口数据的要求啥的一律不管自己写完了直接往前台一传,数据格式不对前端想办法去,印象最深刻的就是前端要求点击一个日期传当前的日程,结果把数据库里无论是不是这个客户的的日期都传上来,整个数据库的一共67万的数据,各种卡,然后赖前端。不怕工作难,就怕队友是二哈,只会拆家

查看完整回答
反对 回复 2019-09-20

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信