分享

IT行业技术人员职业生涯[页5]

 春秋铭 2017-04-16

IT行业技术人员职业生涯 

  1、企业需要什么样的it人才

  首先我们要知道这里的企业包括那些类别。通常来说,企业包括:专业的it公司(系统集成和软件开发)、国家机关的信息中心、非it类企业的信息中心、非it类的企业的网络管理机构,一般来说是行政办公室,还有就是学校。这些单位都是it人才的就业去向,所以,it人才不一定非到it公司工作。

  现在的it技术已经作为一种工具和技能深入到社会生活的各个层面,不但是专业it单位,同时凡是需要计算机的地方都需要it人才和技术。

  这样来看,it人才的择业道路是非常宽广的。那么,由于各行各业并不都如同it行业一样的专业,必然导致对人才能力的综合需求,也就是,不但是it技术,同时也包括了对自身企业业务工作的熟悉程度,如进出口公司的计算中心,往往工作人员即是it专家,也是熟悉进出口业务的内行,这样开发的系统才符合行业工作信息化需要。否则,成了闭门造车了。

  由此可以看出,企业需要it人才一般包括以下几个方面:

  a.能够宏观规划信息系统的it规划专家,通常是ciocto

  b.具备项目开发经验和丰富的团队管理经验的项目管理人员;

  c.能够进行系统需求分析和系统设计的系统分析专家,也就是软件工程和cmm质量体系技术和能力的高手;

  d.技术专家,熟练掌握一种以上技术,如网络、软件工具和数据库,操作系统等,能够实施网络或者能够开发大型的软件系统。通常在it行业称为高级工程师软件工程师等;

  e.技术人员,主要是熟练掌握一种技术,如网络技术,软件开发工具等,并能否解决日常工作中的问题,如维护网络,开发企业自身需要的软件系统等。通常在it行业称为工程师程序员等;

  由于行业发展原因,大多数it公司都不是太愿意给刚刚毕业的或者是经验不丰富的人才以实践的机会,或者只是让他们做一些琐碎的工作,不承担核心的项目开发工作。原因是,担心经验和技术水平影响项目进度,耽误公司收款速度或者影响公司形象。另外,由于it从业人员就业人数众多,导致竞争激烈,高级人才缺乏,但企业又不愿意给年轻人锻炼的机会,导致后来者难以快速进入高级人才行列,这成了恶性循环。

  2it人才的职业人生发展之路是什么

  对于it人才来说,从大学四年级开始,就应该为自己的未来发展考虑了。一般来说,如果希望从事it行业的工作,则必然要经历以下成长历程,这些过程是必不可少的:

  第一阶段:毕业后的三年以内,基本处于丰富自身技术的阶段,这个阶段奠定了以后的技术基础。但需要注意的是,不是简单熟练掌握一种开发工具或者技术,而是能够深入理解软件开发的设计思路和相关的理论知识,同时做到将工具看透,就是无论什么工具,都大同小异,不会背离软件开发的核心设计思想。如果没有这种感觉,证明还需要认真学习和思考。这个阶段是自我成熟和形成自己的软件思维方式的阶段,将为以后的技术人生发展奠定基础。比如,面向对象理论和开发工具vb的关系,数据库理论和sqlserver的关系等。看到技术的本质,再学习技术和应用技术就可以融会贯通了。

  第二阶段:成为好的编程高手以后,则要进入初步的软件工程思想的学习和运用,主要是能够编写需求分析报告系统设计报告等软件开发文档,明白这些文档编写的方法,章节目录的含义和要编写的内容,以及相关的国际和国家标准规范。同时,能够根据用户需要快速编写这些文档。这个阶段重要的是项目开发经验,特别是能够理解用户需求,能够很好地与用户沟通,并能够练就很快熟悉用户行业业务工作的能力,这样才能够编写符合用户需要的软件文档,并得到用户的认可。同时,结合自身前面奠定的良好的技术基础,将技术运用到系统设计中,并成为可以实现的建筑图纸,千万不要出现美好的设想和愿望到技术环节无法实现的问题。这个阶段要考虑是多个人分工合作开发系统,从模块划分到界面标准甚至数据库设计,都要全盘考虑,而不是自己作为独立的程序员的时候只考虑自身承担的模块的任务就行了。另外,也要熟知it先进的设计思想,如dnaj2ee等,指导自己在系统规划中采用先进适用的设计方法和技术。

