本人从2008年毕业,作为一名软件开发程序员,开始正式踏入软件开发行业,转眼间已是9个年头了。做过初级软件工程师、高级软件工程师、项目主管、技术经理、项目经理。近些年带过开发团队、参与招聘面试。今天把个人这些年一些体会或者观点分享下,仅代表个人观点。
一、程序员的特性
技术出身的职场人特性很明显,与做市场、业务出身的职场人区别尤其明显。IT行业中常见的一些职场角色:老板、项目经理、产品经理、需求分析师、设计师、开发工程师、运维工程师等。开发工程师具有如下特征:
1、逻辑思维清晰、严谨和细腻;但是有时不容易转弯,有些程序员容易较劲、转牛角尖。
2、性格偏内向、不善于沟通、表达和交际;但是在网络聊天工具上,有些显为幽默、能聊。
3、为人实在、真诚待人、直来直往;但是有时比较呆板。
4、书面表达能力较差,甚至排斥编写文档的工作。
二、国内软件开发环境
国内软件开发环境,主要是讨论应用系统方面开发(不包括游戏开发,本人对游戏开发不了解),一般软件公司性质&特点:
1、互联网平台类型 -- 企业搭建产品平台进行运营,这类企业,大到BAT,小到初创互联网平台的企业。
(1)技术方面:技术人员开发内容和所用技术单一;因平台数据量、访问量大,解决问题过程中,更有利于深入的掌握技能;使用新技术偏多。
(2)福利方面:薪酬和福利较好,特别是大型的成熟的互联网平台,但是对于初创型的公司,需要引入人才,一般都会高薪吸引人才。
(3)岗位方面:岗位升迁比较难,管理岗比较有限,其次竞争也较为激烈。
(4)归属方面:比较有成就感、自豪感,所在企业有归属感。
2、软件项目外包类型 -- 企业以承接项目研发或者实施,项目完成验收进行交付。有些项目需要项目成员进行驻点实施。
(1)技术方面:技术人员更多时间充当多面手,以完成项目交付为导向;所用技术大部分沿用旧技术,主要考虑新技术遇到技术问题导致开发效率不可控;一般技术能力得不到深入应用。
(2)福利方面:薪酬和福利较为一般,完全比不上互联网平台类型,有部分企业会项目奖金制进行补充薪酬。如果企业核心骨干,公司则会给予相对合理的薪酬福利,用于留住人才。
(3)岗位方面:岗位升迁机会比较大,初级开发、高级开发、技术经理、项目经理等。锻炼综合能力的机会多。
(4)归属方面:可能是项目交付验收后的放松,或者是发放项目奖金的时候,不过绝对比人力资源外包好。
3、人力资源外包类型 -- 人员资源企业招聘后,将人员外包到客户现场做事,客户公司的活动及福利都跟外派驻点人员无关,毫无归属感;甚至有些工作一年多,都不知道与其签订合同的公司的具体情况。
(1)技术方面:听从服务单位要求。
(2)福利方面:这也是唯一的优点了,就是薪酬偏高,福利偏低。
(3)岗位方面:不需要多想。
(4)归属方面:几乎为零。
以上根据本人理解将常见的软件企业分为三类,现在也有一些企业同时兼存在多种类型。对于软件开发同学而言,首先要客观认识自身的情况,想好自己现在要什么,接着要什么,未来要什么,做好职业规划。选择不同的类型的企业。例如,当前身无几分,急需就业,技术能力较为一般,可以选择人力资源外包临时过渡;喜欢技术专研,对技术有浓厚的兴趣,希望以后成为某个领域的技术牛人,可以选择互联网平台类型;有一定的技术基础,以后想往技术经理、项目经理方向发展,可以选择项目外包类型。程序员需要规划好自己的职业线路。
三、职业线路选择
程序员一般职业线路比较简单,没太多选择,除非换行业者另说。下面是我个人的一些观点。
1、程序员,如果你觉得你喜欢代码,喜欢开发工作,那么一直做开发也是一件的不错的事,不过要考虑当你做开发10年后,你所做的工作,一个大学毕业2、3年的开发人员一样能做时,你的价值在走下坡路,越来越不值钱。所以要时刻保持学习,并且深入研究技术。
2、架构师,是往真正技术大牛的方向发展的职业线路。若未来你想成为架构师就需要现在你的不断专研技术和积累研发经验。不是随便开发人员凭借10年开发经验就可以成为架构师。成为架构师需要完善和扎实的技术体系,具备较好系统分析和设计能力,丰富的项目研发经验。建议前期可以先去项目外包类型,然后再去互联网平台类型。
3、技术经理,是往技术加团队管理的方向发展的职业线路。往此线路发展的同学,需要一定的技术能力和团队管理能力。做管理与性格有关,首先得分析自己性格是否适合做管理的工作,这点也是很多做技术出身的人员,转型时最大的挑战。有技术经理岗位的存在,一般都是搭配偏需求、产品的项目经理进行项目实施。技术经理的技术可以不用深入研究,但是需要具备一定的广度和项目开发经验。
4、项目经理,是往管理的方向发展的职业线路,一般项目经理主要侧重项目管理工作,项目经理很关键的能力就是计划、沟通及组织协调的能力。沟通和表达是开发人员短柄,所以想往此线路发展的同学,从日常的工作、生活中就得逐步加强锻炼这方面能力,其次学习一些项目管理的知识,例如:PMP、CMMI、敏捷开发管理等。
选择什么样的职业线路,需要客观认识自己,根据自己的特点进行规划,选中后制定有序的学习计划。职业机会也是留给已做好准备的人。
四、结语
本文的内容仅是个人的观点,可能有些观点概述不全。最后说下:个人努力和学习很重要,平台更为重要。在平台上,你将时时刻刻面对不同的问题,解决不同的实际问题,问题解决能力便提升了,同事积累到经验。时间一晃就过,很快你就会发现,自己已是一位职业老手了,可能在迷茫自己的方向,可能在抱怨公司不好、工资不高等。所以选择自己的的职业线路,做好规划,选好你真真正正要的东西。
本人从2008年毕业,作为一名软件开发程序员,开始正式踏入软件开发行业,转眼间已是9个年头了。做过初级软件工程师、高级软件工程师、项目主管、技术经理、项目经理。近些年带过开发团队、参与招聘面试。今天把个人这些年一些体会或者观点分享下,仅代表个人观点。一、程序员的特性技术出身的职场人特性很明显,与做市场、业务出身的职场人区别尤其明显。IT行业中常见的一些职场角色:老板、项目经理、产品经理、需求分析师、设计师、开发工程师、运维工程师等。开发工程师具有如下特征:
1、逻辑思维清晰、严谨和细腻;但是有时不容易转弯,有些程序员容易较劲、转牛角尖。
2、性格偏内向、不善于沟通、表达和交际;但是在网络聊天工具上,有些显为幽默、能聊。
3、为人实在、真诚待人、直来直往;但是有时比较呆板。
4、书面表达能力较差,甚至排斥编写文档的工作。
二、国内软件开发环境 国内软件开发环境,主要是讨论应用系统方面开发(不包括游戏开发,本人对游戏开发不了解),一般软件公司性质&特点:
1、互联网平台类型 -- 企业搭建产品平台进行运营,这类企业,大到BAT,小到初创互联网平台的企业。
(1)技术方面:技术人员开发内容和所用技术单一;因平台数据量、访问量大,解决问题过程中,更有利于深入的掌握技能;使用新技术偏多。
(2)福利方面:薪酬和福利较好,特别是大型的成熟的互联网平台,但是对于初创型的公司,需要引入人才,一般都会高薪吸引人才。
(3)岗位方面:岗位升迁比较难,管理岗比较有限,其次竞争也较为激烈。
(4)归属方面:比较有成就感、自豪感,所在企业有归属感。
2、软件项目外包类型 -- 企业以承接项目研发或者实施,项目完成验收进行交付。有些项目需要项目成员进行驻点实施。
(1)技术方面:技术人员更多时间充当多面手,以完成项目交付为导向;所用技术大部分沿用旧技术,主要考虑新技术遇到技术问题导致开发效率不可控;一般技术能力得不到深入应用。
(2)福利方面:薪酬和福利较为一般,完全比不上互联网平台类型,有部分企业会项目奖金制进行补充薪酬。如果企业核心骨干,公司则会给予相对合理的薪酬福利,用于留住人才。
(3)岗位方面:岗位升迁机会比较大,初级开发、高级开发、技术经理、项目经理等。锻炼综合能力的机会多。
(4)归属方面:可能是项目交付验收后的放松,或者是发放项目奖金的时候,不过绝对比人力资源外包好。
3、人力资源外包类型 -- 人员资源企业招聘后,将人员外包到客户现场做事,客户公司的活动及福利都跟外派驻点人员无关,毫无归属感;甚至有些工作一年多,都不知道与其签订合同的公司的具体情况。
(1)技术方面:听从服务单位要求。
(2)福利方面:这也是唯一的优点了,就是薪酬偏高,福利偏低。
(3)岗位方面:不需要多想。
(4)归属方面:几乎为零。
以上根据本人理解将常见的软件企业分为三类,现在也有一些企业同时兼存在多种类型。对于软件开发同学而言,首先要客观认识自身的情况,想好自己现在要什么,接着要什么,未来要什么,做好职业规划。选择不同的类型的企业。例如,当前身无几分,急需就业,技术能力较为一般,可以选择人力资源外包临时过渡;喜欢技术专研,对技术有浓厚的兴趣,希望以后成为某个领域的技术牛人,可以选择互联网平台类型;有一定的技术基础,以后想往技术经理、项目经理方向发展,可以选择项目外包类型。程序员需要规划好自己的职业线路。
三、职业线路选择
程序员一般职业线路比较简单,没太多选择,除非换行业者另说。下面是我个人的一些观点。
1、程序员,如果你觉得你喜欢代码,喜欢开发工作,那么一直做开发也是一件的不错的事,不过要考虑当你做开发10年后,你所做的工作,一个大学毕业2、3年的开发人员一样能做时,你的价值在走下坡路,越来越不值钱。所以要时刻保持学习,并且深入研究技术。
2、架构师,是往真正技术大牛的方向发展的职业线路。若未来你想成为架构师就需要现在你的不断专研技术和积累研发经验。不是随便开发人员凭借10年开发经验就可以成为架构师。成为架构师需要完善和扎实的技术体系,具备较好系统分析和设计能力,丰富的项目研发经验。建议前期可以先去项目外包类型,然后再去互联网平台类型。
3、技术经理,是往技术加团队管理的方向发展的职业线路。往此线路发展的同学,需要一定的技术能力和团队管理能力。做管理与性格有关,首先得分析自己性格是否适合做管理的工作,这点也是很多做技术出身的人员,转型时最大的挑战。有技术经理岗位的存在,一般都是搭配偏需求、产品的项目经理进行项目实施。技术经理的技术可以不用深入研究,但是需要具备一定的广度和项目开发经验。
4、项目经理,是往管理的方向发展的职业线路,一般项目经理主要侧重项目管理工作,项目经理很关键的能力就是计划、沟通及组织协调的能力。沟通和表达是开发人员短柄,所以想往此线路发展的同学,从日常的工作、生活中就得逐步加强锻炼这方面能力,其次学习一些项目管理的知识,例如:PMP、CMMI、敏捷开发管理等。选择什么样的职业线路,需要客观认识自己,根据自己的特点进行规划,选中后制定有序的学习计划。职业机会也是留给已做好准备的人。
四、结语
本文的内容仅是个人的观点,可能有些观点概述不全。最后说下:个人努力和学习很重要,平台更为重要。在平台上,你将时时刻刻面对不同的问题,解决不同的实际问题,问题解决能力便提升了,同事积累到经验。时间一晃就过,很快你就会发现,自己已是一位职业老手了,可能在迷茫自己的方向,可能在抱怨公司不好、工资不高等。所以选择自己的的职业线路,做好规划,选好你真真正正要的东西。