毕竟未来几乎所有的东西一定都会需要相对应的软件来驱动,绝大多数的行业都会引入自动化与网络。目前软件互联网与传统行业的结合远未到恰当的程度。发展的空间一定是有的。但是如果你所说的前景指的是工资,那就不一定了。现在互联网行业的工资虽然高,但是这背后除了互联网自身的技术红利以外还有资本与供需关系作为支撑。
此外呢,软件和软件还是不一样的。至少简单的来划分互联网、传统软件、游戏就很不一样。传统软件的薪资与互联网之间差距还是比较大的。
1「竞争激烈」这没啥好说的,待遇好的地方竞争都激烈。钱多事少离家近的工作也不是留给你的。
2「知识更新快」。怎么说呢,技术的更新是很快,但是万变不离其宗。就写代码而言还是有很多沉淀下来的知识的,这些东西是长久不变的。这里的技术更新,对于变动的部分,一个合格的开发人员是经过训练是能够掌握快速学习新技术的能力的。这一点你不用担心。实际负担并没有那么大。
3「青春饭」、「四十退休」。这是个典型的小马过河的问题。毕业后就去写代码的人里,有的人四十岁也写的好好地,有的人就是写不动了。还有一些人就不满足于单纯的写代码了。有人在某几类技术问题上一直钻研成为了技术专家,有人觉得可能做一个完整产品比单纯的使用炫酷的技术更开心,于是成为了产品。有人蹲在家里远程工作平衡事业和家庭,有人体力不支回老家种果树卖卖烧烤。有人成了CTO,还有人成了插画师。人生的可能性有很多,不同的人选择是不一样的,很难说孰优孰劣。就我所见到的,四十岁了依旧在这个行业里的人太多了。但是有一点很肯定,就是他们都不在写那种拼体力的代码了。
4「工作强度大」。确实996(朝九晚九一周六天)在业内很普遍。996的现象应该是会逐渐减少的,你看外企的猿就很少加班嘛。
其实在我看来有一点需要考虑的问题很重要。选择了这一行,很大程度上意味着你选择了一线城市。老随之而来的就是房子、孩子的问题。虽然对你来说还早,不过我觉得这个问题还是很重要的,至少做个心理准备。
软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。主要有以下职责:
1、指导程序员的工作。
2、参与软件工程系统的设计、开发、测试等过程。
3、协助工程管理人保证项目的质量。
4、负责工程中主要功能的代码实现。5、解决工程中的关键问题和技术难题。
6、协调各个程序员的工作,并能与其它软件工程师协作工作。
7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等
8、考试科目工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。
信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。
信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。
虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。
第一种武器:开发工具
至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C和JAVA是我重点推荐的开发工具,C/C以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVAOne会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
第二种武器:数据库
为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库 *** 作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
第三种武器: *** 作系统
当前主流的 *** 作系统是Windows,Linux/Unix,熟练地使用这些 *** 作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解 *** 作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的 *** 作系统,是一个很好的学习平台,Linux几乎具备了所有现代 *** 作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对 *** 作系统有一定的了解后,你会发现自己上了一个新的台阶。
第四种武器:网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/>
第五种武器:DCOM/CORBA/XML/WEBServices
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
第六种武器:软件工程与CMM
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
第七种武器:强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
『壹』 学什么专业的人适合做软件开发
1企业在职工程师: 很多在职工程师为了突破技术瓶颈,寻求更高的发展。 所以企业在职工程师需要拥有更高的技术。所以在职工程师寻求学习来突破
2大学生:目前大学生就业压力大,而企业对于软件工程的人才需求确是非常大,学习软件工程课程不仅仅是多掌握了一个就业资本,更是带你跨入了一个朝阳行业
3想学一门技术改变目前生活工作、现状的人;软件工程师作为未来最热门的职业之一,薪资待遇自然是高出一筹。目前一线城市,资深软件工程师薪资高达15000元,即使是刚刚入行的一般也在4000起平均薪资6000-8000元。
就业方向
本专业毕业生适合的工作岗位是计算机程序设计师。适合于熟练地按照工程化的思路进行软件编制、软件测试的工作岗位,能担任各种企事业单位和各级工程建设部门、管理部门的计算机软件和硬件维护、网络的组建、维护等工作,也可从事计算机研究与应用、软件开发等方面的工作。具体可分为以下方面:
1 可视化编程掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。 就业方向:企业、 、社区、各类学校等可视化编程程序员。
2 WEB应用程序设计 具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。 就业方向:企业、 、社区、各类学校等WEB应用程序员。
3 软件测试 掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。 就业方向:企业、 、社区、各类学校等软件测试员。
4 数据库管理 能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQL Server数据库应用或Windows XP应用认证。 就业方向:企业、 、社区、各类学校等部门的中、大型数据库管理员。
5 图形图像制作 精通国际上流行的图形/图像制作工具(如CorelDraw、Photoshop、Pagemaker等)。获取平面设计师相关的认证。 就业方向:广告制作公司、建筑设计公司、包装装璜设计公司、居室装修公司、出版印刷公司。
6 网络构建技术 熟悉网络结构和组网方式,掌握建网方法,能利用工具分析和排除常见网络故障。获取Cisco路由配置或华为网络工程或AMP应用工程师认证。 就业方向:企业、 、社区、各类学校等网络构建工程师。
7 网络系统管理 掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置。获取Window2000 Server或TurboLinux TLCE或Cisco路由配置专家认证。 就业方向:企业、 、社区、各类学校等网络系统管理员。
8 多媒体制作 具有多媒体程序设计与多媒体制作策划的能力。基本掌握面向对象程序设计与建模、造型设计、场景设计、分镜头原理等技能。获取多媒体设计师相关的认证。 就业方向:多媒体设计与制作公司、动画美术制作出版公司、广告制作公司。
9 计算机办公应用 精通办公自动化应用与管理,熟悉服务器的安装、管理和维护,基于应用服务器的相关服务和软件系统,具备对服务器的网络安全设置、邮件、网页发布、FTP、OA、BBS等系统的应用和维护能力。 就业方向:企业、 、社区、各类学校等系统管理
『贰』 软件开发需要学什么
1、一门编程语言(C、C++、Java、PHP、Python、Html等),
2、熟悉一种 *** 作系统(Windows、Unix、Linux/类Linux、Android、IOS等),
3、简单的算法和数据结构。
先确定你学习完软件开发后想从事的工作,比如游戏开发(LOL,吃鸡,手游等);前端开发(网页、微信小游戏、Android/IOS APP等);后台服务器,数据库(支撑前端运行的技术和数据);嵌入式(驱动、单片机等)。
确定方向后,再选择相应的编程语言,如游戏开发(C++为主);网站,小游戏(H5/CSS/js等)、Android(Java为主);IOS(Objective-C、switch);后台服务器(Java、Python等);数据库(MySQL、Oracle、SQL Server等);嵌入式(C、汇编等)
(2)软件开发需要学什么专业扩展阅读:
就业方向
本专业毕业生适合的工作岗位是计算机程序设计师。适合于熟练地按照工程化的思路进行软件编制、软件测试的工作岗位,能担任各种企事业单位和各级工程建设部门、管理部门的计算机软件和硬件维护、网络的组建、维护等工作。
也可从事计算机研究与应用、软件开发等方面的工作。具体可分为以下方面:
1可视化编程掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。 就业方向:企业、 、社区、各类学校等可视化编程程序员。
2 WEB应用程序设计 具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。 就业方向:企业、 、社区、各类学校等WEB应用程序员。
3软件测试掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。 就业方向:企业、 、社区、各类学校等软件测试员。
4 数据库管理 能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQL Server数据库应用或Windows XP应用认证。 就业方向:企业、 、社区、各类学校等部门的中、大型数据库管理员。
『叁』 学软件开发应该报什么专业
没有哪一所正规大学开设软件开发专业。
建议报:计算机科学技术专业、软件工程专业
推荐的学校:北京大学、南京大学、武汉大学、国防科技大学、上海交通大学、北京航空航天大学的软件不错。清华大学、中国人民大学、哈工大、浙江大学等校的计算机专业虽然不错,但软件不行。
二本大学都差不多。
计算机科学技术专业培养目标:本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级专门科学技术人才。
软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。软件工程专业是2002年国家教育部新增专业,随着计算机应用领域的不断扩大及中国经济建设的不断发展,软件工程专业将成为一个新的热门专业。该专业以计算机科学与技术学科为基础,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才,同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、 部门等,这些应用促进了经济和社会的发展,也提高了工作和生活效率。
『肆』 软件开发需要学什么
1、开始自学软件编程课程
编程语言种类繁多,各有千秋,在学习之前需要明确自己要学习哪一门编程语言。确定之后需要制订一个合理的学习计划,并且持之以恒地执行学习计划。在学习过程中要养成良好的学习习惯。
不爱研究、坐不住,但凡三天打鱼两天晒网,或者对计算机不喜欢等一类人不适合学习编程,哪怕一时努力,最后也不是结不了业,就是功败垂成,难以在这条路上走远。编程入门点是兴趣。兴趣是学习的最大动力源。需要有恒心有耐心,进入这个行业并不难,就算你没有基础和经验,也是可以学好的。那些创造编程语言的人,创造计算机的人也都是从零开始的。他们也是在不断揣摩、不断学习和实践之火才获得成果。没有一个技术大牛是从一开始就什么都会的,都是从什么也不会开始的。只需你有兴趣而且肯努力,可能慢慢就会发现学习软件开发也没有想象中的那么难。
2、要重视编程基本功
绝大部分行业内的大牛都是经历过辛苦而又长期的程序开发学习和实战进程的,假如你想要成为一名优秀的程序员,最基本的编码学习肯定是不能跳过的,底层的知识必需要扎实掌握,就如同Java开发,项目训练前提是掌握一定的java课程基础,假如不先把基础稳固,就直接做项目的话,是很难做出来而且学不会那种逻辑思考的能力。
3、附加技能的学习
前面说了软件开发涉及到一种逻辑思维,那么必定要学习一些数学知识,学会数学公式的运算。软件开发行业是特别注重效率的,假如你编写的某个功能的逻辑不是很清楚,可能整个项目都会绕一个很大的圈子,这样的代码存在许多冗余成分,浪费很多时间,所以要懂得培养自己必定的逻辑思维。其次就是英语的学习了,虽然学软件开发不需要有很强的英语能力,但有必定的英语才能的话,更加有利于自己往更深邃的技术发展。
4、动手能力的培养
作为一个程序员动手能力是非常重要的,你学习的各个知识点和思维都自己去开发 *** 练才能稳固,作为老师最怕的学生就是他们只停留在书本或许课堂上的了解,而自己不去实实在在的把它完成出来,着手做的过程中你会不断发现问题,然后自己去解决问题,这样你才能成为一个真正的高手。也要学会找到有效的学习办法,这样学起来会如鱼得水的。可以先看视频学习,学起来就比曾经看书快许多,并且也更简略,觉得自己掌握了一定的知识后,可以尝试做项目,从小项目开始练手到商业项目实战,懂得实 *** 的软件开发工程师才是企业真正喜欢的。
『伍』 软件技术专业需要学哪些专业知识
需要学习:
面向对象程序设计、软件工程与项目管理、软件测试、NET/Java Web程序开发、NET/Java企业级开发、3G/4G手机软件开发等、计算机网络与通讯、网络 *** 作系统、多媒体技术与应用、大型数据库处理技术这些专业知识。
软件技术专业是计算机科学的一个分支,和软件科学与技术专业相比较,软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求没有那么高。
本专业培养具有一定的理论知识,掌握至少一种主流软件开发平台,具有较强编程能力的高级实用型专业人才。
严格来说计算机专业和软件专业是完全不同的两个专业,计算机专业学习的内容比较宽泛,主要包括计算机硬件知识,像数字逻辑、单片机等科目。
目前国内新兴的软件外包专业就是软件技术专业的典型,软件外包专业主要承担来自欧美。
『陆』 软件开发要从什么开始学
基础学习 :
计算机学习过程往往是由硬件开始,走向软件,但最终又会走向硬件。学软件开发往往要与数学,英语打交道,因为目前的计算机程序设计语言主要是外国开发的,编代码的主要语句往往是英文,中文通常是做解释和说明用。有一定的英文基础,在计算机学习上可以事半功倍。
编程学习 :
在学习一些基础课如java,C语言等,会感觉到似乎这些没什么大作用,这些近似于低级语言的东西好像再努力也难成大器,但是这些编程语言都是成为成为一名优秀的软件开发的垫脚砖 。
理论实践 :
学习编写程序,不仅要领悟老师的各种知识点,多看教材,还要结合课程重视上机的练习。上机前要计划一下上机做些什么,要有一些新思路来设计和调试程序。只有在上机过程中不断发现问题,解决问题,才能逐步迈向程序员之路。因此,实 *** 要与理论同步,紧密结合,方可为编程打下扎实的基础。
『柒』 大学想学软件开发,要报什么专业
报取软件工程专业。
软件工程专业是2002年国家教育部新增专业,随着计内算机应用领域的不断扩大及容中国经济建设的不断发展,软件工程专业将成为一个新的热门专业。
(7)软件开发需要学什么专业扩展阅读 就业岗位
Java方向:JAVA初级程序员、JAVA计算程序员 、 JAVA工程师 。
Net方向: Net程序员网站开发工程师 Net工程师等。
其它方向: 简单的管理信息系统开发和维护人员 、网页制作和客户端脚本程序编写人员 、初级数据库管理和 维护人员 、数据库开发工程师 、系统分析设计工程 。
就业方向
本专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理。
除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)