程序员是如何参与一个产品开发的?开发流程有哪些?
作者:admin01_liu发布时间:2022-06-24分类:Java技术浏览:778
外界对程序员的印象就是坐在电脑前面写程序。甚至有人问过我“真的有那么多程序要写吗”这样的话。总体来说,大多数做程序员的都是帮着公司开发一个产品。这个产品按平台分的话可以是一个网站,可以是一个手机APP,可以是传统的桌面程序,也可以是嵌入式系统的软件部分等等等等。但不管是什么,所有产品开发都要经过以下主要流程:
产品设计 -> 技术构架 -> 进度计划 -> 产品开发 -> 产品测试 -> 运行与维护
而程序员,特别是经验丰富的程序员几乎会参与到每一个步骤中。所以很多程序员既要会写文档会画流程图,还要会和客户打交道。
1、产品设计
根据市场或者特定客户确定这个产品应该满足哪些需求,然后转化为一个明确的需求文档。有了这个文档,程序员才知道要开发什么,怎么样才算开发完成,交付检测的时候也才有依据。
虽然编写需求文档不是程序员的工作,但是资深的程序员在这个过程中要给出很多建议,特别是在开发复杂度上。有些开发难度太大、用时需要很久的功能和需求会被去掉。毫无疑问,开发复杂度精确的估算对于在最短时间内交付一个拥有最佳用户体验的产品至关重要,而这些是需要丰富经验积累的。
所以程序员收入包括了这部分经验值的钱。
2、技术架构
接下来就要根据需求文档设计整个系统。简单来说就是根据产品特性,选择合适的技术解决方案。这又是一个需要丰富开发经验才能完成的活儿。
往往即使一个简单的前端加后端的应用,也是由十几个子系统构成的。而每个子系统都有几种甚至十几种技术可以选择,系统之间的数据传递模式又有很多选择,还有开发工具又有很多选择。
比如前端框架选什么,load balancer选什么,服务器选什么,数据库选什么,开发语言用什么,repository选什么,API的访问流程是什么等等等等。这些随便举的其实都是很基本的东西了,其实很多更实际也更复杂的问题也需要考虑,比如安全性上的,比如系统升级会造成的影响等等。
这个过程中需要写很多文档,记录每种技术stack的优劣,画很多的系统示意图和流程图,要和不懂技术的管理和设计人员沟通。
所以程序员收入包括了这部分知识值的钱。
3、进度计划
这部分一般也有专门的项目经理负责,但和产品设计类似,程序员一样要给出很多的建议。这个时候一般技术构架已经完成,可以给出更为精确的开发周期的预估。但毕竟是预估,还是需要丰富的经验才能做到尽量准确。这个进度计划是否靠谱、有多重要就不用赘述。
4、产品开发
这个步骤才是大多数人对程序员的印象。但即使是开发,也不是简单的坐在屏幕前敲敲代码。现在主流的Agile开发,每天要开早会汇报进度,每个两个星期(或者别的周期)都要开会确定下个周期的具体开发任务,评估开发任务的工作量,并分配开发任务。
开发的时候也是经常碰到技术问题需要和别的开发人员讨论,需要和设计人员、管理人员、项目进度人员保持沟通。每个月一般还需要做个成果演示让管理层清楚进度。然后在开发过程中经常会要用到新的技术,所以也经常需要花时间去学习补充。
5、产品测试
传统的软件开发经常有专门的测试人员,但现在互联网企业越来越多的DevOps,就是一个人做了以前的开发,测试和运维三个人的活(好吧,其实是一种变相剥削,因为虽然高了但也没有三个人加起来的高)。
测试也是要写很多代码的,因为现在都是自动化测试。然后测试也是要写很多文档的,所谓test cases,基本上和需求文档是对应的,就是一个checklist,看看是不是需求都开发出来了且达到标准了。所以你看,程序员除了会写电脑语言也还是经常要写人话的。
6、运行与维护
Again, 本来有专职人员做的事,很多程序员现在也得做。这部分包括写一些脚本或者用软件收集系统数据,各种系统日志,然后生成一个有各种图表的控制面板,方便查看系统运行状态,还要设置各种超出合理范围值就会触发的警报,这种警报往往和手机甚至BP机相连,就算是夜里也会把人给闹醒,然后就得爬起来解决问题。
所以程序员收入也包括这部分辛苦钱。
如此几何式高速发展的IT产业,人才根本就跟不上,供需关系决定了IT行业的只会越来越高。当然,这是对于跟得上IT发展脚步的人才来说的。
IT是一个必须不停地学新技术的行业,因为发展地太快。现在最主流开发框架,各种云端的技术,新的编程语言,老的编程语言的新特性,各种辅助开发和部署的工具,各种运维的工具等等等等没有一个是10年前就出现的,很多都才出现了五年,但已经取代了更老的技术。
所以能在IT行业干了八年十年还没被淘汰的,至少都是很努力的人,和很多在传统行业里几十年都吃着大学里学的那一点东西的老本的人相比,他们配得上这份。
- Java技术排行
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年12月 (15)
- 2024年11月 (45)
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 东莞信息:2024年长安镇技能创业咖啡节成功举办|||广州计算机软件培训
- 河源信息:本周六百企万岗职等你来市县镇联动大型招聘活动即将开幕!|||计算机培训学校招生
- 茂名信息:茂名组织劳动人事仲裁案件庭审观摩活动|||大学生计算机培训学校
- 茂名信息:茂名市人力资源和社会保障局相继开展诚信宣传四进主题实践活动|||广州市北大青鸟计算机职业培训学校
- 茂名信息:凝心聚力共筑平安茂名市人力资源和社会保障局开展平安建设暨一感两度宣传活动|||大学生计算机培训学校
- 汕头信息:汕头市人力资源和社会保障局开展宪法宣传周活动|||北大青鸟计算机培训中心
- 梅州信息:梅州市人社局开展2024年第四季度诚信文化主题宣传志愿服务活动|||电脑计算机编程培训学校
- 东莞信息:塘厦人社分局联合消防大队开展技工学校等机构消防安全培训|||广州计算机软件培训
- 东莞信息:塘厦塘厦镇成功举办优才服务区第二期业务提升培训班|||计算机软件培训学校
- 东莞信息:2024年横沥镇举办模具设计师职业技能大赛|||广州计算机软件培训