一、软件工程师的职业优势
1、最具增值潜力的职业,掌握企业核心数据、软件技术,具有不可替代的竞争优势。
2、新型软件人才缺口大,27%的行业增长速度导致软件人才年缺口达30万,高薪高福利成为必然。
3、可实现专业零基础入行,6-18个月的强化训练和职业化引导,就可成为企业急需的技能型软件人才。
4、就业面广,一专多能,实践经验适用于各个领域。
5、增值潜力大,职业价值随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨。
6、职业发展前景广阔、软件工程师到项目经理仅一步之遥,从容晋升Manager。
二、软件工程师解读
何谓软件工程师,软件工程师是通过学习和训练,掌握软件技术的理论知识和操作技能的软件技术人员。软件工程师能够从事计算机软件、网站的设计、开发、维护和测试工作。
具体来说,我们可以从企业技术部的岗位体系中作一些了解。企业(或政府)信息化过程中需要以下四种人:
1、企业信息化管理:负责信息化建设中的目标与方案决策,信息化建设、升级、更新;
2、工程技术人员:负责软件系统的分析、设计、开发、数据库、使用、维护和升级;
3、运行维护岗位:负责软件开发代码的编写以及基本的开发和测试;
4、操作应用人员操作应用人员:主要应用软件进行日常的管理工作。
一般来说,IT企业的IT技术职位根据职能可以分为管理岗位:企业信息主管CIO、总监、IT经理、项目经理等;
工程技术岗位:规划设计师、网络工程师、系统工程师、软件工程师和数据库工程师等;
运行维护岗位:数据库管理员、系统管理员、程序员等;
操作岗位:办公文员、CAD设计员、网页制作员、多媒体制作员等。
根据企业规模大小,规模较小的企业,一个岗位可能涵盖几个岗位的内容,系统管理员既要负责系统管理,又要承担网络管理;大企业则会分的比较专业,有软件设计师、系统集成工程师、网络工程师、程序员和系统测试工程师等。
软件工程师的三个进阶:
阶段 职称 岗位 前景和待遇
程序员 初级 程序员 专业软件工程师必经阶段
网页制作 工程师
中级 普通的软件设计人员 软件公司/企事业单位/数据中心
普通的系统分析人员 软件公司/大公司/外包公司
软件系统分析师 工资过万
软件系统设计师 需求量60万,缺口极大,当前最极缺
软件工程师职业规划过程主要有以下几步:
两年以上的小型企业四年左右的中型企业大型企业或跨国集团公司
第一步,小企业的软件开发设计编程人员;
第二步,进入大中型企业,同样的软件开发设计编程工作,工资就可能完全不同了,一般都在3000元以上。做了部门经理时,还可以高达5000元或以上;
第三步,学习更全面的知识成为普通的软件工程师工资就高达3500元以上;第四步,学习更全面的知识成为专业的软件工程师,如软件设计工程师,系统分析工程师的工资就可以达8000元以上,做大型企业或专业软件公司IT经理的工资就更高了,基本在万元以上。
Ⅰ、程序员
工作职责描述:
编写计算机程序,开发软件包,调试并执行计算机应用程序,负责计算机程序的维护工作,为用户提供计算机维修服务。
职位要求:熟练的代码编写能力熟悉一些常用数据库软件
能独立承担企业网站或门户网站系统开发
具有良好的沟通、协调及组织能力,有钻研精神,有工作责任心和良好的团队合作精神及表达能力。
具有良好的撰写需求分析、解决方案、ppT、系统软硬件配置等方案的能力
就业前景:
国内每年所需的IT人才在100万以上,每年还在以20%的速度增长;随着大学和职业的扩招和培养,弥补了一定的缺口,而目前国内缺口还是极大。随着IT信息产业的日益普及,此类人才在未来几年中的需求将持续攀升,专业的软件开发和管理人才的工资标准可能还要远高于硬件开发人员。
Ⅱ、软件工程师
工作职责描述:
(1)参与项目研发的技术,估算成本、制定预算,评估项目的可行性;
(2)参与新品开发和建设公司产品库;
(3)开发公司系统集成项目中的软件系统以及公司开发产品中的软件等;
(4)软件外包项目的开发、测试等工作;
(5)负责产品的设计、开发、测试和维护工作,并进行相关文档的编写。
工作要求:
有多年的软件设计和开发经验
熟悉多种编程语言,对各种主流的技术有较好的理论基础和实践经验;精通熟悉各种常用设计模式;
。对技术有强烈的兴趣,喜欢钻研,具有良好的学习能力;。良好的沟通技能,团队合作能力。
就业前景:当前最急缺的人才,工资增长幅度大
Ⅲ、专家
职称:高级
工作在大的软件公司、或研究所主要是技术主管、项目经理、技术专家
①、技术专家
工作描述:
(1)、某一行业的专家、顾问、权威;
(2)、如果的确非常喜爱技术工作,而不擅长和喜欢与人沟通,则可以完全专注于自身的领域,以发展成为行业资深专家为方向和目标
(3)、发展过程比较漫长,任何一个领域的顶尖技术人才都需要长期的行业经验的累积和个人孜孜不倦的投入;
(4)、优势是越老越吃香,当别人随着年龄的逐步增长而开始担心饭碗问题时,你则渐入佳境,开始进入职业发展的黄金时期。
工作要求:全面的软件技术
对新技术有深刻的认识,所以要求有极强的学习能力
就业前景:待遇很高,技术人员到30岁后的发展目标之一
②、项目经理
工作内容:
(1)、融合技术和管理的复合性人才
(2)、参与项目谈判
(3)、项目目标和项目财务指标
(4)、划分工作内容并合理分配
(5)、指导软件工程师
(6)、控制工作的进度,按计划完成项目
(7)、组织项目会议
职位要求:
多年的软件工程师经验希望做管理
需要自己学习项目管理知识
就业前景:
技术人员到35岁后的发展目标之一待遇高,可晋升企业核心管理层
③、技术主管
工作任务描述:
(1)、带领技术团队创造更多的价值
(2)、在信息方面参与公司的规划和计划
职位要求:技术全面;有管理能力
就业前景:是网络工程师30岁后的发展方向
程序员的职业生涯规划
一、前言
在就业压力日趋激烈的今天,一个良好的职业规划无疑增加了一份自信.而如今,身为大学生的我们,在一天天消磨时光的日子里,不如多学习点知识来充实自己.未来掌握在自己手中,趁现在还年轻,赶紧为自己的未来之路定好一个方向,一个好的规划就像灯塔一样为我们指明了方向,我们可以按照这个方向前进!
二、自我剖析
1)兴趣爱好:
看书,听音乐,下棋,photoshop,网页设计,计算机信息管理,软件测试,编程
2)特长:
数据库维护管理,熟悉C、Java、DELpHI、VB语言,精通C#语言,熟练掌握OFFICE 系列。
3)人格描述:
依靠理智的思考来做决定,总是采取客观、合乎逻辑的步骤。
谨慎而传统,重视稳定性、合理性;天生独立,需要把大量的精力倾注到工作中,并希望其它人也是如此,善于聆听并喜欢将事情清晰而条理的安排好。
喜欢先充分收集各种信息,然后根据信息去综合考虑实际的解决方法,而不是运用理论去解决。对细节非常敏感,有很实际的判断力,决定时能够运用精确的证据和过去的经验来支持自己的观点,并且非常系统有条不紊。
是一个认真而严谨的人,勤奋而负有责任感,认准的事情很少会改变或气馁, 做事深思熟虑,信守承诺并值得信赖。
看问题有很强的批判性,通常持怀疑态度,需要时常的换位思考,更广泛的收集信息,并理智的评估自己的行为带来的可能后果。
4)在工作和学习中的优势
1.办事精确,希望第一次就能把工作做好
2.乐意遵循确定的日常安排和传统的方针政策,是组织忠诚的维护者、支持者
3.每次都能十分专注地把注意力集中在一个项目或任务上
4.特别能够专心细致地工作,可以不需要别人的合作独立工作
5.灵敏的组织能力
6.一丝不苟、认真专注地对待具体问题、事实和细节
7.相信传统模式的可取之处,并且能够遵循传统模式
8.非常强的责任意识;别人可以信任你实现自己的诺言
9. 通情达理、视角现实10. 有稳定平和的心态
5.)在工作和学习中的不足
1.不愿意尝试、接受新的和未经考验的观点和想法
2.对变化感到不安,可能会有些僵硬、死板;排斥革新
3.对需要很长时间才能完成的任务缺乏耐心
4.有时会由于近期目标而忽略长远需要
5.不愿意促成必要的改变,不愿意支持有风险的行为
6.见到实际应用后的结果才肯接受新观点
7.不能理解与他们自己的要求不同的要求
8.对自己及自己对组织的贡献估计过低
9.缺乏挑战精神,对失败和挫折的承受力差
10.缺乏相应的工作经验
6)相应措施
针对我的缺点与不足,我应该采取一定的措施来弥补我的缺陷:
1.避免墨守陈规,需要尝试新的东西 ;要有开放态度,敢于尝试探索新的可能性
2.考虑问题要更全面周到,需要考虑人的因素 ,不单单只考虑自己的利益和感受
3.对那些与我观点不同的人保持足够的耐心和虚心
4.适合的时候,主动承担一些工作
5.正确看待失败,碰到困难不随意放弃
6.增强做事的灵活性,学会变通的看待和接受新事物
对于计算机这门专业来说,人们都普便会使用,它很方便、快捷、时尚。是人们生活中必不可少的。但是它又是一门很难的学文,学习起来难。要成为一个高水平的IT人员尤为艰难。要把难变容易就是先去培养能力和去兼职做些我们能做的工作,积累经验,然后才是创业,创出一点我们的的东西,我们的位置,达到我们想要的目的。所以我在此为自己写下了规划书。如下:
我觉得,如果需要创业,这并不是一日可成的事情,这是一个渐进的过程,是一个需要培养能力和创造性的过程。,我们现在应该做一些什么呢?应该先考虑一些什么样的问题呢?
首先,没有绝对领先的技术,且没有相关经验,资本,人脉等。在计算机这种把世界变成地球村的行业里面,要么第一,要么有特色,要么倒闭。一山不容二虎,地球变成一个村,就是一座山头啦,哪容那么多老虎抢东西吃呢?所以先确定一个创业的期限。世界在不断的快速变化,市场也是,人也是,所以,要不断的跟踪市场,不断的进行技术与能力更新,给自己确定一个里程碑,一般来说,你要做一个项目或者一个产品,最好不要超过6个月,最多是一年,否则到时候市场离你的创意已经很远了。
再次,关键还是找适合自己的公司,特别是那些很有希望马上上市的公司。不过,这又谈何容易呢?一个在校学生,根本不了解国内外业内的一些动态,根本不了解国内牛人的公布情况,拿不到任何相关的数据,凭什么东西做分析?凭一时意气用事吗?这个到时候肯定会挂得很惨。当然,这是我的想法,这也是一个非常痛苦的过程,寂寞、压力、疲劳会时刻伴随着我们,但如果你明白,我们做为一个打工人,我们在这个时期是没有退路可言的,只有向前,才能看到阳光、蓝天、白云!
总之,我有一个观点,最好就是去一些大公司实习,了解一下业内的动态和国内外牛人的分布情况,尽可能积累一点人脉。至于以后怎么选择,做技术还是不做技术,做技术是做研究还是做工程,是想办法往全的方向发展还是往专的方向发展,这都是要权衡的问题。以后的事情说不准,下个学期的计划出了,先做好眼前的事,然后每天过得开心点,也希望以后也会过得很开心!
三、职业倾向分析
适合的岗位性质:
工作环境稳定,不需要太多的冒险和变动,最好依照经验和规律解决事情
有较多的独立工作时间,可以专心的完成整个项目或任务
较多使用事实、细节和运用实际经验的技术性工作,能够充分发挥自己精细、准确、逻辑性强的才能
工作对象是具体的产品或服务,工作成果要有形并且可以衡量
要有明确的工作目标和清晰的组织结构层次
工作有足够的准备和实施时间,在交付成果之前能够进行自我成就评估
四、职业目标选择
根据我的个人兴趣和适合我的岗位性质,我初步定下适合我的职业有这些:
1、DBA:目前我已经考过OCA、OCp 证书,专业是数据库管理专业,英语大学四级水平,能够做一个数据库管理员(DBA)
2、C#软件工程师:比较数据库管理而言我更喜爱编程,在大学期间学习几种语言,但对C#情有独钟,并且用C#作了一些项目参加学院创新杯获得二等奖,最重要的是我太爱编程啦
3、程序员:熟悉各种程序语言,有很好的逻辑 IQ:121,喜欢编程。
4、网站设计师:我个人爱好网页设计,photoshop
5、php、.NET开发工程师:如今技术能够独立运用php以及asp.net完成一个小型的网站
6、宣传部文员:自幼爱好文学,且在班级以及甲骨文俱乐部做宣传这一块的工作,对宣传有一定的经验
7、软件测试员:学过软件测试,对数据库以及编程都很熟悉或者说是精通,然而不是太有耐心,对这个行业不是太感兴趣。
五、未来十年职业规划
20xx-20xx学好专业知识,认真看高数、英语、马克思理论、数据结构、计算机组成与原理为考深大做准备
20xx-20xx年从深圳职业技术学院毕业考入深圳大学计算机科学与技术专业本科插班生学习两年
20xx年7月开始工作的职位是数据库设计人员,积累经验。
20xx年成为中级技术工程师
20xx年后成为高级技术工程师
20xx年后朝管理方向发展
六、总结
任何目标,只说不做到头来都会是一场空。然而,现实是未知多变的,定出的目标计划随时都可能遭遇问题,要求有清醒的头脑。一个人,若要获得成功,必须拿出勇气,付出努力、拼搏、奋斗。成功,不相信眼泪;未来,要靠自己去打拼!实现目标的历程需要付出艰辛的汗水和不懈的追求,不要因为挫折而畏缩不前,不要因为失败而一蹶不振;要有屡败屡战的精神,要有越挫越勇的气魄;成功最终会属于你的,每天要对自己说:我一定能成功,我一定按照目标的规划行动,坚持直到胜利的那一天。既然选择了认准了是正确的,就要一直走下去。在这里,这份职业生涯规划也差不多落入尾声了,然而,我的真正行动才仅仅开始。现在我要做的是,迈出艰难的一步,朝着这个规划的目标前进,要以满腔的热情去获取最后的胜利。
首先你要明确入行的目的,你是深深的热爱着编程还是只是因为程序员是个高薪的职业呢?如果是后者,那么不好意思,你需要慎重的选择。
在中国,程序员并不是一个很好地称呼。程序员似乎象征着邋遢,宅,甚至是IT民工。记得有一期非诚勿扰上面,上去一个男嘉宾,开场说他是搞JAVA的,台上女嘉宾的灯全灭了。是不是很可笑,很可悲?而且只有你真正的进入这个行业你才清楚,这个看上去还不错的薪水,你却付出了超过薪水价值的代价。创业型与游戏型公司里面的项目小组一般是5~10个人,因为他们需要快速的开发以应对多变的市场波动,所以程序猿的每天工作时长都在12小时以上,身体和精神收到摧残不说。作为程序猿的你很少有时间去陪陪自己的家人、自己的女友。
如果作为前者,你是因为深深的热爱着编程,那么恭喜你,你有着一颗hacker的心,属于那些愿意做一些有挑战性的事情的人。就如WhyTheLuckyStiff所说:当你不创造东西时,你只会根据自己的感觉而不是能力去看待问题。
当你开始编程,开始创造的时候,开始享受的时候,一切外界的评论,都挡不住你对技术对创造的热爱。但是,我不得已要泼你一盆冷水,来提醒你一下。你是否准备好了忍受寂寞,也许你面对的是十年寒窗无人问,若你没有熬住,也许就等不到一朝成名天下知的时刻。技术是永无止境的,好的程序员必须保持对于新的技术敏感度,保持学习的热情。Stay hungry ,Stay Foolish。
明确了目的,那么你应该规划下自己的职业生涯。
宏观的讲,个人认为我们需要经历三个阶段:深度、广度、高度。
高度:这个层面往往体现在规划能力,能够看到未来业务的发展,设计出相对合理的架构满足未来业务的快速扩展。这个阶段应该是少参与到具体的编码中去,应该是一个公司的CTO或者首席架构师角色。这个方面的能力比较虚,相对来说也是最难炼成的。
广度:就是知识领域的广度。反映在IT技能上,就是所掌握的领域,比如.net,java,数据库,web,前端等等。不一定每个领域都能够精通,但是至少都能了解,能够在面对问题的时候能够拿出一个切实可行的解决方案。对于跨领域方面,可能是你的沟通能力,管理能力等。
深度:在某一领域有很深入的了解,旺旺是一门具体的技术。比如js代码写的很精通,数据库知识非常丰富,精通linux操作系统底层。
深度-广度-高度,越往上,要求的抽象能力越高,越往下,要求细节知识越具体。一个人往往具备了以上三样,就是一个成功的大牛。
微观的讲,.已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施顾问或销售。对大多数人来说,首先是要专,在技术上做的比较深入,然后进行工作调整,把自己转变为某个领域的专家,第三步,根据自己的情况,来选择技术还是管理。
有了自己的规划,最重要的是执行。我认为很多漂亮的计划都会因为执行力不够而夭折。一个一流的计划经过二流的执行,甚至不如三流。而一个三流的计划,经过一流的执行,也许就能达到二流。所以从计划本身来说,执行往往更重要些。
如果你要走技术路线,那么就深入某一领域,培养程序员以下几个基本素质。
1.团队精神和协作能力;
2.良好的文档习惯;
3.规范化、标准化的代码编写习惯;
4.需求理解能力;
5.复用性、模块化的思维能力;
6.测试习惯;
7.学习和总结能力。
如果你要走管理路线,那么你首先需要向一个pM的目标前进,然后成为总监乃至CTO。我这里讲讲要成为一个pM需要哪些能力。
先看看下面的招聘启事吧,这只不过是一家几十人公司的一个招聘广告:
招聘职位1:软件项目经理
职位描述:
1、带领实施团队完成某软件项目;
2、制定项目计划和实施部署;项目进度、质量及范围管理与控制。
3、负责软件实施过程中与各方的沟通、关系协调与维护;以及实施人员的安排与管理
4、负责了解客户对软件的业务需求及意见,及时反馈、跟踪开发人员解决问题。
5、及时、有效协调资料解决项目实施过程中出现的疑难问题;
职位要求:
1、具备优秀的团队协作精神,良好的沟通能力,有较强的口头/书面表达能力;
2、熟悉企业信息化业务,百万企业信息化项目经验;
3、精通数据库系统和项目管理工具;
4、熟悉XYZ行业相关业务知识;有财务背景知识,快速理解和学习能力;
5、良好的客户服务意识,负责、敬业、细心。
6、有软件大项目管理经验或N年以上项目管理经历优先;
那么,让我们看一下这个招聘启事对软件项目经理能力的描述吧:
团队协作精神 高
沟通能力 高
口头表达能力 高
书面表达能力 高
IT技术 高
XYZ行业知识 高
理解和学习能力 高
服务意识 高
项目经验 高
我们概括一下,是不是差不多就5类:沟通(口头表达能力,书面表达能力,沟通能力,服务意识)、管理(团队协作精神)、技术(IT技术)、成本控制、行业(XYZ行业知识)。理解和学习能力是很综合的,无论是在学习过程还是生活中都能体现。最后一点,项目经验,这东西是学不来的,只有踏踏实实跟着团队做几个项目才能积累起来的。
如果你想成为一个项目经理,那么首先就要把自己定位成一个项目经理,拿项目经理的水准来严格要求自己。比如沟通,平时应该多锻炼和他的的沟通能力,不一定非要在项目中和客户沟通。还有如果没有技术,那么谁都不会信服你的。
从技术和非技术的角度来向项目经理看齐。
技术
1.有着一定的技术广度。首先你需要对现在有的技术有一定的了解。我认为,好的pM不一定是团队中技术最强的,但是一定能知道这些技术能拿来干什么。如果你不懂JAVA,你一定不知道你手下有没有偷懒,明明一个礼拜就可以完成的事情,他两个礼拜都没有搞定,导致你的计划全乱掉了。
其次你需要对新兴的技术有所了解 。IT行业每时每刻都会涌现出很多新兴的技术,谁也不知道某一项技术的出现会不会能改变IT发展的趋势。就如java语言刚出现的时候,谁也不会知道它会那么流行。
2.有着一定的技术深度。深入了解一门技术。这门技术是你的敲门砖,是你打开pM大门必须的钥匙。在网上那些当上项目经理,在IT行业走的很远的人都会对我们说,作为一个pM,技术不是最重要的,重要的是那些非技术的东西。可作为一个科班出生的程序员,我真的无法透过那层雾来看他们描述的pM的世界。直到后来,我和一个当过项目经理的老师谈话才明白。技术,其实是个敲门砖,当敲开这扇们之前,他还是挺重要的。可是当敲开后,那些非技术的东西才是pM的精髓。
3.了解技术发展的历史。个人认为技术发展有一种趋势,当我们能通过过去和现在之间的联系,推算未来技术发展的潮流。
非技术
作为一个pM,你的最终目的是:替老板赚钱。别说我庸俗,也许以后你成为首席技术总监以后你有资格谈技术本身,不然老板是你的衣食父母,你必须替他想。围绕着这个目的我们通过技术知道,达到技术设计最优化;通过管理团队,达到团队产出最大化;通过成本控制,达到经济效益最大化;通过和用户沟通交流,达到用户满意最大化。这一切一切概括的说就是你领导一个团队,使用一些掌握的技术,作出一个项目,使得客户满意,然后老板开心。老板一开心,也许你就升职加薪,那么你就开心了。
所以,pM要学习的非技术的东西很多,大致分为以下几个方面:
1.产品市场
2.产品设计
3.团队管理
其中里面又有很多相关的内容,比如拥有好的人脉也是很重要的。比如学习如何培养自己的创新思维等等。你需要学习营销和推广,需要了解消费心理学、行为心理学等等。
我无法告诉你具体该怎么学习,因为我自己也没有达到那个高度。以上这些内容也是借鉴一些行业的前辈的指导,以及自己的一些独特体会,所以难免见解有些狭隘。但是如果文中的某一点能给你一些启发,那么也不枉我写了那么多了。
程序工作二三年后,基本上都会考虑自己以后怎么发展。发展的路径不外乎程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.哪一条发展的路线更加适合你?
程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯 发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。
绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业创业去当老板,也有部分人说我转行去做业务 了,对于当老板的人毕竟是少数,对于转行的人来说,都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系 统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.
当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到 CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO.
也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答 案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路, 比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。
实际上很多时候,国内并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和 系统分析员(也可能是技术经理)。在一些非IT公司里,可能会有部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让 正在徘徊的程序员有一个大致的了解。
项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重 于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似 很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计 划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。
技术经理有时候也可能叫系统分析员,一些小公司可能会整个公司或者部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代 码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟 通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合 适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
产品经理这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产 品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的 人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么 优势等等。
不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。 产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然 后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。
我见过许多的程序员,他们是做Web开发的,但对互联网很不熟悉,对于互联网流行的趋势基本上不闻不问。不知道现在大家都在使用微博,也不知道SNS,也 可能从不使用网银。我觉得这样很不好,程序员应该多多去关注互联网的发展,多多去玩一些新的网站。
越多的人加入程序员这个行业,程序员已经不是以前人们向往的白领职业了,要想在这个行业有所发展,至少在中国,想有所成就,就应该有一技之长,对某一领域有所精通。
随着计算机行业的不断发展和分支学科的不断出现,很难像以前再出现一个对计算机各个领域都很精通的人了,所以,对某一方向有所精通很重要。很多人夸夸其谈,乍一听对于计算机各个方面都知道,但仔细一问他就说不出什么了。
随着软件流水线般的进行生产,程序员(我是指之会写程序的人)越来越成为工厂里面流水线上的操作工人,依靠越来越强大和方便的开发工具和越来越容易上手的开发语言。这些人拼得是自己的经历和体力,他们是软件开发的最底层人员,即使干的好也不过是熟练的操作技工而已,因为他们只会使用别人开发出来的工具,自己甚至只知道怎么用,而不知道为什么和具体实现。造成这种情况的主要原因是开发工具的自动化和教育上的失误,特别是一些短期的软件培训机构,他们只教会了学生如何使用.Net或者Eclipse这样的容易上手的开发工具,最多再学习一下语言,有些人甚至连语言和开发工具都分不清楚(例如C++和VC++)这些都是软件行业迅速发展所造成的一些不良的影响和某些人急于求成的心理。很多人的基础不扎实就去写程序,它们对多线程,语言的底层实现和算法都不了解,这样,很难写出结构良好,效率高的程序。
所以,总结我以往写程序的经验和教训,我觉得:
1。打好基础,学好本质的东西,分清什么是科学,什么是技术,什么是应用。最上层的东西是会经常变化的,不要把时间大都花在那上面。
2。精通而不是什么都知道,却什么也不熟悉。后者是大忽悠。前者在有可能从程序员过渡到技术主管或者研发核心人员。
3。不要总用别人的东西,要有自己的成果。
4。学计算机不要急,慢慢来,一步一步,不要追求新技术名词,一位会几个新名词就来不得了,高手对底层都很熟悉的。不要浮躁。
5。要理论联系实际,学到的理论要知道有什么应用和怎么实现,到动手编程。
6。要有毅力,真正的工作很枯燥,但如果你投入进去就会很有趣。要珍惜每一分每一秒。
展开全文
相关推荐范文