第三阶段:当你工作到近5年的时候,可能要从事方案书的编写的工作。这个极端通常是作为售前工程师的角色,能够快速编写用户需要的解决方案书或者是投标的标书。在技术经验和项目开发经验的基础上,为用户量身定做一整套系统的架构和技术实现思想。在软件工程中,这个阶段是可行性分析报告编写部分。不但要考虑技术问题,同时要考虑用户的投资问题等非技术类的问题。这时,需要具备快速领悟用户需求的能力,快速理解用户业务的能力,快速分析系统建设思想的能力和快速使用掌握的技术规划设计出系统建设方案的能力。这些能力是有章可循的,比如,要在平时就阅读很多公司主打行业的书籍,象物流管理,财务管理,报关员工作实务等用户行业人员经常看的书,这样用户觉得你是内行,容易交流。如果听不懂用户的行话,那么,用户还怎么能放心将项目交给你?同时,见到用户要得到三个法宝:用户单位的组织结构图、用户日常工作使用的表格和文件、用户日常工作的管理制度和操作规程。

  第四阶段:如果你从程序员走到了售前工程师,那么,你具备了项目经理的能力了。因为你具备了技术、方案和用户协调的能力。接下来学写项目管理的知识。特别是it项目管理方面的知识,如iso9001质量管理体系,软件项目管理方法等方面。同时,要在理论上丰富自己的技术水平,对行业流行的应用系统的架构非常熟悉,如erp,crm等。并学会带队伍的基本的人力资源管理知识。最为项目经理,必须面对四怕:出门怕用户、回家怕女友、单位怕上司、部门怕员工。但只要具备丰富的技术经验、项目经验和用户协调经验,作项目经理还是很好的。

  在第四阶段以后,年龄基本接近28岁了,人生可能会发生变化,有些人选择了技术成为专家;有些人成了销售;有些人成了经理;有些人可能走上真正的职业经理之路。

  无论如何,任何因为外在的原因跨越这些阶段的人,必然有一天会补课,除非离开it行业。因为,有些人可能因为到了一个小公司,马上成了项目经理或者是高层技术人员,但自身的素质不会因为别人给的虚的地位而自然提高,技能提高是需要时间和经验的,不是比人给的。希望年轻一代的it人才把握自己的心态,稳扎稳打地不断提高自己,不要被虚幻的东西浪费时间和机会。俗话说:一口吃不成胖子。

  3、各种工作岗位的一般要求是什么

  对于各个单位来说,各种工作岗位的要求有所不同,但对于it人才,还是可以得出通用性的结论的,毕竟it人才属于专业人才领域。自身技能属于主导地位。一般来说,无论企业大小,对人才的要求主要是:

  a.编程人员,至少会公司主打的开发工具,而且编码规范,没有bug,并且界面设计规范美观,符合公司风格。同时,能够独立解决编程过程中的问题,不要总是问同事。另外,理解并领会项目经理下达的任务,理解负责部分的代码编写方法和实现的功能的含义。如入库单处理。具备好的数据规划思路和算法设计,并能够用简洁高效的代码实现出来。特别是界面上,要有好的界面设计思路,不要华而不实,或者晦涩难懂,或者操作麻烦,远离用户的习惯和业务规范。过于显示自己的技术水平,呈个人英雄主义。在现代团队开发的时代,这是不合时宜的,也是不受欢迎的。该做的做不好,不该做的作的过多。无法符合公司的要求。

  b.设计人员,如果你负责系统的设计(详细、总体、数据库)。则一定要具备规范文档的编写能力,如国标gb8567等的规范。同时,知道如何编写文档,文字表达能力好,熟悉绘图方法和四图的设计(业务图,数据流图,控制流图和模块划分图)。最好能够使用uml建模。并具备界面设计规划的审美意识,能够站在用户业务和使用习惯的角度来理解要设计的系统。

 c.需求分析人员。一般来说,需求分析人员也承担了项目管理或者售前工程师的工作,与用户接触最多,最了解用户的业务,有些高手甚至同时是用户业务的高手,比用户还清楚全面的业务工作,因为他面对的系统不是单个用户的,而是真个用户所在的公司的。从上到下,他都烂熟于心。书写的需求分析报告非常清楚地表达了用户实际工作的模型、规则和流程关系。需求分析就是要讲无序的、杂乱无章的用户的业务规范成计算机可以处理的清晰的、规范的、流程明确的文字描述。

  d.项目管理人员。该岗位的人,不但是技术专家,也是善于管理团队的人。虽然说,从理论上可以不懂技术,但实际上,外行领导内行确实是有问题的,平时交流都是问题。特别是it行业,技术还是核心的。不懂技术,就无法正确估计工作量和难度,甚至出现:一将无能,类似千军的情况。

  e.测试人员。如果作为测试人员,那么首先是技术高手,同时具备系统需求分析能力,永远站到用户角度来考虑系统的质量和问题,包括测试用例、数据、工具等,如同企业中的质量监督员。目前虽然有很多测试方法和工具,但测试人员这个岗位的人才还很缺乏。毕竟是一个难度大的工作。虽然有些单位简单地让秘书岗位的人来承担,其实是把该岗位看清了,有些对付事的嫌疑。

  无论什么岗位。企业最希望的是人才一专多能,万金油一样,那么可以减少人员,并指望全才搞定问题。这也是现在的特点。按照理论来划分为:项目经理、需求分析员、系统设计员、数据库设计员、开发人员、测试人员和售后服务人员。而现实是很多情况下,项目经理承担了编码和售后服务以外的所有工作。但无论怎么分工,每个工作环节的能力要求是不变的,不会因为一个人承担就可以忽略或简化,也不会因为多个人承担就严格或者是省略。

  技能提高本身就包含了:技术水平和能力素质两个方面。很多培训机构简单地将技能理解成专业技术,如vbvcjava等技术,忽略了非技术类的能力素质,如文档编写能力、系统规划能力、项目开发综合素质能力等。毕竟,开发项目(包括自己立项的产品)不是简单的会了开发工具就搞定的,还需要配套的软件工程等思想和技术的支持。

  4、有什么样的国际/国家标准体系

  目前,it行业,有相关的标准,这些标准看起来是条条框框,很不适用,但实际上,如同软件工程一样,看着很虚,实际上,如同我们学的数学一样,使规则和素质的能力指导,而不是具体的编码工具或网络的一台设备。项目的施工不是木匠打造桌椅,而是房地产的建设高楼。那么,必须有规则,有科学的指导。这就是标准和规范的意义:

  a.国际的iso9001质量体系,也就是项目质量管理体系。专门规范项目开发的公司的管理制度、岗位划分、岗位工作方法、岗位工作遵循的审核、审查条件和规范的文档模板以及项目实施过程的配置管理方法。

  b.国标gb2000开发标准规范。主要依据iso9001体系,提出的具体的软件开发过程中的文档编写规范和说明,涉及到软件开发的各个具体环节。可行性分析、需求、设计、数据库、编码、测试、维护、日常开发报告等一系列规范格式。当然,很多公司自己搞了这些规则和文件格式,但建议采用国家标准,因为毕竟其中考虑问题还是非常全面的,也容易得到用户的认可。

  c.cmm标准。cmm是针对软件开发行业提出的质量控制标准。严格约束和制定了开发过程中的各个阶段和工作岗位的工作规范以及必须达到的要求的指标。对软件开发公司或团队提出了更加高的要求。软件生产过程是智力投入的过程,非常复杂,所以,规范地控制和管理是保证最终产品质量的关键。

  d.软件工程。作为一种类似物理学一样的软件专业的工程化理论,虽然不是标准化组织的文件,但也是指导软件开发工作的重要的理论基础。如同逻辑学与开发工具无关,但与设计思想和算法有关一样。软件工程从宏观上阐述了软件开发关键环节的工作方法和理论方法。很多程序员由于没有作过项目管理或者系统规划,不是太理解软件工程,但当你真的处在项目开发的规划、设计角色的时候,不理解软件工程,将给你的工作带来很大问题。这个时候,你会发现,掌握在多的开发工具已经无法解决面对的问题了,因为开发工具无法解决系统规划设计管理问题。只能是coding,coding,coding

  5、标准体系和工作职位有什么关系

  标准体系与具体的工作岗位是息息相关的。下面看看标准体系与你的工作岗位的关系,也就知道了自己要从事的岗位到底要求符合什么标准要求的技能了,俗话说,没有规矩,不成方圆,由于历史原因,中国老一辈技术人员,没有按照规范工作,导致带出的徒弟和后来者不是太明白这些规矩,但今天不同了,面对企业竞争和工作竞争,不具备一些非技术的能力素质,光靠技术工具来竞争,那么优势台不明显了:

  a.iso9001,对应项目经理、系统分析设计、编程、测试等所有岗位,也包括了经理,cio,cto,甚至总经理。

  b.gb,对应系统分析设计和编程、测试、服务等岗位。

  c.cmm,与iso9001一样,只是更加明确和细致。

  d.软件工程,几乎所有希望搞软件的,都要理解,至少清楚。

  6、现有的认证体系有什么用

  现有的认证体系非常多,从中立的角度来看,厂商认证的目的是推广自己的技术和产品,越多的人使用自己的技术,则产品卖的越好。毕竟it行业以技术为核心,如果自己的技术没有人掌握,那么,还会有人买产品吗?

  对于it人才来说,有了证书,自然有了自己技术水平的证明。在找工作的时候,除了毕业证以外,还有自己专业技能的证明。

  另外就是培训机构的认证,也是一种能力的证明。

  还有十国家规定的认证,比如劳动部的证书,这个证书与自己将来申请高工有关,同时,很多国家单位和大型的企业在分房、提职、加薪方面参考这些证书,作为一个分数。另外,对于财务、专业工种,也作为上岗的合格证,属于一种资格证书,如律师,如果没有律师证,即使你是法学院毕业,也不行!

  但是,唯一遗憾的是,it的认证由于蕴含了商业的气息,变得更加产品化和工具化,强调对产品和工具的使用的熟悉程度,以及技术的熟悉程度,忽视了这些技术和产品是工具,是要拿来解决项目开发中的问题的。不是学会了技术和工具就可以开发项目,而往往相反,掌握了技术和工具只是入门证,离承担项目开发工作的能力还差的远呢。

  我们不能对认证的老师提过高的要求,毕竟他们多年从事教育,没有太多时间来体会项目开发的经验和过程,有些偏重理论和技术,是很正常的,毕竟要充分理解项目开发中的经验,不经过多个大型项目的真实操作和参与,是无法体会的。

  而从专业教育角度看,毕竟是教育机构,不是企业,可以有项目让学员真正实践,而企业因为担心成功性,也不愿意让大家去试验。没有用户愿意把自己的项目当作试验场!

  那么,我们就不必过多要求认证机构了,学好技术总是好的。虽然还需要在工作中不断丰富经验,不断在实践中,体会技术的实际运用方法,但也是没有办法的。目前的认证体系就是没有这种课程。

  虽然很多机构推出案例教学,但仍然是为了讲述技术而列举的例子,有些例子不一定是真实的。从项目角度学习技术和为了技术而学习一些案例,将出现不同的结果。所以,在英语中,案例(case)和样品(sample)是非常清楚地划分的。

  案例是已经完成的项目;而样品是为了直观表达一种未来的项目结果而作的demo!将来是否可行,还有待论证。

  所以,奉劝大家,将案例和以前学数学过程中的举例说明区分开来,那么,在学习的时候,在选择学习内容的时候,就有了原则和标准了。

  7、如何成为职位之星

  如果希望自己在自己的岗位上能够不断提高,不断具备竞争力,最好考虑一下问题:

  a.是否敬业

  b.是否将工作当成乐趣

  c.是否对技术痴迷

  d.是否喜欢主动攻克难题

  e.是否不断丰富自己的理论基础

  f.是否看外行图书

  g.是否善于协作

  h.是否总是站在用户角度理解问题

  i.是否去掉了我技术好,我就该拿高工资的个人英雄主义思想

  j.是否全局考虑问题,而不是总是从技术角度考虑问题

  k.是否达到技术的融会贯通,不怕新的技术,并可以快速学会一种工具

  l.是否有独立的思考方式,而不是跟从或者盲目被厂商诱导,成为厂商的追随者

  m.是否考虑自己的下一步成长目标,并在现在就争取机会实践,并不断提高能力,储备优势,而不是等机会来了,却发现自己无法胜任

  n.是否不善于书写,不善于书面表达,现在工作节奏快,已经很难坐下来靠聊天交流,大多靠文档化的书面材料来交流,你是否学会了各种工作文件的写作?否则,有再好的想法,只能烂在肚子里,没有人知道!

  8、软件从业人员的人生发展道路如何走

  作为决定从事软件职业的人,一般来说有一些个人发展的历史关键阶段,也就是里程碑,象台阶一样,逐步奠定基础,是自己不断提高:

  a.22-25,搞技术,认真地掌握各种技术,研究透

  b.25-28,搞设计,认真地培养自己全面独立思考和设计的能力,成为设计师

  c.28-30,搞售前或项目管理,学会和用户打交道,学会市场意识和决策能力

  d.30-?,改行?如果不改,肯定成管理人员了!

  e.如果你的技术独到,高深,也可以在年轻的时候高产品开发,有了产品,就可以直接成billgates了!!

  9、如何快速进入工作角色

  你的技术好吗?你有证书吗?你知道如何开发项目吗?你理解软件公司和软件项目的运作方式和你在其中的位置吗?

  如果都清楚了,那么就踏踏实实工作吧。没人会不让你通过!

  10、如何快速掌握技术并适应工作

  快速掌握技术的方法是模仿,从别人的经验中学习,可以快速进入角色,如果一切从头开始,恐怕没有时间,也没人给你时间。企业更加需要有经验和有经历的人才,企业不是学校,所以,你在工作以前就要搞定技术和针对选择的行业的项目开发经验进行研究。如erp,物流,oa等,这些任何公司都开发的系统,进行研究,掌握这些系统的开发技术、方法、设计思路和作用,那么,就容易快速进入岗位,不至于被老板说成:外行,不懂,没有经验了。你无法跟老板说:我没学过,还是给我机会学习吧,我相信我肯定会作好的!这种话,对于老板来说,无疑是要投入,要白养一个人,要冒项目失败的危险,同时也会被同事看不起!

  11、掌握了很多技术,如何融会贯通,在工作中表现优秀

  如果你已经有了很多技术了,但是就是发现自己总是编码,或者总是被安排到编码的工作,那么,说明你不善于书写,不会需求分析、系统设计,不会表达自己的想法,甚至不知道dna这样的系统设计思想,所以,总是停留在熟练工种阶段,而无法成为设计师。

  那么,你对软件工程掌握多少,你对质量体系了解多少,你对系统设计技术掌握多少,你对各种行业应用系统的构建熟悉多少?这些问题是你永远停留在程序员级别的主要原因。

  可能会说,公司不给我经验,其实,往往公司先看到你具备一定的能力才给你机会让你实践。如果公司看到了你能够写文档,他就会给你机会去搞设计,看到你能够规划设计一个小模块,就给你机会实践规划设计大模块,如果你连规划设计都不知道如何做,这样的机会当然就不会给你了。

  主动学习,不断提高,善于表达,这就是可以表现优秀的法则!

  12、如何进入软件开发这个行业,需要心理准备吗

  如果你还在犹豫是否要进入这个行当,看了前面的章节,你已经知道将来要干什么了。但是,请考虑一下条件:

  a.你的数学学的如何,认为自己有数学天赋吗

  b.你对软件是否热衷,甚至到了疯狂的地步,还是因为看到别人搞软件有意思,就学了,但自己并不觉得很好玩

  c.你的抽象能力和逻辑思维能力如何

  d.你是否善于想象,想象力丰富

  e.你如何学习的开发工具,是否理解了数据结构和算法的关系

  f.你是否善于用计算机编程的语言习惯来描述问题,比如if,while,do

  g.你是否善于自己立课题,并希望什么东西都拿编程解决

  如果以上问题你想好了,就可以搞软件了。不过,这个行业是终生学习的行业,你还要善于自学。另外,专业英语要好,很多知识是国外的,你不能等着有人翻译再看,那么已经是一年以后了!

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多