软件开发团队人员资历要求(软件开发团队人员配置)
今天给各位分享软件开发团队人员资历要求的知识,其中也会对软件开发团队人员配置进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、软件开发人员应具有什么素质?
- 2、软件开发工程师需要具备哪些素质?
- 3、软件工程师工作条件?
- 4、APP开发团队基本结构需要哪些职位 以及职位数?
- 5、软件开发需要那方面的人才呢?
- 6、高级软件工程师需要的条件
软件开发人员应具有什么素质?
网上搜一下,很多的,别太懒,比你等快得多;\x0d\x0a程序员、软件开发人员应具备基本技能\x0d\x0a1、项目实践\x0d\x0a• 软件工程理论\x0d\x0a• 质量体系:ISO9001和CMM体系\x0d\x0a• UML基本理论\x0d\x0a• 测试理论和测试工具使用\x0d\x0a• 加密理论和加密方法\x0d\x0a• 源代码控制工具使用\x0d\x0a• 说明书编写\x0d\x0a• 程序的安装和部署\x0d\x0a2、专业技能\x0d\x0a3、程序员基本素质\x0d\x0a• 团队精神和协作能力(• 木桶理论、• 学习性组织)\x0d\x0a• 文档习惯(• 注释、• 开发过程文档:良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。)\x0d\x0a• 规范化,标准化的代码编写习惯(作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。• 代码编写规范• 界面设计规范)这里邵老师强调了标准未必要固定,但在一个项目组中间要有统一的标准。\x0d\x0a• 复用性,模块化思维能力(• 用户控件 • 组件技术)\x0d\x0a• 测试习惯(• 单元测试 • 集成测试 • 系统测试 • 稳定性测试 • 软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。)\x0d\x0a• 学习和总结的能力(• 学习:程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。• 总结:善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况\x0d\x0a和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。)\x0d\x0a4、职业素质\x0d\x0a• 交际能力\x0d\x0a• 表达能力\x0d\x0a• 职业素养\x0d\x0a5、个人素质\x0d\x0a• 信心和恒心\x0d\x0a• 良好的个人品质\x0d\x0a• 良好的个人习惯\x0d\x0a\x0d\x0a• 关于质量控制和开发模板\x0d\x0a• 项目组建设\x0d\x0a\x0d\x0a高级程序员的基本素质:\x0d\x0a1. 需求分析能力\x0d\x0a对于程序员而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,他们不但要理解客户需求,更多时候还要自行制定一些需求,为什么这么说呢?\x0d\x0a2. 项目设计方法和流程处理能力\x0d\x0a程序设计者必须能够掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。\x0d\x0a3. 复用设计和模块化分解能力\x0d\x0a一个成熟的软件行业,在一些相关项目和系统中,不同的部件是可以随意换装的,比如微软的许多桌面软件,在很多操作模块(如打开文件,保存文件等等)都是复用的同一套功能模块,而这些接口又通过一些类库提供给了桌面应用程序开发者方便挂接,这就是复用化的模块设计明显的一个佐证。\x0d\x0a4. 整体项目评估能力\x0d\x0a作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量的经验积累,换言之,这是一种不断总结的累计才\x0d\x0a能达到的境界\x0d\x0a5. 团队组织管理能力\x0d\x0a首先是工作的量化,没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。\x0d\x0a其次是对团队协作模式的调整,一般而言,程序开发的协作通常分为小组进行,小组有主程序员方式的,也有民主方式的,根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率.
软件开发工程师需要具备哪些素质?
随着移动互联网的普及与发展,手机应用不断深入我们生活的方方面面,移动系统和软件应用的开发领域,成为了未来具有潜力的行业之一,合格的软件人才在任何企业都具有不可替代的竞争优势 。
选择江西新华电脑学院软件技术工程师专业,你将学习:
网络安全基础、Dreamweaver网页设计、Photoshop网页效果图制作、Window Server 2008服务、器操作系统和活动目录、C语言、SQL Server2005数据库、设计和高级查询、HTML5+CSS3、JavaScript、jQuery高级编程、动态网页设计PHP+MYSQL、Linux服务器操作系统、数据结构软件工程、JAVA面向对象程序设计、oracle数据库、J2EE服务器端高级编程、手机APP视觉设计、APP应用程序开发等。
软件开发具体要干的事如下:
软件开发的内容是:需求、设计、编程和测试。
1、需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,经常要和客户、项目经理等交流。
2、设计:编码前,肯定有个计划告诉要做什么,结构是怎样等等。一定要按照这个来做,否则可能会一团糟。
3、编程:如果在项目截止日,程序不能跑起来或达不到客户的要求,就拿不到钱。
4、测试:目的是让自己知道,什么时候算是完成了。应该先写测试,这样可以及时知道是否真地完成。软件开发中,客户和开发人员都有自己的基本权利和义务。客户:定义每个用户需求的商业优先级;制订总体计划,包括用多少投资、经过多长时间、达到什么目的;在项目开发过程中的每个工作周,都能让投资获得最大的收益;通过重复运行所指定的功能测试,准确地掌握项目进展情况;能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划等。
软件工程师工作条件?
① 怎样才能成为软件工程师
先就业再择业。刚毕业的时候急需的是工作经验,学校的知识对于工作而言是不够的,如果觉得自己在软件开发方面有一技之长,也有信心,那么直接进入软件外包公司是个好选择,在就业的最初两三年里尽量让自己的优势更强,软件行业最吃香的就是有两三年经验的人,只要让自己成为团队中比较优秀的一部分人,快速实现底薪翻倍是不难的。如果在软件开发方面信心不足或者优势不明显,建议找非软件行业的企业工作,接触的事情会比较杂,但很锻炼人,虽然缺乏很好的技术环境和学习氛围,会感觉有些寂寞,但走这条路可以避免跟同行业优秀者直接竞争,转而成为非软件企业中的技术大拿,多接触主营业务,尤其是软件设计和企业信息化方面,会让你很快找到发展的方向和动力。
总而言之,切勿这山望着那山高,机会不会永远等着你,所以尽量快速地融入社会环境是当务之急。
② 求:软件工程师岗位说明、工作内容、任职资格、工作条件、就业和发展前景
软件工程师这个行业忒大了吧,
大体分三种吧,web方向的,应用程序方向的,移动开发方向的。
不过我猜你问的也是初级的软件工程师,而且还是web方向为主的。
工作内容吗,就是敲代码了,有高手说是在设计一个艺术品,这个境界,我还真没有达到!
任职资格,你会一门计算机语言,懂得利用这门语言做出老板想要的东西就可以了,文凭不限对于高手而言,现在入门级别都是大专!
就业和发展前景,你要是有天赋,还肯努力,同时稍微有那么点耐心,OK,你以后至少都是中产阶级,你要是没有天赋,那么如果你还肯努力,同时很有耐心,能忍受的住寂寞,OK,你以后还是可以成为中产阶级,如果你没有天赋,还不肯努力,有没有耐心,这行还真不行!
③ 如何考软件工程师证件
考试流程包括:
(1)软件工程与软件测试基础知识,考试时间为150分钟,笔试,选择题。
(2)软件测试应用技术,考试时间为150分钟,笔试,问答题。
考试科目:
"PC技术"、 "信息管理技术"、"数据库技术"和"网络技术"。
一、考试要求
(1)熟悉计算机基础知识。
(2)熟悉操作系统、数据库、中间件、程序设计语言基础知识。
(3)熟悉计算机网络基础知识。
(4)熟悉软件工程知识,理解软件开发方法过程。
(5)熟悉软件质量及软件质量管理基础知识。
(6)熟悉软件测试标准。
(7)掌握软件测试技术及方法。
(8)掌握软件测试项目管理知识。
(9)掌握C语言以及C++或Java语言程序设计技术。
(10)了解信息化及信息安全基础知识。
(11)熟悉知识产权相关法律、法规。
(12)正确阅读并理解相关领域的英文资料。
二、通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运用软件测试管理方法、软件测试策略、软件测试技术,独立承担软件测试项目;具有工程师的实际工作能力和业务水平。
三、高级程序员考试和软件工程师认证考试区别:
(1)软考主要是以教程和希赛出版社的教辅为主,历年考点重复考,所以要多做历年试卷,很有规律性。
(2)如果是想进外企:微软认证或思科认证。费用比较高。如果是以国内企业为主,参加软考就够了。
(3)软件工程师工作条件扩展阅读:
软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。与其它职称一样也分:助理,初级,高级工程师。
报考条件
由于信息技术发展迅速,计算机软件是年轻人的事业,为了不拘一格选拔人才,计算机软件资格考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。
考试时间
计算机软件资格考试原则上每年组织两次,在每年第二季度和第四季度举行。上半年考试与下半年考试的种类不尽相同,所以,大多数类别的考试每年举行一次。具体的考试安排中国计算机技术职业资格网网站上公布的本次考试安排。
发证机构
经职业技能鉴定、认证考试合格者,颁发加盖全国职业资格认证中心(JYPC)职业技能鉴定专用章钢印的《软件工程师职业资格证书》。权威证书,全国通用。 *** 认可,企业欢迎。网上查询,就业首选。
职业定义
软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。
④ 面试软件工程师要有什么条件
最重要的是技术,不知道楼主是应届毕业生还是已有工作经验的。
如果你是应届毕业生的话,最重要的是你的专业,以及软件相关的基础知识,一般不会太难。其次就是你的言谈举止,要让别人看到你是有潜力的。
如果你已有相关工作经验,这时候的重点就是你有没软件编程方面的工作经验,以及你在这软件方面的精通程度,根据这些,定位你的薪资水平。
⑤ 软件工程师要求
软件工程师要求?对于软件工程师,学历次要,最主要的是看有多少项目的经验,根据岗位不同,对软件工程师的要求也有所不同。要详细了解软件工程师的要求,其实看看企业的招聘就知道了,呵呵。现在对于软件工程师分的也很细,方向不同,要求就不太一样,但是总的素养基本都是差不多的,还有软件工程师的确是一个很好的职业。
下面举几个例子:
1.熟悉开发体系,熟悉C#/ASP.NET
2.熟悉SQLServer,Oracle数据库开发
3.以上要求至少3年开发经验。
4.具有企业管理系统项目经验。5.了解企业ERP及财务管理软件(用友,金蝶)者优先。6.善于沟通,能独立撰写方案。为人诚实,善于学习,做事认真负责,积极主动,具有敬业精神,有团队精神
web应用程序开发
技能要求:
熟练使用Struss2+Hiberate
掌握Jquery
掌握Java
熟悉Oracle
掌握xml\webservice
掌握OOD、OOP
基本文档写作能力
1.计算机或相关专业本科以上学历;
2.有4年以上开发经验,有良好的代码编写习惯,熟悉软件开发规范;
3.熟练掌握ASP.NET等编程语言,熟悉.Net开发环境,理解.Net Framework,理解并能熟练使用WebService、O/R mapping、Remoting、多线程等技术;
4.热衷于互联网WEB开发,热衷于钻研最新的前沿技术,精通XML,Javascript,CSS,AJAX等WEB前端技术;
5.熟练的技术文档编写能力,熟练使用Rose,Power Design,Visio等建模和设计软件,有一定的架构设计能力;
6.精通SQL server数据库技术,了解数据库性能调优者优先.
1.计算机专业本科以上学历,一年以上C#/ASP.NET开发经验,熟练使用SQL数据库,有欧美项目开发经验者优先;
2.大学英语四级以上,具有较强的听、说、读、写能力,尤其是听、说能力;
3.工作认真细致,踏实肯干,具有较好的团队协作精神和沟通能力;良好的逻辑思维,能够承受一定的工作压力并可以按时完成工作且保证质量
一般就是上面这些要求了。
至于多少时间可以达到上班的水平,现在一般的培训机构说的差不多就是9个月左右。勤奋点,时间可以短些。如果要培训,个人推荐威迅教育,质量很好,价格比其他机构低。
⑥ 软件工程师分为哪几类
编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。
Java软件工程师的未来发展方向大致分为两类:成为管理人员,例如产品研发经理,技术经理,项目经理等;继续他的技术工作之路,成为高级软件工程师、需求工程师等。
工程师,Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用开发并简化使用。IT人员对Net保持了应有的警惕,因为它毕竟还是个新事物,需要有一个比较艰难的学习曲线。但是对于大多数组织而言,其优点远远多于缺点。
(6)软件工程师工作条件扩展阅读
软件工程师工作内容
1、 指导程序员的工作。
2、 参与软件工程系统的设计、开发、测试等过程。
3 、协助工程管理人保证项目的质量。
4 、负责工程中主要功能的代码实现。
5 、解决工程中的关键问题和技术难题。
6 、协调各个程序员的工作,并能与其它软件工程师协作工作。
7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等。
8、考试科目工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。
⑦ 本科软件工程专业考软件工程师具备哪些条件
环评方面刚毕业考环境影响评价上岗资格证,工作5年后考环境影响评价工程师。回
水处理方面,答先考注册环保工程师基础部分,工作5年以后考注册环保工程师专业部分,均通过获注册环保工程师。
咨询方面,工作6年后考注册咨询工程师。
环境监测类的,考分析中级操作工证,分析高级操作工证。
当然了英语啊,计算机啊之类的证书能有就最好拉,还有ISO14000等政策法规证件,以上所说的年限均是以本科毕业为前提,专科相应年限均要适当加长。
⑧ 软件工程师的技能要求
一名优秀的测试人才,目前我们国内的企业或者外企,包括大型的软件企业,一般情况下应该有哪些技术要求呢?具体来讲: 第一,对Windows、Linux、Unix等大型主流操作系统的使用和应用开发的熟练掌握,包括一些网络的基础知识。使学员具备快速进行应用系统部署和测试环境搭建的能力,这是一个基本功。
第二,软件测试工程师必须掌握目前比较流行的语言,比如说C、C++、JAVA、C#、VB等等多种平台下的一种或者多种语言,具备进行简单应用开发的能力。这是做好测试的一个前提条件,也是一个基本功。
第三,目前大部分应用软件都离不开数据库,熟练掌握SQL Server、Oracle、DB2等一种或多种数据库系统的使用,熟悉使用SQL语言,这是要具备的第三项能力。
第四,随着信息技术的发展和各个领域的信息化程度越为越高,安全也提到越来越重要的位置上,没有安全其他都无从谈起。所以做为测试人员对信息安全知识的基本掌握也是做测试的一个基本功。
第五,必须深刻理解和熟练掌握软件测试基础理论与技术。首先是精通各种黑盒测试技术,能够进行测试用例设计、测试执行、编写缺陷报告;其次是熟悉软件测试流程和测试过程管理,能够编写测试计划,具备组织测试工作的能力;还有熟悉白盒测试技术,能够手工或利用相关工具进行单元测试;最后还有测试管理相关知识的掌握,虽然这在企业里是对测试组长和经理的要求,但是我们按照优秀软件测试工程师来要求我们学员的,学员具备这一能力将来才有可能走上管理岗位。
第六,因为当前软件测试要提高工作效率和进行性能等深入测试。故此目前在测试上一个很重要的方向是自动化测试,就是借助于测试工具来做测试,这个就像我们每天是走路上班还是开车上班一样,汽车肯定会节约很多的时间,这就是工具的利用。对测试来说也是一样,如果用工具就会达到事半功倍的效果。所以测试人员要掌握和熟练使用当前主流的功能、性能自动化测试工具以及测试管理工具,具备编写测试脚本、进行功能和性能测试自动化测试的能力。
第七,软件测试和软件质量密切相关。对软件测试员来讲必须学会软件质量分析技术,包括对软件的分析和度量各种技术,包括软件静态和动态分析技术,以及编写软件质量报告和测试分析报告的能力等等。测试人员作为软件开发过程中的一员,学员应该对企业的质量管理体系和项目管理应该熟悉,应该了解IS9000、CMM、CMMI项目管理等等知识。
最后,还有些对测试人员综合素质上的要求,比如良好的英语听说读写能力、具有良好的语言及文字表达能力、较好的沟通技巧及团队合作精神、有较强的责任感及进取精神、细心、耐心,具备逆向思维能力等。 转载ING
⑨ 一个软件工程师应该具备什么样的素质
软件企业要求基础软件工程师具备六大基本素质,即良好的编码能力、自觉的规范意识和团队精神、认识和运用数据库的能力、较强的英语阅读和写作能力、具有软件工程的概念和求知欲和进取心。
良好的编码能力。软件人员的一个重要职责是把用户的需求功能用某种计算机语言予以实现。编码能力直接决定了项目开发的效率。这就要求软件工程师至少精通一门编程语言,比如当前国内企业常用的C/C++、VB和国际上最流行的Java语言,熟悉它的基本语法、技术特点和API(应用程序接口)。
自觉的规范意识和团队精神。随着软件项目规模越来越大,仅仅依靠个人力量已经无法完成工作,因此,现代软件企业越来越重视团队精神。一般来讲,软件企业中的程序员可以分为两种,一种是程序“游击队员”,他们可能对编程工具很熟,能力很强,把编码编得很简洁高效,但却缺乏规范和合作的观念;另一种程序员编程不一定很快,但是很规范,个人能力不一定很强,但合作意识很好。第二种人更加适合现代软件企业发展的潮流。对于基础软件工程师来说,他们在企业中的角色决定了他们必须具有良好的规范意识和团队精神。
认识和运用数据库的能力。信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。目前常用的数据库软件有甲骨文公司的Oracle数据库和微软公司的SQL Server等。
较强的英语阅读和写作能力。程序世界的主导语言是英文,编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英文,与世界各地编程高手交流、发布帮助请求同样离不开英文。作为基础软件工程师,具有一定的英语基础对于自身的学习和工作极有帮助。
具有软件工程的概念。基础软件工程师处于软件企业人才金字塔的底层,是整个人才结构的基础,虽然他们从事的工作相对于系统分析师和高级程序员要单纯一些,但是他们是整个软件工程中重要的一环,因此,基础软件工程师同样要具有软件工程的概念。从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作,这样的能力正好符合了当前企业对基础软件工程师的全面要求。
求知欲和进取心。软件业是一个不断变化和不断创新的行业,面对层出不穷的新技术,软件人才的求知欲和进取心就显得尤为重要,它是在这个激烈竞争的行业中立足的基本条件。软件工程师应具有较强的学习总结能力、需求理解能力和对IT新技术比较敏感,同时,掌握最新的IT实用技术。
APP开发团队基本结构需要哪些职位 以及职位数?
1.产品经理:具有通信、计算机等相关专业知识,有独立的软件开发经验,能熟练使用网络测试工具,熟悉软件开发架构与流程;有良好的团队协作能力、沟通表达能力,有一定的项目管理经验;富有激情,有较强的执行能力和带队能力。
2.程序开发人员:计算机、软件工程等相关专业,熟悉开发框架,能够独立完成android开发;精通Java、C/C++等编程语言,熟悉 Http协议;有良好的编程思维和代码规范习惯,踏实好学,善于协作。
3.测试专员:计算机、软件工程等相关专业,有丰富的APP使用经验;了解android应用软件的测试框架和流程,熟悉QA标准,精通测试软件的使用,具有一定的数据分析能力、沟通表达能力和文档编辑能力;严谨细心,心思缜密,善于协作。
4.UI设计师:视觉传达、美术设计等相关专业,精通APP交互设计;精通Photoshop、Flash、Illastrator等专业软件;有较强的艺术感和较高的审美水平,了解市场对交互设计的要求,能够准确把握用户的审美需求;耐心负责,有较强的沟通理解能力、团队协作能力。
5.运营团队:营销策划、市场运营等相关专业,有丰富的产品运营经历和营销手段,能准确把握市场动向和社会热点;有项目推广、管理经验,较强的市场调查和数据分析能力,熟悉APP上线、维护流程;有较强执行力,热情善于交往,思维敏捷,良好的团队合作精神。
比如技术开发负责APP的程序编写,编写的过程中还要同UI设计进行交流,开发完成的APP需要交给软件测试人员进行测试来保证APP在正式上线时确保无BUG,这个过程也需要开发人员进行配合进行DEBUG;后期上线后还需要专门的推广营销人员开做市场调研。
软件开发需要那方面的人才呢?
你好!
1 前言
软件开发并不是只有一个编程的人,而是可以分为不同的角色。不同的软件公司因为规模大小性质各不相同,所以围绕软件的角色也各不相同。一个大型的软件外包企业,外资企业,往往分工明确细致,每个人像螺丝钉一样在一起工作,让整个大机器得以运转。而在一个小型创业企业里面,往往一个人从接触客户,到开发产品到交付产品一条龙走完,整个产品周期就一个人,甚至几个产品周期就一个人。
2 软件开发团队角色
一般的项目组可以说一共有5种角色,开发(DEV),测试(QA),质量监督(SQA),技术主管(Tech-Lead),开发经理(SDM)。
2.1 开发 (DEV)
开发就是大家经常说的编程的人。工作主要是写代码,其次是跟团队成员客户沟通。前后者比例大概是7:3的关系。开发是整个软件开发团队当中的最重要的角色之一,道理很简单,产品出自于他们的亲手。说到开发,大家的印象就是整天呆在电脑面前,目光呆滞,头发凌乱的计算机人士。确实,整天和计算机打交道的人的确容易变成这样,因为开发首要解决的问题就是如何用技术能力去解决客户的需求,而不是自己的形象怎么样。事实上这种情况在现代中得到很大改善,很多IT人士都很注重自身形象。具体的工作不仅要写代码用算法实现业务逻辑,更要有程序设计的思想,大到整个的程序框架,小到某个小模块的扩展性兼容性,都是在开发真正写代码之前着重要考虑的方面。
现在的编程不像以前打孔式编程那么艰涩,大厂商开发的强大的编程工具(IDE)让编程事半功倍。然而技术在变简单的同时,客户需求又在日趋复杂化。而技术就是为了实现业务逻辑,将业务逻辑抽象建模用计算机程序的方式表现出来,所以一个不懂业务逻辑的开发不会了解模块和模块之间如何协同工作,这便给工作带来很大的局限性。而如果一个开发只关注每个模块之内的细节实现,那在现实中便不是一个好开发,至少不是一个好用的开发。
沟通方面,开发需要和测试,技术主管,开发经理,甚至客户方面沟通,所以必要的沟通能力还是很需要的。现在的软件不再是一个人在战斗,在团队作战中,开发有时需要和测试讨论“某个软件Bug(缺陷)是不是Bug”,有时需要和技术主管讨论客户的某个需求到底是要实现什么内容,有时需要和开发经理讨论项目的进度是否需要推迟。
就开发的工作本身而言,是不太需要管理能力和全局观的,如果能够做好编程的工作之外,这两方面也比较强,可能就离升职加薪不远了。
2.2 测试(QA)
任何一个产品都需要测试,就好比制造业中如果生产了一批电灯,我们不能听制灯师傅说信得过而信得过,而得通过一系列模拟用户的行为来对电灯进行测试,指标合格后方可出厂投入市场。
软件测试也一样,需要对开发者开发出来的模块,产品进行全方位的测试。
原则是“做正确的事”,让客户需求功能得到满足。基本做事方法就是模拟客户的一切日常行为,包括一些极其变态的行为,考验软件在各个方面的情况下的可用性和稳定性。而这些“日常行为”便称之为测试用例(Test case),一个好的QA会设计出一套可以覆盖所有检查点(check point),又不重叠的测试用例,这套功底可以参考MECE方法。既然如此,QA就需要对整个软件的业务相当熟悉,因为她(他)要知道在某个用户行为下,软件是否做出了正确的反应。
既然是模拟用户行为,那么QA就需要去手动“跑”测试用例。当一个系统很大的时候,测试用例极其多,光用手点一遍是非常耗费时间和人力的,所以QA可以做自动化测试。所谓自动化,便是QA编写一些脚本代码,让计算机帮助去实现一些人为的行为,而不用自己手动点。所以这就需要QA做有一些代码编写能力。
沟通方面,QA经常要和DEV讨论Bug(软件缺陷),Bug的意思是本应该有的功能却没有做到的功能。对于某些比较似是而非的Bug, 怎么能够让开发者心服口服地承认并去修复往往需要花费一番口舌。而这些Bug往往是根据不同的人的价值观认定是不是Bug,所以合理地传递价值观也是QA的一个基本素质。现实的一个案例是,公司某QA“传递价值观”能力极强,于是被拉去做市场去了。除此之外,QA还要经常和技术主管沟通,熟悉客户需求。
全局观是因为QA要做集成测试,这样需要对产品本身有个全局的观念。比如产品有个用户管理系统和订单管理系统,那么对于“删除一个用户”的行为,用户的订单会怎么处理?这便是一个全局观的意识。往往一个好的QA在这点上可以帮用户想到很多用户没想到的东西。
2.3 质量监督(SQA)
如果说QA的作用是确保“做正确的事”,那么SQA的作用就是确保“正确的做事”。
通常SQA是不会直接参与软件开发的工作中,而是通过在一旁监督软件开发的过程,然后把监测的结果反馈给软件开发团队。
既然是监督过程,所以SQA经常是流程化的代名词。流程是外企当中比较看重的东西,从每天的Daily report, 到每周的weekly meeting,从什么时候把当天的结果存到服务器上,到为什么团队出现重大事故,几乎都会有SQA的参与。所以在前期制定一个符合项目的流程是SQA的必然工作。项目运行过程中,所有项目流程规定的点所涉及到的邮件都要CC一份给SQA。
当SQA通过流程观察项目的运行情况的时候,必然会收集到很多数据(包括刚才提到的邮件)。SQA会对这些数据进行统计归纳,然后总结出规律和报告直接递交给总监(Director)。鉴于此,SQA在我们公司地位还是很高的。
SQA还会不定期对开发团队进行个人的face to face面对面一对一沟通,名字叫Audit,中文翻译过来类似叫审计。这种行为更针对“人”的评估,而不再是产品。因为产品的好坏决定于人的好坏。
2.4 技术主管(Tech-Lead)
技术主管在我们公司往往就是一个项目的负责人。最主要的工作莫过于软件架构设计,客户需求沟通,技术难点解决和内部团队管理。
技术主管,名字便告诉了大家技术功底一定要很牛,在我们公司经常是一些工作了2-3年以上的软件工程师或者高级软件工程师担当。虽然技术很牛,不过实际上直接参与软件开发的还是DEV(开发者),技术主管只是在比较高的一层面进行协调,所以直接代码编程很少。但是遇到了技术障碍DEV无法克服的时候,技术主管一定要及时站出来做一个Problem solver。
技术主管的日常主要工作就是和客户沟通,熟悉需求,然后把业务需求转换成软件需求给DEV去做。所以技术主管对业务逻辑要相当的熟悉,在整个项目角色中,对业务最熟悉的除了客户就是技术主管。所以技术主管起到了一个衔接的作用,沟通起了客户和开发,连接起了现实的业务需求和虚拟的软件实现。这一切,对技术主管的沟通能力的要求就很高了。
软件团队不是一直和谐的,有时会出现某个模块的接口和另外一个模块的接口衔接不上,有时会出现一个人的工作被另外一个人的工作Block(中断)了,有时也会出现某个DEV总是不买某个QA的账等等,所有的这一切,从技术到人本身,都在时时考验一个技术主管的管理水平。
2.5 开发经理(SDM)
软件开发经理是一般软件项目中执行层面上的最高职位了。其主要作用是项目的进度控制,客户高层沟通,甚至到项目预算控制。
软件开发经理的编程功底要看具体人而定,在我们公司软件开发经理一般都是技术出身,5-8年的工作经验或软件行业的资历。在具体的项目中,几乎不参与任何代码的编写和设计工作。前期的项目计划(Project Plan),中期的项目进度管理和客户需求管理,到后期的项目交付,所有的工作都是软件开发经理和客户主要要沟通的东西。
业务方面,软件开发经理对业务认知的能力是非常强悍的,因为资历深的人对很多陌生的业务嗅觉和认知要比其他人强。不过在实际中,业务需求方面大部分工作给技术主管做了,所以软件开发经理主要关注于项目总体,对细节不太关注了。
软件开发经理还有个重要的作用便是在软件项目过程中,积极地调动项目内外的资源。简单的说,把合适的人放在合适的位置上。当团队出现无法解决的问题时,软件开发经理会想方设法从外部获取资源帮助团队渡过难关。
3 从软件开发团队成员看21世纪企业所需的人才素质
从一个软件开发团队中开发(DEV),测试(QA),质量监督(SQA),技术主管(Tech-Lead),开发经理(SDM)这五类角色所具有的各种能力我们不难看出二十一世纪的社会需要的是什么样的人才,答案很明确,二十一世纪我们需要的是复合型人才。
那什么是复合型人才呢?复合型人才就是多功能人才,其特点是多才多艺,能够在很多领域大显身手。复合型人才包括知识复合、能力复合、思维复合等多方面。当今社会的重大特征是学科交叉,知识融合,技术集成。这一特征决定每个人都要提高自身的综合素质,个人既要拓展知识面又要不断调整心态,变革自己的思维,成为一名“光明思维者”。那么一名复合型人才又应该拥有哪些素质呢?
3.1 高尚的思想政治品格
首先,要树立正确的马克思主义世界观、人生观、价值观,用辨证唯物主义的观点,客观、动态、全面、本质、联系地看问题、分析问题、解决问题。
其次,要有坚定的政治立场,坚持四项基本原则,树立共产主义的信念和理想,自觉、积极、热情、主动地参加有中国特色的社会主义的建设,为实现社会主义现代化而奋斗。在现今社会中,要能识别和抵制各种错误思潮的影响,坚定正确的政治方向。
第三,要有现代意识,譬如竞争意识、时效意识、科学意识、开放意识、改革意识、民主意识、法制意识、平等意识、信息意识、优质服务意识等。
3.2良好的科学文化知识
科学文化素养是指人们对自然科学、人文社会科学、文学、美学、艺术等人类文化各种基本知识或常识的认识程度和掌握情况。21世纪的人才又需要精深而娴熟的专业知识、先进而新鲜的前沿知识以及与本专业相关的各种知识。
3.3 法律道德知识
21世纪的社会将是一个法制社会,法律在它的适用范围内具有普的约束力和强制性。尤其在社会主义市场经济下,任何经济活动都必然依法进行,知法、懂法、用法、守法,增强法律意识就显得更加重要。所以,21世纪人才必须有较高的法律修养,了解宪法和法律的基本内容,正确行使公民权利,认真履行公民义务,作一个守法的公民,运用法律维护自己的正当权益。
3.4 健康的心理
所谓心理健康是指个体在各种环境中都能保持一种良好的心理效能状态,个体在这种状态下能以社会认可的方式调节内部心理结构,以取得对外界环境的良好适应,并充分发挥其身心潜能,保持旺盛的生命力。
3.5 一定人际交往能力和合作精神
21世纪是一个变化极快的时代,由此是一个竞争异常激烈的社会,但也由此不可能光靠一人的能力来成就事业,因此21世纪更加需要合作。合作精神是一种值得弘扬的时代精神,也是新世纪人才必备的一种优良品质,我们必须放弃“鸡犬之声相闻,老死不相往来”的陋习,倡导科学、文明、健康、开放的社会交往方式,学会交往,学会合作,提倡合作精神。在人际交往和互相合作过程中注意互惠互利、互相尊重、互相信任、摆脱嫉妒、能力升华等,把祖国建设得更富强。
3.6 新时代的创新精神
创新精神是21世纪所必备的,没有创新就意味着“一潭死水”,停滞不前,继而落后,继而挨打。科学技术要走在世界前沿,经济建设要跻身世界前列,无不需要创新,尤其在建设有中国特色的社会主义的中国,从事这具有开拓性的亿万中国人民所从事的崭新事业,既无前人之鉴,也无现成的经验参考,这就完全要靠我们自己去开拓、去创新。
3.7 身体健康素质
人乃万物之本,人之成才要在体力和脑力上付出艰辛的劳动,这就要求在生理机能上有良好的体质和健康、发达的大脑。身体健康素质应包括三个方面:一是要有结实健壮的身体,能够抵抗疾病、承受繁重的工作和各种艰苦环境的考验;二是要有健康、发达的大脑,能够足以用它来汲取知识和承受繁重的脑力劳动;三是要有良好的心理素质,保持健康人格。
综上所述,这几大素质是21世纪人才必需的。它们不是各自孤立的,需要全面、整体、和谐地发展,才有可能形成新世纪人才的基本素质。
4 结束语
二十一世纪是一个社会高速发展的时代,我们需要的是具有全面素质的复合型人才。
高级软件工程师需要的条件
高级软件工程师需要的条件
软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。下面是我整理的关于高级软件工程师需要的条件,欢迎大家参考!
高级软件工程师要求
腾讯数据平台部高级Java研发工程师(深圳)
"海量分布式数据银行的需求分析,架构设计和技术研究,及关键技术的开发工作;
相关后台系统的开发与调试;
与其它项目的协调和技术交流工作等。" "三年以上工作经验,有大型互联网行业从业经验优佳;
精通Java研发,熟悉Java开发环境和工具;
掌握多线程及高性能的设计与编码及性能调优;有高并发应用开发经验;
熟悉Linux/Unix系统,包括Shell/Python等脚本编码和软件开发等;
熟悉Hadoop、Hive、HBase等相关开源项目,或者从事过分布式相关系统的设计、开发工作;
工作认真,细心,有条理;积极性高,求知欲强;具有较强的沟通能力及团队合作精神。"
岗位职责:
职责定位:.负责珍爱网核心业务模块的设计与开发.理解系统的业务需求,制定系统的整体框架 .参与公司底层技术架构研发
珍爱网高级Java工程师
岗位要求:
计算机及相关专业本科以上学历
.精通Java,J2ee,Javascript相关技术和体系架构,具备2年以上相关项目开发经验
.熟悉spring, struts, svn工具
.熟悉mysql数据库,了解SQL优化
.熟悉LINUX操作系统,熟悉SHELL编程
.有过大型互联网应用的.开发经验,熟悉缓存架构,分布式架构,了解集群、负载均衡和容灾
.熟悉敏捷迭代开发流程
.具有较强的团队合作意识,具有较强的分析、设计能力和语言文字表达能力。
5年以上工作经验 有大型分布式系统开发经验 海量数据处理经验 hadoop项目经验
没有电商项目 不会有面试的。。
上海研发中心_Java高级软件工程师
工作内容:
-搜索联盟以及相关业务系统研发
-广告平台以及相关系统研发
-在线服务相关的管理信息系统
-其它基于Java语言的应用软件开发
要求:
-本科或本科以上学历,计算机相关专业
-熟悉JSP/Servlet/EJB和JavaScript等WEB开发技术,熟系Spring,Struts和Hibernate等 主流的开发框架
-对Java面向对象软件结构有深入理解以及很强的应用能力
-熟系数据库oracle,mysql其中一种,拥有优秀的数据库设计能力
-熟练使用UNIX、LINUX,能进行shell编程
-了解TCPIP、HTTP等协议
-三年以上行业大中型软件开发经验
-学习能力强,拥有优秀的逻辑思维能力
-自我管理能力强,有良好的时间意识
-有较好的沟通交流能力
;
关于软件开发团队人员资历要求和软件开发团队人员配置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。