行业的工资是否虚高?
序员的印象就是坐在电脑前面写程序。甚至有人问过我“真的有那么多程序要写吗”这样的话。总体来说,大多数做程序员的都是帮着公司开发一个产品。这个产品按平台分的话可以是一个网站,可以是一个手机APP,可以是传统的桌面程序,也可以是嵌入式系统的软件部分等等等等。但不管是什么,所有产品开发都要经过以下主要流程: 产品设计 -> 技术构架 -> 进度计划 -> 产品开发 -> 产品测试 -> 运行与维护 而程序员,特别是经验丰富的程序员几乎会参与到每一个步骤中。所以很多程序员既要会写文档会画流程图,还要会和客户打交道。 1、产品设计 根据市场或者特定客户确定这个产品应该满足哪些需求,然后转化为一个明确的需求文档。有了这个文档,程序员才知道要开发什么,怎么样才算开发完成,交付检测的时候也才有依据。 虽然编写需求文档不是程序员的工作,但是资深的程序员在这个过程中要给出很多建议,特别是在开发复杂度上。有些开发难度太大、用时需要很久的功能和需求会被去掉。毫无疑问,开发复杂度精确的估算对于在最短时间内交付一个拥有***用户体验的产品至关重要,而这些是需要丰富经验积累的。就要根据需求文档设计整个系统。简单来说就是根据产品特性,选择合适的技术解决方案。这又是一个需要丰富开发经验才能完成的活儿。 往往即使一个简单的前端加后端的应用,也是由十几个子系统构成的。而每个子系统都有几种甚至十几种技术可以选择,系统之间的数据传递模式又有很多选择,还有开发工具又有很多选择。 比如前端框架选什么,load balancer选什么,服务器选什么,数据库选什么,开发语言用什么,repository选什么,API的访问流程是什么等等等等。这些随便举的其实都是很基本的东西了,其实很多更实际也更复杂的问题也需要考虑,比如安全性上的,比如系统升级会造成的影响等等。 这个过程中需要写很多文档,记录每种技术stack的优劣,画很多的系统示意图和流程图,要和不懂技术的管理和设计人员沟通。
所以程序员收入包括了这部分知识值的钱。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |