当前位置: 首页 > 编程日记 > 正文

程序员新手 0年份等级 指导(一) 开发人员IT架构总览

程序员新手 0年份等级 指导(一) 开发人员IT架构总览

程序员新手 0年份等级 指导(一) 开发人员相关IT架构总览之职能分解

开发人员IT架构总览
一、职能分解

软件项目的主要组成大体上按照一个项目的生命周期流程分为: 需求、架构、开发、产品、测试、运维

需求人员:一般需求人员是项目的最开始一道环节,这些人员与软件使用方或者出资方商议确认软件开发意向转到项目实际需求的事宜,是把思路化为纸面文档甚至demo样例(即原型)的人员;

架构:先说了开发再说架构比较好;


开发人员:主要做的就是业务代码逻辑的实现;也有的引申到测试、需求、运维;
初级:承担最机械化的工作,基本都在中高级以及更高级人员的指导、指示下工作,比如初级核对、一些简单的基础白盒测试、机械化的手动日志埋点,前端较为简单的单个页面逻辑,在后端框架限制好的前提下做较为简单的业务逻辑代码工作;
中级:承担主要业务代码工作,白盒测试,简单的分层框架、IOC、AOP应用,,这个级别是整个开发人员世界的准主力,人数最多,大多数常年开发,比较靠经验化的人员组成,这个层面的人有的能独立完成中型项目,但是通常必须是做过的,也就隐含着是被人带过的,照抄的,比较机械化,当这个层级的人员很多到了30多还是这个级别,其实就是尴尬的层级,但是也是很多传统公司的软件部门喜欢的层级人员;
高级:承担重要业务逻辑代码的工作,设计白盒测试等测试方案、中小规模下自己定制框架,攻坚关键性业务代码、算法,指导中初级人员,在有些场景起到技术经理的作用,在有的公司完全就是技术经理leader的作用,这个层级我认为与中级最关键的区别就在于所谓的主观能动性,已经能尝试性地自己从0组合后端框架、技术、各种后端中间件、前端框架等,是技术leader管理岗位和架构师的有力候选阶层,真正到这个级别的人员很可能直接跳过中级就表现出了各方面的主观的自我突破欲望;

开发人员各个层级的现实:

初级大多数些新手、实习生和强拉上场的人员,很多干了半辈子开发的人其实还可能在这个级别的高层徘徊,天赋能力、用心不行;

中级很不幸的大多数30多岁还在写业务逻辑代码,但是又没啥自己想法的人,属于这个层级,尽量避免成为这样的人,要学会动脑子,否则还不如去做管理、需求人员;但是很多年纪很大的开发,只会完成任务,完成后有一堆bug留给别人帮他解决,这种最多只能算是中下级,甚至该算是初级人员;

高级开发其实现实里比较少,通常是技术经理、管理leader兼任,纯的高级开发是项目leader,有自己思想的年长开发人员,应该是很有经验、主观思想的;经常是不愿意去做架构、管理的开发人员,有着自己的特殊情况,才会逗留在这个层级,很多所谓的高级开发人员其实都是中级而已;

也就是说任何一个像样的开发人员,不管你以后成为什么职能至少开发能力和思想应该保持在高级水平,任何人掉落到中级、甚至初级,就是实际上不再是技术人员了;

开发相关的管理和辅助岗位:

技术经理、开发经理(当然有的是人员、没有挂经理头衔):一些公司有的层级通常是开发团队的顶头领导,虽然名字是技术、开发,但是经常是不用写具体代码的,属于开发团队组建者、直接管理者,审查代码、项目进度排期、检查进度和初步质量、维护项目开发阶段的管理层级文档是这个岗位的主要职责,当然不排除经理自己是初级、中级甚至高级开发,甚至是主程(有的团队里有这样的主要程序员、首要程序员的角色)这样的角色,但是大多数最多也就项目初期自己承担一点业务开发任务和框架代码任务,在架构不到位的情况下担当一部分架构的职责,不过通常不必期望可以真的比得上架构,实际上这个岗位是与架构协调技术方案为主的;有的团队技术经理(开发经理)和项目经理并不分;

项目经理、需求经理、产品经理(当然有的是人员、没有挂经理头衔):一些像样的公司有这些岗位,很可能一个人或者一组人在项目初期负责收集制定需求以及其文档,这是就是需求角色,中期管理项目开发过程,就是项目经理角色,到了发布期则开始转为产品经理,负责客户接洽和内部迭代的监督督促,其实也不会负责太多技术细节,就是个项目生命周期的主要监护人角色;大多数的项目文档,包括客户手册、文档、给开发人员的需求文档等,是客户与项目组之间的桥梁角色;在不同公司职责或大或小;经常在小公司与技术经理角色并不区分;

架构:开发之后来说架构,架构师是决定技术方向的存在;小公司用不上,大公司主心骨的角色;不过具体架构分类很多,本篇不是架构说明文档所以就不多谈了,架构也有很多职能分类,包括但是不限于:软件架构、业务架构、系统架构、数据库架构、大数据架构、云架构、基础架构、运维架构等等;具体什么是什么本篇不唠叨;

产品人员基本上我认为是项目中后期接手了需求人员的项目任务以后,负责之后的软件开发后生命周期的人员;版本上线,版本规划,迭代实施计划等由其来操作;

测试(也有的公司叫质量控制吧):测试分白盒和黑盒,白盒是与开发人员紧密相连的属于高级测试范畴,能够测试白盒的测试人员应具备的是中级以上开发能力的,白盒有功能性测试、也有性能压力测试、以及代码覆盖等类型的测试;黑盒测试是模拟用户行为的测试;一般新项目代码由开发研发出来后,发上svn或者git或者tfs;以后由测试人员(也可能是负责帮助测试人员的开发或者运维人员)手动或者devops软件系统自动将开发提交的新版本的项目工程发布到测试环境,部署安装完成,然后进行黑盒测试,黑盒测试包括用户行为、项目功能模拟性的测试、性能压测;一般会有

posted on 2016-12-02 22:19 雷兽 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/sfissw/p/6127560.html

相关文章:

磁盘配额的wmi版本(C#)

作者&#xff1a;iwebsmsusing System;using System.Management;namespace DiskQuota{/// <summary>/// Class1 的摘要说明。/// </summary>class Class1{/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(string[] a…

Smarty的配置与高级缓存技术

前言 Smarty 是一个出色的PHP模板引擎&#xff0c;它分离了逻辑代码和user interface。 学习和使用Smarty&#xff0c;没有应用到它的缓存技术是一个很大的损失&#xff0c;它可以将用户最终看到的HMTL文件缓存成一个静态的HTML页&#xff0c;当设定Smarty的cache属性为true时&…

Get了!用Python制作数据预测集成工具 | 附代码

作者 | 李秋键责编 | 晋兆雨大数据预测是大数据最核心的应用&#xff0c;是它将传统意义的预测拓展到“现测”。大数据预测的优势体现在&#xff0c;它把一个非常困难的预测问题&#xff0c;转化为一个相对简单的描述问题&#xff0c;而这是传统小数据集根本无法企及的。从预测…

方差,标准差,协方差、期望值

方差&#xff1a;方差是变量与其平均值的平方和的算术平均值&#xff0c;例如&#xff1a; 有一组数据{4,5,6,7}, 平均值为&#xff1a;(4567)/422/45.5 其方差为&#xff1a;[(4-5.5)2(5-5.5)2(6-5.5)2(7-5.5)2]/4 标准差&#xff1a;方差的开2次方 例如上面那组数据的标准差为…

简单代码的性能差异

《.net 框架程序设计》里的几句代码&#xff0c;我重新整理了一下&#xff0c;写成函数&#xff0c;这样下面的反编译代码看起来更方便点&#xff1a;dahuzizyd的专栏 http://blog.csdn.net/dahuzizyd/publicvoidBoxing() { Int32 v 5; Conso…

求助贴:人工智能offer,阿里or腾讯,选哪个?

笔者曾在脉脉上看到一条网友求助帖&#xff1a;拿到两个offer&#xff0c;一个腾讯&#xff0c;一个阿里&#xff0c;选哪个&#xff1f;抛开“柠檬”这件事不说&#xff0c;笔者观察到另一件事&#xff1a;那就是他的offer都是视觉岗。前一阵刚巧也看到一份报告&#xff1a;人…

EIGRP注入默认路由

实验TOP&#xff1a; 三、实验要求: R1,R2,R3运行EIGRP,用ip default-network 命令使EIGRP向EIGRP域内传递缺省路由,各路由器的各环回口之间路由可达。 四:实验过程: 1、 基本接口的配置.(见图) 1(config)#int e0/0 R1(config-if)#ip add 12.0.0.1 255.255.255.0 R1(config-if)…

Python OpenCV学习笔记之:图像读取,显示及保存

为什么80%的码农都做不了架构师&#xff1f;>>> #-*- coding: utf-8 -*- # 读取&#xff0c;保存&#xff0c;显示图片 import cv2 as cv# 读取为灰度图片 img cv.imread("../../datas/images/fish.jpg",0)# 保存图片 cv.imwrite("../../datas/ima…

简单的特征值梯度剪枝,CPU和ARM上带来4-5倍的训练加速 | ECCV 2020

作者 | VincentLee来源 | 晓飞的算法工程笔记在训练过程中&#xff0c;特征值梯度的回传和权值梯度的计算占了大部分的计算消耗。由于这两个操作都是以特征值梯度作为输入&#xff0c;而且零梯度不会占用计算资源&#xff0c;所以稀疏化特征值梯度可以降低回传阶段的计算消耗以…

获得汉字字符串拼音首字母

作者&#xff1a;iwebsms的专栏 返回给定字符串的首字母Function IndexCode(ByVal IndexTxt As String) As StringDim i As IntegerFor i 1 To IndexTxt.LengthIndexCode IndexCode & GetOneIndex(Mid(IndexTxt, i, 1))NextEnd Function得到单个字符的首字母Private Func…

使用HTTP模块扩展 ASP.NET 处理

HTTP 模块是一个通过实现实现 IHttpModule 接口和处理事件&#xff0c;在每次针对应用程序发出请求时调用的程序集。HTTP 模块作为 ASP.NET 请求管线的一部分调用&#xff0c;能够在整个请求过程中访问生命周期事件。因此&#xff0c;HTTP 模块使我们有机会检查传入和传出的请求…

angular指令ng-class巧用

什么是ng-class ng-class最大的妙用就是可以根据你的逻辑表达式。来添加或移除对应的class ng-class是angular.js里面内置的一个指令。 项目中&#xff0c;有时候&#xff0c;我们需要根据需求来切换不同的class function bb($scope){$scope.ss"className"; } <…

小冰拉开人生第二幕:AI时代的“Office”问世,你的虚拟男友“复活”了

作者 | Just出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;2014年&#xff0c;小冰正式推出第一代产品&#xff0c;以对话式聊天机器人形式迅速积累训练数据。2020年8月20日&#xff0c;已从微软独立分拆的小冰团队宣布&#xff0c;第八代小冰“出炉”了。小冰团队表…

如何复制一个目录里面的所有目录和文件

作者&#xff1a; cuike519的专栏 http://blog.csdn.net/cuike519/本文介绍如何将一个目录里面的所有文件复制到目标目录里面。 下面介绍几个我们在该例程中将要使用的类&#xff1a; 1、Directory&#xff1a;Exposes static methods for creating, moving, and enumeratin…

ArcGIS问题:如何定义坐标系

一般情况下&#xff0c;我们在利用ArcCatalog建立shp文件的时候就会把相应的坐标系定义好。 具体做法就是鼠标右键单击选择属性&#xff0c;即可编辑其坐标系了&#xff08;方法在&#xff1a;http://gisman.blog.163.com/blog/static/3449338820096134452166/ 投影坐标的定…

Unity3D 材料

为什么80%的码农都做不了架构师&#xff1f;>>> http://docs.unity3d.com/Manual/index.html http://www.maiziedu.com/course/u3d/ http://pan.baidu.com/share/home?uk2217874598#category/type0 http://www.devsiki.com/2015/10/08/indiegamedeveloper.html ht…

12 种方式轻松实现 Ruby 调用

作者 | Gregory Witek译者 | 弯月&#xff0c;责编 | 王晓曼头图 | CSDN 下载自东方IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;以下为译文&#xff1a;最近&#xff0c;与同事聊天的时候&#xff0c;我们谈到了有关 Python 编程的某些方面。我们开玩笑说 Py…

如何实现可以带详细表格的DropDownList

作者&#xff1a; cuike519的专栏 http://blog.csdn.net/cuike519/本文详细介绍了如何实现在点击DropDownList的时候弹出DataGrid&#xff0c;然后从DataGrid里面选择相应的项。很早就发现在网上有很酷的下拉选择框&#xff0c;今天我在这里也写一个&#xff0c;该方法旨在说…

在数据库组件中用业务规则剖析挑选数据

2019独角兽企业重金招聘Python工程师标准>>> 直接去 techsmith 吧 http://www.screencast.com/t/6o6iWQac 转载于:https://my.oschina.net/ychenIntegration/blog/61634

如果根据日志去禁用user_agent

查看user_agent打开日志文件 cat /usr/local/apache2/logs/test.com-access_20161111_log如何不显示chrome和curl的日志1.打开虚拟主机配置文件vi /usr/local/apache2/conf/extra/httpd-vhosts.conf添加一代代码<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{H…

c库的rand/random随机数产生函数性能差?

有网文称c标准库的rand/random随机数产生函数性能极差。一直信以为真&#xff0c;但从没做过验证。最近因其他因缘&#xff0c;写了些代码专门验证rand/random的性能。结果大出意料&#xff0c;颠覆之前的成见。 结论如下&#xff1a; 1) rand/random性极佳。在64位机器上&…

如何实现立体的DataGrid和具有Windows效果的图片按钮

作者&#xff1a; cuike519的专栏 http://blog.csdn.net/cuike519/下文将为您演示如何将DataGrid实现为一个立体的表格&#xff0c;以及如何实现在Image按钮中实现立体感的效果。为了完成上面的内容我们首先要对CSS的自定义样式有所了解&#xff0c;然后就是一些简单的js代码…

用 Python 详解《英雄联盟》游戏取胜的重要因素!

作者 | DeepHub IMBA责编 | 王晓曼介绍在过去的几年里&#xff0c;电子竞技社区发展迅速&#xff0c;曾经只是休闲娱乐的电子竞技产业&#xff0c;到2022年有望创造18亿美元的收入。虽然在这个生态系统中有很多电子游戏&#xff0c;但很少有游戏像《英雄联盟》那样成为社区的主…

用户输入一个数字,找到所有能够除尽它的数的总个数

想不到我这个小学生也会做 <!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>Document</title> <script type"text/javascript"> //用户输入一个数字&#xff0c;找到所有能够除…

如何在DataGrid里面使用动态图形表示数字

作者&#xff1a; cuike519的专栏 http://blog.csdn.net/cuike519/本文将要简单的介绍如何在DataGrid里面用图形表是一个数字&#xff0c;听起来好象要用到GUI的编程&#xff0c;其实不然&#xff0c;如果你读完全文你就会发现其实很简单&#xff0c;只是一个“小把戏”而已…

替换 RHEL5的yum源为CentOS5源,亲测线上系统可用

最近安装nagiospnp&#xff0c;各种依赖包啊。rrdtool肿么装的这么费劲&#xff0c;后来实在扛不住了&#xff0c;还是修改rhel的源吧&#xff0c;把yum源搞成centos的不就ok了&#xff01;哈哈。然后就从网上一顿猛搜&#xff0c;发现“Ayou”老师的文章很靠谱&#xff0c;很有…

如何使用 Python 构建推荐引擎?

作者 | Craig Kerstiens译者 | 弯月&#xff0c;编辑 | 王晓曼头图 | CSDN 下载自东方IC来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;我非常喜欢数据。数据可以告诉你用户在干什么&#xff0c;还可以提供各种深刻的见解。数据应用的一个方面就是根据历史记录或用…

LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8)

http://www.cnblogs.com/CloudMan6/p/5277927.html LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack&#xff08;8&#xff09;LVM 类型的 Storage Pool不仅一个文件可以分配给客户机作为虚拟磁盘&#xff0c;宿主机上 VG 中的 LV 也可以作为虚拟磁盘分配给虚拟机使用。不过…

.NET中的密码学--对称加密

作者&#xff1a;未知 介绍 在.NET之前&#xff0c;使用非托管的Win32APIs加密解密数据是一件非常痛苦的事情。为了这个加密解密的目的&#xff0c;.NET配置了一组类&#xff08;和命名空间&#xff09;。现在你有很多类可以使用每种不同的算法保护你的数据。在.NET里面Crypt…

哪种编程语言最适合初学者?

经常听到有人在说&#xff1a;“现在技术迭代越来越快&#xff0c;程序员的压力更大了&#xff0c;30岁之后的程序员就不好找工作了......”&#xff0c;这不乏很多人在故意贩卖焦虑&#xff0c;但是也会引起我们对自己发展的思考。尤其刚入行的程序员会迷茫&#xff0c;会思考…