Ⅰ 加拿大初级程序员到中级要多久
初级程序员一般是刚刚入行不久,工作经验只有一年及以下的同学,对于技能要求,需要他们:
①可以完成简单模块和项目的开发工作
②熟悉HTML、JS、CSS等基础知识
③能够使用一门MVVM框架进行简单的业务开发
02中级程序员
中级程序员要拥有3年及以上的工作经验,具有能够独立负责一个子模块的能力,以及能够负责一个项目的具体任务。
具体的技能要求有:
①熟练掌握工作中使用的技术栈开发业务。
②了解一个需求从开发到上线的整个生命周期,并对各个环节负责。
③具备基本的逻辑分析、问题分解、归纳总结等能力。
④了解基本的数据结构和算法,写代码较熟练。
03高级程序员
行业不缺程序员,但缺少能够同时兼具资深经验和技能优秀的高级程序员,高级程序员不但具有丰富的项目经验,且技能扎实,并能够持续保持新知识新技术的输入,才能被称之高级程序员。
技能要求:①具备独当一面的能力,能够带领团队展开工作。②针对一个需求能够从开发到上线的整个生命周期中找到痛点与漏洞,并能运用技术的手段解决。③能对问题和需求做出分析和拆解,做出改进、实现方案。④有优秀的技术选型能力。⑤熟练掌握各种技术体系。
Ⅱ 中级程序员考什么
今年我报了名,是5月20日考试。
今年更改了名称,取消了中级程序员。是这样的:
初级资格:程序员 (原初级程序员)
中级资格:程序设计师,评测师(原高级程序员)
高级资格:系统分析师
考试内容:
程序员:
1)掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
(2)理解计算机的组成以及各主要部件的性能指标;
(3)掌握操作系统、程序设计语言的基础知识;
(4)熟练掌握计算机常用办公软件的基本操作方法;
(5)熟练掌握基本数据结构和常用算法;
(6)熟练掌握C程序设计语言,以及C++、java、Visual Basic中的一种程序设计语言;
(7)熟悉数据库、网络和多媒体的基础知识;
(8)掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
(9)了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(10)了解信息化、计算机应用的基础知识;
(11)正确阅读和理解计算机领域的简单英文资料。
程序设计师考试要求:
(1)掌握数据表示、算术和逻辑运算;
(2)掌握相关的应用数学、离散数学的基础知识;
(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5)熟练掌握常用数据结构和常用算法;
(6)熟悉数据库、网络和多媒体的基础知识;
(7)掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++其中一种程序设计语言;
(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9)熟练掌握软件设计的方法和技术;
(10)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(11)了解信息化、计算机应用的基础知识;
(12)正确阅读和理解计算机领域的英文资料。
如果你以后专攻C++的话,把C的基础打好就可以了,不用学的那么精通,但一定要打好基础。
Ⅲ 中级程序员的标准到底是什么
中级程序员和初级程序员最大的区别在于:工作经验,有没有真正的项目实战经验。一般来说,程序员都会最基本的删减,而对于真正的项目就不会接触太多,所以有的程序员就停留在初级,不了解项目到底该怎么做,只有你做了几个项目经验的时候,才能说自己步入了中级程序员的标准!
Ⅳ 程序员的基本要求是啥
程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类.
岗位职责
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
职业要求
一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。
大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。
对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,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/HTTP等常用协议的原理和三次握手机制。
明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
模块化思维能力作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
Ⅳ 一般初级Java开发工程师.需要多长时间为变中级开发工程师
初级定义一般是需要在指导下完成工作;相对的,中级是指可独立的完成模块级开发。这个跟个人资质相关,一般2年左右,默认进阶到中级。
Ⅵ 初级程序员到高级程序员需要多长时间的过渡时间具体点/
这位朋友,您好,对于程序员,现在有几种语言在编写 有asp php asp.net java 等 不知道你是学得哪种语言 如果要说程序员的等级的话,其实我觉得最重要的是经验,毕竟我也是学程序开发的 ,我们老师说过,初级程序员一般要有三年所有的时间,中级程序员一般在5年左右 而高级程序员的话, 一般在10年左右 ,但这个也一定准确,因为这要看你是学了几种语言,像我们专业老师 已经学了 三门编程语言了 就已经花上了10年左右了。但他最精通的还是Sun 公司的语言 JAVA 编程语言。。。。