① 开发软件需要具备哪些条件
通常情况下,软件工程师需要具备以下几个方面的知识结构:
第一:操作系统知识。操作系统知识是软件工程师必须具备的重要内容,Web开发领域可能会使用到Windows系列操作系统,大数据和物联网方向要使用到Linux系列操作系统,掌握操作系统的体系结构是进行软件研发的重要基础。主要内容包括资源管理、任务调度、并发管理、权限管理、网络管理等内容。
第二:编程语言和算法。编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言,比如Web开发可能会使用PHP、Python、Java等语言,而大数据可能会使用Java、R、Scala等语言,而物联网开发可能会使用到C、C++等编程语言。通常来说,软件工程师往往需要掌握多门编程语言,以应对不同的开发环境。算法是软件工程师的重点知识结构,因为软件研发说到底就是个数学问题,所以算法的掌握情况往往能够决定软件工程师的成长高度。当然,对于应用级软件工程师来说,也有可能不会接触到更多的算法。
第三:领域知识。不同开发领域需要掌握不同的知识结构,比如大数据软件工程师往往需要掌握Hadoop、Spark平台的使用,而Web开发工程师往往还需要掌握前后端开发技术,包括一系列Web开发框架的使用等等。
软件工程师需要学习以下知识:
(1)熟悉计算机系统的基础知识;
(2)熟悉网络操作系统的基础知识;
(3)理解计算机应用系统的设计和开发方法;
(4)熟悉数据通信的基础知识;
(5)熟悉系统安全和数据安全的基础知识;
(6)掌握网络安全的基本技术和主要的安全协议与安全系统;
(7)掌握计算机网络体系结构和网络协议的基本原理;
(8)掌握计算机网络有关的标准化知识;
(9)掌握局域网组网技术,理解城域网和广域网基本技术;
(10)掌握计算机网络互联技术;
(11)掌握TCP/IP协议网络的联网方法和网络应用服务技术;
(12)理解接入网与接入技术;
(13)掌握网络管理的基本原理和操作方法;
(14)熟悉网络系统的基本性能测试和优化技术,以及可靠性设计技术;
(15)理解网络应用的基本原理和技术;
(16)理解网络新技术及其发展趋势;
(17)了解有关知识产权和互联网的法律、法规;
(18)正确阅读和理解本领域的英文资料。
希望对您有所帮助!~
② 软件工程师需要具备什么条件
一,良好的编程能力。编程能力直接决定了项目开发的效率。这要求软件工程师至少精通一门编程语言,熟悉它的基本语法、技术特点和 API( 应用程序接口 ) 。 二,自觉的规范意识和团队精神。随着软件项目规模越来越大,仅仅依靠个人力量已经无法完成工作,因此,现代软件企业越来越重视团队精神。一般来讲,软件 企业中的程序员可以分为两种,一种是 " 游击队员 " ,他们可能对编程工具很熟,能力很强,编写的程序简洁高效,却缺乏规范和合作的观念;另一种程序员个人能 力不一定很强,但程序较为规范,合作意识良好。第二种人更适合现代软件企业发展的潮流。对于基础软件工程师来说,他们在企业中的角色决定了他们必须具有良 好的规范意识和团队精神。 三,认识和运用数据库的能力。信息以数据为中心,因此与数据库的交互是必不可少的,了解数据库的操作和编程是软件工程师需要具备的基本素质之一。 四,较强的英语阅读和写作能力。程序世界的主导语言是英文,编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英 文,与编程高手交流、发布帮助请求同样也离不开英文。作为基础软件工程师,具有一定的英语基础对于提升自身的学习和工作能力极有帮助。 五,具有软件工程的概念。基础软件工程师从事的工作相对于系统分析师和高级程序员要单纯一些,但是 他们仍然是整个软件工程中重要的一环,他们同样需要具有软件工程的概念:从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些 过程,并能胜任各种环节的具体工作。 六,求知欲和进取心。软件业是一个不断变化和不断创新的行业,面对层出不穷的新技术,软件人才的求知欲和进取心就显得尤为重要,它是在这个激烈竞争的行业中立足的基本条件。软件工程师应具有较强的学习总结能力、需求理解能力以及对新技术的敏感性。 上述这些能力不可能凭空产生,而是通过培训和教育的过程逐步获得的。目前,社会上的软件工程师培训很多,但良莠不齐。有些好的培训,能够从知识到技能、 从技能到应用、从应用到项目,多层次多角度地对学员进行培训,不仅关注技术层面,同时关注项目规划的实施、团队合作、技术文档的编写等在认证培训过程中无 法顾及、但在实际工作中又不可或缺的能力的培养,可以使学员在理论上掌握和理解面向对象的软件工程方法和组件化的软件设计思想。还有一些培训中心,针对软 件设计人员,通过对经典设计模式的理论实践,使学员掌握、运用其思考和解决问题的方法,总结技术经验,构造自己的设计模式库,使软件设计人员能系统地掌握 面向对象的方法。 与信息技术领域先进的基础理论教育相比,我国高校软件人才培养模式在实践技能的培养、 IT 前沿技术 的获取与沟通、具有国际水平和标准的软件项目开发等方面的培养存在极大不足。为解决这一问题,有必要在高校推出 " 软件教育产品 " 的人才培养模式。 " 软件教 育产品 " 是一种培养中、高级软件人才的教育产品化解决方案,其根本目的可以归结为 -- 培养掌握 IT 技术发展方向、熟悉国际开发准则和标准,并且具有丰富项 目管理经验的高级软件项目管理人员。 " 软件教育产品 " 包含了教学方案的设计、课程选取与设置、教材的引进与二次开发、教学管理流程的监控、教学实践环节的 落实等等。 仅有技术是远远不够的 产业变动快速,复合型的概念也适用于信息技术相关科系,软件工程师若能软 / 硬件兼修或略通电信,再通晓某一行业的相关知识,在职场上就会比单纯写程序的工程师吃香,工作选择机会也比较多。而要想成为复合型的软件工程师,至少要做到以下几点: 第一,培养自己的市场意识。市场需求决定着软件产业的发展方向,软件工程师要就市场论技术,即便是 " 天衣无缝 " 的技术,如果没有市场需求也只能 " 孤芳自 赏 " 。绝大多数软件都是商品,任何商品的成就大小首先都取决于应用需求规模。比尔 o 盖茨能够成为软件业第一人物的基本前提,乃是他抓住了 PC 时代软件业最 大的应用需求。 第二,培养全局角度的应变能力。用友靠财务软件起家,但王文京最近却表示,两年之后不会再有专门的 财务软件公司存在: " 财务是企业管理的核心,但企业的供销存、客户关系管理的需求必然会越来越大,所以,最好忘掉我们是一个财务软件公司,我们要的是企业 管理软件市场。 " 同样,对软件工程师个人来说,自身的定位也不可能一劳永逸。善于审时度势、合纵连横,有良好应变能力是软件工程师必不可少的基本素质。在 风声鹤唳之时,善于辨别哪里是最不可替代的用户需求关口,然后再结合自身技术特点进行转型,才能在软件行业有所成就。 第三,培养某一行业的专业知识。 IBM 有一份《中国银行业加入 WTO 的新纪元》白皮书, IBM 做银 行业咨询顾问的最终目的还是推销自己的整体解决方案,占领中国金融业软 / 硬件服务市场。但 IBM 的行动告诉我们,要想让技术和产品介入某一行业,仅有大批 专业技术人员还不够,还需要一种对行业的认知和把握能力。软件教育要摒弃培养单纯的技术开发人员的旧观念,要着眼未来的需求,大力培养复合型软件工程师。 最后,熟练掌握英语。英语是 IT 世界的主流语言,它对软件工程师技能和业务水平提高的重要性不言而 喻,软件工程师总是需要在第一时间学习业界最流行、最先进的编程工具的使用方法,但软件工程师不可能马上就能找到这种软件的中文说明或帮助文档。北京软件 行业协会推出的软件工程师培训项目中,重点强调了软件工程英语的重要性,增加了英语教学课时,结合科技英语和编程工作的特点,撰写有针对性的教材,突出实 用性。通过对培训学员的调查和学习效果的检查,这种方法已经取得了良好的效果。
③ 软件工程师的技能要求
一名优秀的测试人才,目前我们国内的企业或者外企,包括大型的软件企业,一般情况下应该有哪些技术要求呢?具体来讲: 第一,对Windows、Linux、Unix等大型主流操作系统的使用和应用开发的熟练掌握,包括一些网络的基础知识。使学员具备快速进行应用系统部署和测试环境搭建的能力,这是一个基本功。
第二,软件测试工程师必须掌握目前比较流行的语言,比如说C、C++、JAVA、C#、VB等等多种平台下的一种或者多种语言,具备进行简单应用开发的能力。这是做好测试的一个前提条件,也是一个基本功。
第三,目前大部分应用软件都离不开数据库,熟练掌握SQL Server、Oracle、DB2等一种或多种数据库系统的使用,熟悉使用SQL语言,这是要具备的第三项能力。
第四,随着信息技术的发展和各个领域的信息化程度越为越高,安全也提到越来越重要的位置上,没有安全其他都无从谈起。所以做为测试人员对信息安全知识的基本掌握也是做测试的一个基本功。
第五,必须深刻理解和熟练掌握软件测试基础理论与技术。首先是精通各种黑盒测试技术,能够进行测试用例设计、测试执行、编写缺陷报告;其次是熟悉软件测试流程和测试过程管理,能够编写测试计划,具备组织测试工作的能力;还有熟悉白盒测试技术,能够手工或利用相关工具进行单元测试;最后还有测试管理相关知识的掌握,虽然这在企业里是对测试组长和经理的要求,但是我们按照优秀软件测试工程师来要求我们学员的,学员具备这一能力将来才有可能走上管理岗位。
第六,因为当前软件测试要提高工作效率和进行性能等深入测试。故此目前在测试上一个很重要的方向是自动化测试,就是借助于测试工具来做测试,这个就像我们每天是走路上班还是开车上班一样,汽车肯定会节约很多的时间,这就是工具的利用。对测试来说也是一样,如果用工具就会达到事半功倍的效果。所以测试人员要掌握和熟练使用当前主流的功能、性能自动化测试工具以及测试管理工具,具备编写测试脚本、进行功能和性能测试自动化测试的能力。
第七,软件测试和软件质量密切相关。对软件测试员来讲必须学会软件质量分析技术,包括对软件的分析和度量各种技术,包括软件静态和动态分析技术,以及编写软件质量报告和测试分析报告的能力等等。测试人员作为软件开发过程中的一员,学员应该对企业的质量管理体系和项目管理应该熟悉,应该了解IS9000、CMM、CMMI项目管理等等知识。
最后,还有些对测试人员综合素质上的要求,比如良好的英语听说读写能力、具有良好的语言及文字表达能力、较好的沟通技巧及团队合作精神、有较强的责任感及进取精神、细心、耐心,具备逆向思维能力等。 转载ING
④ 软件工程师要求
软件工程师要求?对于软件工程师,学历次要,最主要的是看有多少项目的经验,根据岗位不同,对软件工程师的要求也有所不同。要详细了解软件工程师的要求,其实看看企业的招聘就知道了,呵呵。现在对于软件工程师分的也很细,方向不同,要求就不太一样,但是总的素养基本都是差不多的,还有软件工程师的确是一个很好的职业。
下面举几个例子:
1.熟悉.net开发体系,熟悉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个月左右。勤奋点,时间可以短些。如果要培训,个人推荐威迅教育,质量很好,价格比其他机构低。