你以为程序员敲代码时的样子(正所谓“手中有粮,心里不慌”)

每逢毕业季,公司就会迎来一批活力四射的应届生。初入职场,对于程序员这个岗位,工作内容并不只有招聘网站上岗位职责所说的核心技术研发。我做过三份研发工作,每个公司工作流程都不太一样,今天就分享一下相对较全的程序员工作流程及内容。希望对于初入职场的你,能有一个指引作用,正所谓“手中有粮,心里不慌”。

我刚开始做程序员的时候,以为整天就是敲代码,后来工作中发现敲代码确实是程序员的主要工作,但是,动工前后的各项评审工作比敲代码的工作量还要大。

你以为程序员只是敲代码吗

需求评审

需求评审会是由产品经理或者项目经理组织发起。

分两种:一种是需求还未定下来,产品经理和技术经理探讨做不做阶段,这个阶段资深研发有机会参加。基于现有的技术实现,资深研发评估需求可实现性,能够对需求提出有价值的建议。

另一种是需求已经定好了,技术经理会带着准备负责开发的研发参加。这种情况下,研发参加会议的目的只有一个:弄清楚需求做什么

项目排期

开完需求评审会,研发明确了需求后,先要给出项目排期,项目排期要考虑3点:

1、是全新的功能开发还是老功能优化;

2、需要调用其他技术团队的服务接口吗;

3、需要给其他技术团队提供服务接口吗。

除此之外,开发团队要参加各种评审会议,还需要响应随时可能发生的生产故障,排工期的时候需要把这些因素考虑进去。

设计评审

排期定好,敲代码之前,需要从技术实现的角度把对需求的理解输出成设计文档,文档内容主要包括流程图、数据库、接口、算法及伪代码、监控、错误码列表。这一步对指导编码很重要,一是验证对需求的理解是否正确的关键环节,确保做之前做对的事;二是设计文档可以指导任何一个研发完整无误的把功能编码实现。

设计评审会是由研发人员或者项目经理组织发起。评审会上,研发给产品经理、技术经理讲解设计文档,确认需求理解无误,同时告知测试人员改造点。

会议结束,一定要有产物:会议纪要

会议纪要分两种类型:一是评审通过。评审通过的标准:可以指导任何一个研发做开发;二是评审不通过,需要修改的点给出排期进行二次评审

你以为程序员只是敲代码吗

开发准备

设计评审通过后,终于可以着手准备敲代码了。

老功能优化简单,定位到要修改的代码片段,就可以动工修改了。

如果是新功能,需要向SCM部门申请SVN路径,新建应用;需要向系统组申请新增节点;涉及网络访问,需要向IDC申请域名;数据库设计,考虑选择oracle还是mysql,表结构、表关联关系、索引设计等,需要发送DBA部门确认数据库性能问题;交互有几个接口,是服务提供方还是调用方,研发团队内部确认实现框架等。

代码评审

以上开发准备工作做好后,才真正的开始动工编码。编码完成自测通过后,研发组织代码评审

评审会上,研发给研发团队讲解代码实现,参会人员检查代码缺陷,比如错误的逻辑分支、空对象异常、不合理的代码结构等。会议结束,也要有产物:会议纪要。

一是评审通过。;二是评审不通过,需要修改的点给出排期进行二次评审。

测试用例评审

测试用例评审由测试组织发起。到这一步,研发的功能需求基本做完了,测试人员向研发讲解由测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等形成的测试用例,研发职责就是核对测试点是否覆盖完全。这个会议对研发很重要,如果测试用例不全,代码中某个隐藏的bug测试没有测出来,发生生产事故,研发测试各一半责任。

上线发布

不管是人工控制还是自动化,测试人员在UAT(User Acceptance Test)环境测试无误,都需要发送测试通过。研发收到测试通过的指示后,才可以制定上线计划,生产发布。没有明确的测试通过指示,依然发布生产,导致生产事故,研发全责。

其他

1、非功能需求

除了完成功能需求,研发日常还有做一些非功能需求,包括性能测试,为销售、运营、测试提供的内部管理平台,为测试提供的mock服务,方便研发定位错误代码的日志监控,方便产品、运营了解交易成功率、错误原因的数据库监控等。

2、会议纪要

研发组织发起的会议,按照重要程度,会议结束需要输出会议纪要,包括:会议主题、会议参与人、会议内容、时间、会议室、会议结论等。

3、研发KPI

研发KPI(关键业务指标)跟项目完成数量、bug数、生产事故解决度、业务/技术培训分享、输出知识库等挂钩。这里解释一下生产事故解决度,生产发生事故,强调的是迅速响应,所以最重要的是先给出解决方案(具体解决方案需要日常积累),然后再分析事故原因

4、邮件

任何一项会议邀请和会议纪要都需要有邮件为证,邮件的作用:项目日报反馈项目进度、评审会议结果、项目变更申请、有问题需要人背黑锅、非书面形式的沟通留证据、协商资源等。有好事情的邮件一定要抄送给收件人的领导,而坏事情的邮件就要斟酌发给哪些收件人了。

发邮件有技巧,之前分享过写邮件技巧。

关于程序员工作流程和内容就分享到这里,你们公司的程序员日常是什么样呢?欢迎大家互相交流。

主题测试文章,只做测试使用。发布者:1159271856,转转请注明出处:https://www.biyiniaowang.com/archives/3814.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注