一、程序员的特性
技术出身的职场人特性很明显,与做市场、业务出身的职场人区别尤其明显。
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、敏捷开发管理等。
选择什么样的职业线路,需要客观认识自己,根据自己的特点进行规划,选中后制定有序的学习计划。职业机会也是留给已做好准备的人。