软件工程师是什么专业
1.网络设备技术,这主要涉及网络的硬件建设,包括路由器、交换机、组局网、广网,这方面有代表性的是CISCO、NORTEL; 2.网络操作系统,这主要涉及操作系统的系统管理与网络管理,这方向有代表性的是WINDOWS 2000、UNIX、LINUX等; 3.网络数据库,这主要涉及应用于网络的数据库,这方面有代表性的是SQL和ORACLE等; 4.网络安全,大家不应把网络安全片面的想成对操作系统、应用系统的安全,其实安全问题在网络的各方面都存在,在这方面国内还没有出现比较好、比较全面的认证; 5.网络管理,这涉及一个局网、广网的综合管理、优化、计费等等,也没有一个综合性的认证; 6.网络应用开发,企业的网站的基本开发、互动性开发,技术有HTML、ASP、JSP、JAVA等等。
这六个方面都是企业信息化必备的因素,所以大家如果要补充自己的知识,可以从这六个方面去补充,自己还要作一个定位,是成为一个全面性的人员,还是专业性的人员。
不过如果能在这个方面打下扎实的基本功,那么再在工作中选择一个方向,会更加厉害。
总之,大家应分步确定自己的方向,然后努力在多方向充实自己 .
软件工程师都是干什么的?
软件工程师:简称代码民工软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格.。
一般情况下.都是分4级 软件技术员 助理软件工程师 软件工程师 高级软件工程师 目前国内软件测试工程师的来源主要有三方面:一是以前专业做软件开发的人员后来转行做软件测试,二是从大学招聘的本科或者研究生,三就是通过培训机构招聘的专业学员。
据了解,在国外测试人才的供应方式多以第三种为主,而国内目前除少数培训机构外尚未形成足够的人才供应规模。
以北京中关村为例,现有软件企业5000多家,仅对曰本软件外包领域的人才缺口就高达5000人,而对美软件外包人才缺口更大,可供量不足10%。
中关村一位负责人介绍,未来5年北京将有至少200亿美元的外包订单,由此可推算出中关村将出现100万的软件人才缺口。
巨大的产业前景和匮乏的人才现状,使越来越多的IT企业关注软件测试人才的储备工作。
软件工程师要先学什么
先学C,再学C++,然后学VB, 现在流行的是Java,然后还有asp,jsp,php等学编程从基础做起!现在流行JAVA,可以直接学请一位好一点的老师,或找个学习班 简单的说,编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机虽然功能十分强大。
可以供你上网、打游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的“命令”。
于是,我们要驯服它,只有通过一种方式——程序,这也是我们和计算机沟通的唯一方式。
那程序到底是什么呢? 程序也就是指令的集合,它告诉计算机如何执行特殊的任务。
打个比方说,它好比指导你烹调菜品的菜谱或指挥行驶一路到达目的地的交警(或者交通路标)。
没有这些特殊的指令,就不能执行预期的任务。
计算机也一样,当你想让计算机为你做一件事情的时候,计算机本身并不能主动为我们工作,因此我们必须对它下达指令,而它根本不会也不可能听懂人类自然语言对事情的描述,因此我们必须使用程序来告诉计算机做什么事情以及如何去做?甚至对最简单的任务也需要指令,例如如何取得击键,怎样在屏幕上放一个字母,怎样在磁盘中保存文件等等。
这么麻烦,连这些东西编程都要考虑!怪不得人家说编程好难!你错了,其实许多这样的指令都是现成的,包含在处理芯片中内置于操作系统中,因此我们不必担心它们工作,他们都是由处理器和操作系统来完成的,并不需要我们来干预这些过程。
上面讲到的计算机本身不会主动的做任何事情。
因此我们要通过程序的方式来让计算机为我们“效劳”。
而这个过程就是我们“编”出来的。
编程可以使用某一种程序设计语言来实现,按照这种语言的语法来描述让计算机要做的事情。
我们这里所讲的语法和外语中的语法完全两码事,这里讲的语法只是读你的程序书写做出一写规定而已。
写出程序后,再由特殊的软件将你的程序解释或翻译成计算机能够识别的“计算机语言”,然后计算机就可以“听得懂”你的话了,并会按照你的吩咐去做事了。
因此,编程实际上也就是“人给计算机出规则”这么一个过程。
随计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。
所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
计算机所能识别的语言只有机器语言,即由构成的代码。
但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。
目前通用的编程语言有两种形式:汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
它同样需要编程者将每一步具体的操作用命令的形式写出来。
汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
由于省略了很多细节,所以编程者也不需要具备太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
(1)解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
(2)编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
这个问题其实很简单。
前面我们讲到,程序是人与计算机进行沟通的唯一方式,因此我们要让计算机为我们服务,就必须有程序,而程序从哪里来?当然是由我们编写出来了。
或许你又会问到另一个问题:现在要什么程序有什么程序,我干嘛还要编程呢?这你就错了,现在的程序虽然很多,需要什么样的程序直接到网上不需要很长时间就可以找到类似的,而且有...
件开发有哪些方向? 软件工程师待遇怎么样?
软件工程师的就业职位主要有WEB开发工程师、数据库开发工程师、网站开发工程师、电子商务开发工程师VB程序员;网页开发人员;非IT专业信息部门的管理信息系统设计、开发、维护网位,JAVA程序员;C++程序员;VB高级程序员;网站开发工程师;测试工程师;文档编写工程师 ,JAVA工程师;.NET工程师;初级分析、设计人员等。
巨大的社会需求提供大量工作、可以迅速掌握IT技能这两大优势之外,对于落榜生而言,优厚的薪资和福利待遇也颇为其他行业的从业者眼红。
信息技术行业即IT行 业无愧于“中国最赚钱的行业”这一名号。
不仅仅是IT界的巨擘才子,IT业平均薪资一样高居行业前列。
长沙飞迅学校以就业为导向的课程,教学面向企业人才,面向社会,学生就业率高,就业薪资也普遍高于同类培训机构。
你可以去了解一下,对你应该有所帮助。
这是的扣扣~~~1300连着加~~~73108,你自己先加着吧!
学习VB 要学什么
以前写过如何学好VB,但总结的比较简单,后来给别人讲,又重新总结了一下,内容如下:1、明确目的:学习VB的是成为软件工程师,而非代码工人。
什么是代码工人,代码工人也叫软件蓝领。
指那些至少掌握一门开发语言或开发工具,所从事任务与软件工程中的需求分析、系统分析、概要设计无关的程序员。
在印度的软件产业中,这些大量的低成本程序员是由高中生毕业后进行简单培训就可以担当的。
软件工程师一般指从事软件开发职业的人。
软件工程师跟一般程序员的分别,在于一个程序员的工作是按照指定的项目分析书来做编码,而软件工程师的工作则需要规划。
不过,由于现时社会的分工愈来愈模糊,软件工程师跟程序员的分工也愈不明显。
但对于严格执行CMM的机构来说,各人的工作分野比较清晰,这有助于了解软件工程师跟一般程序员的分别。
为什么出现代码工人,其实主要的原因是程序员的水平差距很大,好多人完不成独立的任务,最终会倒致一个工程的失败,所以才后出现了软件工程这些概念,通过有效的管理,分工,使即时只会一些简单编码的人也能完成一个独立的工作。
2、下定绝心:学VB需要很长时间的努力,要有恒心和毅力。
学习任何编程语言都是一件很枯躁的事情,除非你有强大的爱好,如果你只是为了多赚点钱,我建议你还是去做销售吧,软件工程师这个职位不适合。
必需要为自己的爱好而学习,这样才能有足够的动力来学习编程这门枯燥的事情,才能在枯燥的事情中找到快乐。
3、学习技巧:70%的学习在工作中获得,20%的学习从经理、同事处获取,10%的学习从专业培训中获取。
这句话出自IBM。
这说名一个主要的问题,IT的大部份内容是需要自学的,在工作中获得的含义就是自己通过一些项目的实践,来进行学习和充电,也就是说只有在开发一个项目的时候才能真正的学到东西。
那么刚刚开始学习,我没有工作呀,这怎么办,其实这也很好办,先要给自己当老板,安排自己要做一些东西,当然这些都可以是非常简单的小软件。
比如做个通讯录什么的。
4、必要的方法:认认真真的把MSDN中关于VB的内容好好看一看,特别是函数和语句,很有用的。
MSDN里面关于VB的内容一定要多看,有些方法和函数你可能用不到,但一定要知道,以后遇到类似的需求,只要一想就知道如何解决这个问题了。
5、遇到问题:不要直接去问别人,自己好好想一想,试着解决这个问题。
为什么先要自己想一想呢,因为当你自己想过好多办法,解决一个问题,可能解决的办法并不是最好的办法,但绝对有利于你自己的提高,一个人水平的提高主要是通过独立的解决问题来得到的。
即实自己最后没有解决问题,你自己思考过了,最后别人帮你解决,你也会想和很深入,以后再碰到类似的问题,也就能自己找到方法解决了。
6、基本理论:多研究些语言上的东西,如数据结构和算法。
这个是成为高手的基本知识,没有什么好说的了。
7、高手进阶:如果想成为高手,还要会好多与VB不相关的东西。
真正的高手还要涉猎好很多知识,比如网络协议,美工设计等,也就是说要提高自己的整体素质,而不仅仅是写程序。
8、成为高手:要自己设计软件,从头到尾,哪怕是小软件。
这一点是软件工程师与代码工人的主要区别,软件工程师必需会设计软件。
9、真正高手:编程语言是互通的,再学习一些其他言。
教程:Visual Basic 从入门到精通视频教程http://www.enet.com.cn/eschool/video/vb/你把这套视频看了,一边看一边暂停对着学,多动手。
为什么那么多人想成为软件工程师
计算机原理,网络协议,数据结构,多线程与IO等基础知识,这些是一个软件工程师的基本素养,但现在好多从事软件开发的人都不知道,或是对其一知半解,所以现在很多人将软件工程师名称“码农”,因为他们不知道其原理,更谈不上优化等高级技术了。
然后是在这些基础之上的框架,中间件。
这样你就能够正确使用这些工具来简化并加速开发高性能的应用。
给你举一个真实的例子,公司以前的遗留项目是使用多线程并发访问网络资源,这开发这个的人连最基本的资源释放都没有——在某个线程运行完之后并没有关闭底层网络连接,这就导致了程序运行一段时间之后就要重启,而且在那个服务器上不能跑其他的程序。
因为它把所有能用的端口都占用了。
而且频繁打开网络连接与线程使程序运行的效率很低。
最后再说一句:如果只会用框架,只会做web而不懂原理的是码农,不是工程师。
软件工程师应该掌握哪些技能
帮你免于失业的十大软件技术 能跟上关键技术的发展,是你在就业市场和未来保持优势的最佳手段。
你对我们列出的十门技术精通吗?哪怕是大略精通? 罗素?琼斯,执行编辑 2002年12月11日 我不知道你的具体工作是什么。
如果你是某冷门领域的专家而变得不可或缺,或者你们的公司十分稳固,以你现有的技术就足以安度你的职业生涯,那我不知道你是否有失业的危险。
不管怎样,请你先不要急着寄出那些告诉我你们的公司对用VB3十分满意或你们除C以外永不用其它语言的信件,并保留起那些讲述.NET将如何把Java扫地出门、XML将如何取代关系型数据库、或你怎样能用汇编语言或C写任何软件而任何其它开发工具都不重要的信件。
现在,想象一下如果你像很多受裁员和公司倒闭影响的同行一样失去了工作,那将会怎样。
如果你突然需要搬往它处该怎么办?如果你的公司突然做了技术转向又怎么办? 在目前的就业市场,经理们是根据当前和未来的开发需要招聘雇员。
作为开发人员,你所掌握的知识是你找工作和保住工作的关键。
你要了解技术的发展方向,跟上技术的变化,这一点十分重要,即使你永远不用再找开发方面的工作。
这里是我选出的当前最重要的十大开发技术,最重要的排在前面。
看完本文后,请务必加入talk.editors.devx讨论组,提出你选出的十大技术。
1. XML 首先,你要了解XML。
我不是说仅仅是XML规格本身,还包括一系列相关的基于XML的语言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPath、XQuery和SOAP。
那些在过去5年内从未碰过键盘的人,可能不知道XML为何物。
XML是一种文本文件,使用与HTML类似的标记。
XML能定义一个树状结构,并能描述所含的数据。
XML最好的一点是既能存结构化数据也能存非结构化数据。
它既能存贮和描述“规格的”(regular)表格数据,也能容纳和描述“粗糙的”(ragged)文件数据。
XHTML是现今写HTML的首选方法。
因为它是形式完好(well formed)的XML,比起古老的、通常是畸形(malformed)的HTML文件,XHTML格式的文件更容易处理。
XSLT和XSL是用于把XML文件转成其它格式的语言。
可转换的格式包括:文本文件、PDF文件、HTML、以逗号为分隔符的文件,或其它XML文件。
DTD和XML Schema描述XML文件所能包含的内容的类型,并让你“验证”XML文件内容的合理性,而不用写特殊代码以确保内容符合规则要求。
XPath和XQuery是用于从XML文件中抽取单个项目或一组项目的查询语言。
XQuery扩展了XPath,因而更重要。
XQuery与XML的关系正像SQL与关系数据库的关系。
SOAP是Web服务之间的一个标准通讯协议。
尽管你不需要对SOAP标准一清二楚,你应该熟悉一般的schema和它的工作原理,以便能应用这门技术。
2. Web服务 Web服务是XML流行后的一个直接产物。
因为你能用XML描述数据和物件,因为你能用schema确保XML文件内容的合理性,因为XML是基于文本的规范,XML为跨平台通讯标准提供了一个极其方便的基本格式。
如果你还从来没碰到Web服务,你可能很快就会碰到,在未来5年内,你几乎肯定会碰到。
熟悉Web服务十分重要,因为它是目前所有跨不同机器、不同语言、不同平台和不同地点的通讯协议中最简单的一个。
不管你需要与否,Web服务是迈向互用性的重要一步。
XML工作组主席John Bosak曾说XML“给Java一些事做”。
实际上,Web服务让所有语言都有了一些事做。
Web服务让在大型机上运行的COBOL应用软件能调用在手持设备上运行的Java应用程序、能让Java applet与.NET服务器交谈、能让微机软件与Web服务器无缝连接,并提供了一个相对容易的方法,让企业不光能向外界提供数据,还能提供功能,而且是一种与语言、平台和位置都独立的方法。
3. 面向对象的编程 很多程序员仍认为OOP是象牙塔里的技术。
但如果你想一下是什么语言在过去的10年里占主导地位,你就会理解OOP不是象牙塔里的技术。
OOP从Smalltalk开始,传到C++和Pascal (Delphi)。
Java使OOP大踏步地迈向主流,几年后的VB.NET和C#则完全确立了OOP的优势地位。
尽管这些语言中的多数并不要求你必须会OOP,但我觉得如果你不了解OOP的基本概念也不知道如何应用这些概念,你能找到的编程工作将越来越少。
4. Java、C++、C#和VB.NET 我把这些语言列在一起,并不是建议你成为每一种语言的专家。
我的理由是:学习编程最有效的方法之一是看代码,而你能看到的大量的代码很可能不是用你所喜爱的语言编写的。
在过去几年,各语言的能力越来越接近。
现在,你可以用VB.NET写Windows服务、Web应用程序或命令行程序。
即使你只使用一种语言,你也应该学一些其它语言,以便能看懂那些样例,并将其翻译到你所用的语言。
这4种语言是基本核心,还有其它一些满足不同需要、颇具用途的语言,如FORTRAN、COBOL、APL、ADA、Perl和Lisp。
5. javascript 尽管名字有些相像,但Java与javascript并无关联。
为什么一个脚本语言会如此重要呢?因为所有主流浏览器都用javascript。
如果你需要写Web应用...