很多人问程序员是是做什么的?或者问IT是做什么的?对于非IT行业的人很难有时间慢慢解释清楚,下面我结合自己的理解谈一谈吧,以后解释就可以转载这篇文章,这样为大家节省了很多时间。有女朋友的程序员可以转给自己女朋友看看。
IT范围太大,我们就说说程序员吧,程序员都在干什么,程序员有何区分,程序员我们就会谈到开发软件,软件的开发对很多使用者来说都是感受不到的,人们能接触到的就是客户端或者网页显示和提示的操作,这些只是软件的一部分,在开发中不占大头但是很重要,就像一个人的脸面问题,颜值很重要。
下面我来结合盖房子讲解下开发软件的组成吧,一个房子在开始建造的时候就会有设计和规划,软件也是同样的,软件需要挖掘和分析需求,然后架构设计师才开始对软件进行分析和设计,转化需求为可以使用计算机解决的一个一个的功能模块,或者将一个功能独立成一个系统专门解决一个问题,架构师需要考虑扩展性和可维护性,还有访问的压力这些等,就会涉及到是否分布式拆分业务和服务部署的集成,举个栗子,就跟水管一样,有很多段,有的一段可能还会是很多细的水管组成,但总而言之,你最后开发完后最细的那段水管限制了你的吞吐量。同样功能的软件在访问量大和小实现的架构和思路是不一样的,还有使用软件的背景,办公内部使用和互联网使用要求也是不一样的,少部分人用和成千上万人用是不一样的。
复杂的项目最开始的设计可能是数据库,就想盖房子需要打地基一样,地基和基础建设对一个房子盖起来方不方便是很重要的,当架构师规划好系统的架构和功能后就需要程序员像民工砌砖盖房子一样去码代码实现所有的细小的功能,所以很多程序员会类比自己是码农说的就是这个意思。后台主要指的就是以上这些,相当于房子盖好了。
盖好了房子之后就需要贴外墙装饰房子这个类比软件里面的前端,前几年的前端在大的公司分为UI和美工,美工负责制图,UI和美工一起配合后端程序员做出给客户展示和操作的界面和数据,近几年前端工程师产生了,它们的出现减轻了后端工程师还需要去配合前端一起调整界面上数据的工作,只需要约定接口即可,所以前端工程师要求变高了。
常见的在整个开发软件里面就有架构师,编码人员,和前端,中规中矩,当然小的项目可以一两个人都搞定了,以前一般程序员只有偏后端还是偏前端,复杂的软件设计才会需要架构师,程序员对开发都是了解的,只是有的人掌握的开发技能深和浅的区别,还有解决问题的熟练程度,开发同样的软件一般5个架构师会比1个架构师带四个编码人员强,当然比直接5个编码人员要做的好一点,架构师和编码人员没有明显的区分,都是从工作实践编码过来的,越来越熟练就会考虑架构的一些问题,从而负责项目直到上升到架构师的高度,还有项目经理,产品经理这些角色,都只是工作更加细化而产生的,项目越大角色一般会越多。
今年是2018年,社会的发展不需要每个人懂如何开发,但是如何使用常用的电子产品和上网这是一个常识,而不是程序员专有的,程序员做的事可能给人直观感受就是敲代码,但是敲代码在CMMI3软件开发体系里面只占后端60%里面40%的工作量,所以大家看到的是这24%的正在敲着代码的程序员,IT还包含很多很多,IT从理解需求,设计数据库,程序设计,开发(前后端)、测试、上线运维,这些所有相关人员都可以称为IT从业者。
这篇文章在2018年初发表,时代是变化的,不一定适用于以后,个人的理解,说的不好欢迎批评指正。
程序员是干什么的
最新推荐文章于 2024-07-19 20:00:00 发布