作为一名后端开发工程师,每天日常工作是什么样的? 您所在的位置:网站首页 java后端开发是什么工作 作为一名后端开发工程师,每天日常工作是什么样的?

作为一名后端开发工程师,每天日常工作是什么样的?

2023-05-07 22:35| 来源: 网络整理| 查看: 265

在说后端开发的日常工作之前,先说说一般的后端工作流程。

后端工程师的主要工作就是根据产品功能点的需求文档,交互原型和前端工程师配合,把产品功能点实现出来。

一个新产品功能要进入研发阶段之前,产品经理会准备好需求文档和交互原型,然后拉上相关的前端,后端,运营一起开一个新产品的评议会议。

会议上产品经理先演示产品原型,把要实现的功能点讲一遍,然后各个与会人员可以发表自己的意见,也就是各个岗位的人员与产品经理的PK。前端工程师针对交互逻辑和交互的技术实现层面提出疑问和看法。运营针对产品的可行性和产品验证指标提出自己的疑问和看法。后端工程师针对业务逻辑是否合理,技术实现层面是否可行等提出自己的疑问和看法。会议最后会确定新产品可行性,前后端估算研发工作量,敲定产品上线时间点。

一般会议结束后确定新产品功能可行就会马上进入研发阶段。首先后端工程师和前端工程师再简单讨论一下,确定哪些业务逻辑在放前端实现,哪些业务逻辑放在后端实现,敲定前后端联调方式,联调时间。接着后端工程师根据产品的交互原型设计好API文档,然后拿着这份API文档和前端工程师对接,看看API设计是否合理,听听前端工程师的意见,修修改改,前后端意见达成一致后就可以按照这份API文档的约定各自开展自己的工作了。

前后端对接完API文档后,后端就可以开始开发新功能了!根据需求先设计新的数据库表,以及修改已有的数据库表设计以满足新需求。数据库表设计完后在本地数据库上执行数据库表设计的变更。检验一下数据库变更是否符合向前兼容的上线原则,因为线上产品一般不能停机发布,修改线上数据库时旧的后端代码还在持续运行中,所以数据库变更必须兼容上一个版本的后端代码。

如果新功能需要依赖新的中间件服务或者第三方服务,就去调研一下依赖的中间件和第三方服务,做一下技术选型,然后在本地环境上安装一下,调试一下,敲定最终要使用的版本。

前面这些基础工作完成后就可以开始码代码了。去代码版本管理库(Github,码云,Coding)为新产品各个独立功能点切一个新的分支,打开IDE开始码。码得差不多了,在前后端约定的联调时间之前,先自己本地把新功能跑起来,按照需求文档测试一下业务流程是否能跑通,有没有BUG。

自测完成没啥问题后,在前后端联调之前还有点时间,可以做一些正式上线前要做的准备工作,比如整理一下数据库变更相关的步骤,准备数据库向前兼容需要的数据调整脚本,整理一下在线上环境安装新功能依赖的中间件的文档。最后把前面这些文档整合在一起做成一个新功能上线计划。

到了前后端约定的联调时间了,先在代码版本管理库里把要上线产品相关各个功能点的代码分支合并成一个待上线的代码分支,在联调环境中发布这个分支。同样的,前端也合并出一个待上线的代码分支发布到联调环境。然后可以开始联调测试,现在前后端程序在同一环境下运行并相互协作,现在联调环境里发布的就是要上线的新产品最终完成的样子了,测试一下前后端程序一起工作的情况下是否符合产品的所有需求,有没有BUG。

前后端联调测试完,修复所有BUG后研发阶段算是暂时完成了,可以交付产品经理确认。一般产品经理会提出一些小修改,前后端分别修改然后联调下修改的部分再交付产品经理确认。

产品经理在联调环境确认过新产品后,就可以将新产品发布到测试环境进入测试阶段。小公司里一般会安排所有人都参与到测试工作里,一轮测试下来把发现的BUG汇总后,前后端各自领回去修复,然后再进行一轮测试,一般三轮测试下来所有BUG就都修完了。后端可以继续准备上线的相关工作,然后在约定的上线时间正式发布新产品。新产品上线后一般会再组织一轮测试,验证产品在线上环境是否正确上线。

上面就是一个产品从研发到上线的主要流程,以及后端工程师在其中承担的主要工作。简单总结一下:

1.参与产品评议会议

2.前后端沟通确定API文档

3.数据库变更设计

4.第三方服务选型

5.实现业务逻辑

6.自测并跑通产品业务流程

7.组织前后端联调

8.交付产品经理确认

9.交付测试确认

10.正式上线产品功能

互联网初创公司喜欢快速迭代的方式研发产品,我所在的公司一般一两周就会上线一个新功能。我们把上线时间定在每周四,上线后周五可以观察一天,以免在周末有问题要回公司加班。

一般周四上线后,周五产品经理就会开下周要上线的新产品功能的评议会议,会后最慢周一后端会完成API文档和数据库设计,从周一到周四下午都是在码代码,期间可能还要修复上周四发布产品出现的BUG。一般周四都要加班,下午前后端联调完就测试,然后晚上发布产品。

一周中大概有20%时间用来和产品及前端对接沟通,然后设计后端方案(主要是API文档,数据库设计,第三方服务选型)。40%的时间做实际的开发工作。20%时间修复线上的BUG。20%时间和前端联调还有测试。

顺便安利一下老婆新上架的微信表情

有没有微信里特别可爱的表情包?



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有