『壹』 程序员职业规划
程序员职业规划范文
导语:对于个人的职业,我们应该做好规划。下面是程序员职业规划范文,供各位阅读和参考。
前言
当今社会,IT行业发展速度突飞猛进,技术更新换代周期小,专业方向和领域更是林林总总、百家争鸣,若没有一个明确的目标而漫无目的的乱走一遭,岂不殆误时机,浪费年华?俗话说,欲行千里,先立其志。因此,要为自己拟定一份职业生涯规划,将自己的未来好好的设计一下。有了方向的指引,自然才会有乘风破浪之帆。
自我认知
“知己知彼,百战不殆”,进行职业规划首先要“知己”,即全面、深入、客观的分析和了解自己。
1)我的优点
热爱学习,对新鲜事物及不懂的知识有着浓厚兴趣,喜欢凡事问个为什么,有条件的话会不断钻研直至懂得原理为止;热爱工作,只要进入工作状态常常到达忘我境界,做事情考虑周全,以大局和未来为重,并且在懂得应用知识后会去了解知识背后的核心,从经验上升到理论。
2)我的缺点
过分自信,执着的有些过头;性格急躁,自控能力一般;自身专业知识水平、能力有待于进一步提高。
3)个人职业倾向
目前从事的是java服务端的软件开发工作,希望可以成为一名技术管理双能的工作者。
职业认知
程序员一般有两个大方向:技术与管理。
走技术路线的人,一定是对技术痴迷的人。但要走得长远,我们需要把技术做穿、做透。如何做穿、做透?计算机底层(C、汇编、逆向工程、驱动、内核)、计算机算法(网格计算、音视屏压缩、语音识别…)、架构(软件工程、跨平台、多语言等)都要有涉及。只有我们掌握了这些,才能做到”看问题看到本质”、”思想有穿透力”。这些才是最宝贵的,需要沉淀下来,仅仅靠做项目、写代码是无法达到的。
对于走管理路线的人,是具有“完成任务为第一要务”、“有计划、善于管理时间”、“善于与人打交道”性格特点的人,重要的是“综合素质”,而不是“专攻”。必须从思想上发生根本性转变:技术是解决问题,而管理则需要满足“多快好省”。
而本人对程序员职业的认知是:技术与管理并不是物理上的独立,而是相辅相成的。只做技术无法深刻理解全局思维,无法更好地为业务服务;而只做管理,则与程序员渐行渐远,最终成为一名行外的管理人员,无法在团队内部树立威望。因此,个人希望可以成为一名技术管理双能的工作者。
环境分析
程序员通常被认为是相当不错的工作,原因非常多。收入高,福利好(有可能非常好),工作富有挑战性(通常是正面积极的挑战),根据目前的就业形势和程序员的需求量,这种职业竞争压力很小。
但是,在国内的IT环境下,要成为一名合格的程序员并不是容易的事。在国外,五六十岁还坐在电脑前敲代码的程序员比比皆是;则在国内,程序员则靠吃“青春饭”,三十岁还需要靠敲代码的程序员甚至被称为loser。这主要因为IT技术的高速发展,程序员必须不断地更新专业知识,以适应社会的需求。而上了年纪的程序员由于思维和身体原因,无法与刚步入社会正值旺年的年轻一代的学习能力相提并论,只能苦苦挣扎在茫茫学海中,或被迫进入自己并不擅长的管理层面里。
当然,随着对程序员的认知越来越广泛,这种情况经已有所缓和,但是从教育角度上看来,国内形势还是十分严峻。现在各个大学、IT培训机构为了赚钱拼命扩招,所以不仅IT专业的学生人比较多,而且其他专业的学生人数也比较多,“僧多粥少”就通常意味着就业压力大。但是反过来看,现在很多IT企业都存在“人才荒”的问题,也就是很多企业都招不到合适的人才,一些从事IT人力资源方面工作的人都普遍反映现在企业里很难招到合适的人才。初看起来很奇怪“每年有很多IT专业大学生毕业,很多都找不到工作”,而“企业每年都缺人,招不到合适的人才”,造成这种奇怪的“人才断层”现象的根本原因就是现在毕业生的素质明显下降了,大学招的人多也意味着教学资源平均下来降低了,培训机构为了赚更多的钱以最快的`速度培训出一群“知其然不知其所以然”的学生,所以教育质量也降低了,这些就造成了“学生需要工作,企业需要人”的这种状况。
未来人生职业规划目标与行动方案
1)阶段目标
Phase Ⅰ:理论实践期
时间:1~3年
目标:将自己学到的理论知识融入实际应用之中
Phase Ⅱ:全面发展期
时间:7~10年
目标:技术与管理双管齐下,精通技术核心并能带领和指导团队工作
Phase Ⅲ:持续发展期
时间:10年
目标:从工程化思想解决出来,探索并吸收其它领域思想,引领并指导工程领域
2)行动方案
a) 加强体育锻炼,保持健康的体魄。俗话讲“身体是革命的本钱”,一个健康的身体是事业成功的前提和基础。在今后30年的工作历程和职业生涯中,要坚持体育锻炼,练就一个健康的体魄,为事业成功提供体力保障。具体说来就是要养成良好的锻炼、饮食、生活习惯,每天保证睡眠6~8小时,每周锻炼两次或以上。
b) 保持学习势头,活到老学到老。首先专业知识无需多说了,不管是技术还是管理都必须不断地学习,攻读在职研究生便是第一步。另外,学无止境,其它领域也必须接触,包括英语、厨艺、人力资源管理等等。下一步则是增强英语能力,最重要是口语能力。
c) 保持工作热情,提升工作效率。勇于承担单位的各项工作和领导交给的不同任务,接受来自各方面的挑战与压力,不断提高自己的思维能力、组织能力、策划能力以及研究能力,使自己成为一个综合素质高、业务能力强的复合型人才。
d) 参与社会公益活动。虽然本人目前并不是一位成功人士,但希望能尽自己一分微薄的力量,参加志愿者活动、无偿献血活动、奉献爱心等等。不仅心灵得到极大的满足,同时接触到更多有志之士,广交人脉,全方位提升自我修养和履行社会责任与义务。
调整与评估
计划固然好,但更重要的在于其具体实践并取得成效。任何目标,只说不做,到头来都会是一场空。然而,现实是未知多变的,定出的目标计划随时都可能遭遇问题,这就要求有清醒的头脑和良好的心态,做到万变不离其中即可。
成功标准
个人成功标准是专业上不断更新,做到满足同一时期各类相关公司或企业对应的要求;学习与工作、家庭与社会相互协调发展,并在最大限度实现个人价值;不违法、不犯罪,对社会有一定贡献之人。
;『贰』 一套完整的网站运营推广方案是什么样
大多数运营人员可能是了解网站漏洞、观察网站跳出率这类问题,其实运营人员应该是在运营推广中做总体方向的人,比如:
找行业几千个关键词给编辑人员编辑文字
制定推广人员推广计划
网站用户体验改善
网站的营销力
网站活动的策划
运营人员的基本功能个人认为是搜索引擎优化,因为搜索引擎越来越人性化,如果懂得搜索引擎的算法,我相信这个运营人员一定有能力把自己的网站用户体验做到极致。
另外一个是企业的网络竞价,如果公司条件好,请一个竞价人员专业竞价那是最好不过,条件差,只有交给运营人员了,懂得SEO的人操作竞价是非常简单的,做网络竞价无非就是三个核心点:价格、创意、转化。
一个标准的程序员应该会把程序写到规范化,太多程序因为懒惰,省去了代码中很多标签,比如图片属性、A标签属性、网站地图、ROBOTS、伪静态等等标签,我认为这些并不需要一个SEO写出方案后,程序员再来修改!
不管是一个企业网站,还是门户商城网站,都需要一个专业的编辑,但如果是企业网站,编辑稍微轻松一点,但如果是商城、门户一个编辑做起来就有点吃力了!
很多人会觉得编辑就一定是写新闻的,其实编辑最主要是配合SEO优化做推广的,拿到关键词以后,通过分析此关键词的需求,写一篇满足用户需求的文章,只有这样才能够有资格与大型网站去PK排名!
比如一天写5篇针对性关键词的文章,一个月150篇,如果按照三分之一的上排名几率,一个月下载也的有50个关键词有排名了,一年下来至少有500个关键词排名了。
另外一个编辑当然是少不了编辑新闻、编辑活动类的,编辑的主要软文是做编辑搜索引擎优化的内容,其次是编辑站内的新闻、公司新闻内容,但大多数企业这类新闻都非常少,所以这个事情并不会很复杂!
网络推广是一个比较枯燥的工作,所以我认为不需要太聪明的人去做,越聪明的人越喜欢研究来研究去,自然会对枯燥的内容感到不安,还不如找一个学徒,让他盯着这个事情去做,俗话说再牛逼的思维抵不过冒着傻气的坚持。
B2B推广:通过发布B2B消息推广你的产品,比如阿里巴巴(最好单独运营)、慧聪网、马可波罗等等,这些大型平台大多数在网络上排名都良好,另外他们还有自己站内的流量,所以做到极致,推广效果会非常好!记得我曾经那个公司,推广人员的任务是一天发100条B2B信息。
链接推广:通过交换友情链接、博客链接、软文投稿链接等方面的形式做链接推广,一方面可以引流,另一方面可以提高网络权重。
主动出击:在你竞争对手的QQ空间和微博活跃的人都是什么人,想都不要想,要么是竞争对手的朋友,要么就是对竞争对手感兴趣的人,不然人家好端端去看什么广告QQ空间和微博呢。这个时候,你可以关注那些关注你竞争对手微博的人,添加访问你竞争对手QQ空间的人,这些人都可以直接看到,并且添加,一天找10个不是问题吧,一个月下来也可以找300个了。我不会~~~但还是要微笑~~~:)
『叁』 10.24程序员节,公司可以为程序员做什么活动策划呢
你可以专门策划一个颁奖晚会,你可以选择通过赠送礼物的方式来举办程序员节的活动。
从某种程度上来说,如果一家公司本身不是互联网公司的话,这家公司其实没有必要去可以过所谓的程序员节。与此同时,如果你所在的公司启弊是互联网公司的话,因为互联网公司的程序员的数量一般会比较多,程序员本身在公司的分量也比较重,所以你可以专门举办程序员节的活动,通过这种方式来提高公司的员工凝聚力,这个方式也会让很多程序员感到非常暖心。
除此之外,我觉得一家公司也可以专门给程序员放个假,特别是当平时的业务不忙的时候,程序员节的这一天完全可以选择给程序员放半天假,通过这种方式来表明公司对程序员的重视程度,程序员自悄唯族然也会因此而非常开心。
『肆』 什么是软件项目管理
所谓软件项目管理就是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Proct)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期。
软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。
软件项目管理的提出是在20世纪70年代中期的美国,当时美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。
1995年,据统计,美国共取消了810亿美元的商业软件项目,其中31%的项目未做完就被取消,53%的软件项目进度通常要延长50%的时间,只有9%的软件项目能够及时交付并且费用也控制在预算之内。
软件项目的计划
软件项目计划是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。
软件项目管理过程从项目计划活动开始,而第一项计划活动就是估算:需要多长时间、需要多少工作量、以及需要多少人员。此外,我们还必须估算所需要的资源(硬件及软件)和可能涉及到的风险。
为了估算软件项目的工作量和完成期限,首先需要预测软件规模。度量软件规模的常用方法有直接的方法——LOC(代码行),间接的方法——FP(功能点)。这两种方法各有优缺点,应该根据软件项目的特点选择适用的软件规模度量方法。
根据项目的规模可以估算出完成项目所需的工作量,我们可以使用一种或多种技术进行估算,这些技术主要分为两大类:分解和经验建模。分解技术需要划分出主要的软件功能,接着估算实现每一个功能所需的程序规模或人月数。经验技术的使用是根据经验导出的公式来预测工作量和时间。可以使用自动工具来实现某一特定的经验模型。
精确的项目估算一般至少会用到上述技术中的两种。通过比较和协调使用不同技术导出的估算值,我们可能得到更精确的估算。软件项目估算永远不会是一门精确的科学,但将良好的历史数据与系统化的技术结合起来能够提高估算的精确度。
当对软件项目给予较高期望时,一般都会进行风险分析。在标识、分析和管理风险上花费的时间和人力可以从多个方面得到回报:更加平稳的项目进展过程;更高的跟踪和控制项目的能力;由于在问题发生之前已经做了周密计划而产生的信心。
对于一个项目管理者,他的目标是定义所有的项目任务,识别出关键任务,跟踪关键任务的进展情况,以保证能够及时发现拖延进度的情况。为此,项目管理者必须制定一个足够详细的进度表,以便监督项目进度并控制整个项目。
常用的制定进度计划的工具主要有Gantt图和工程网络两种。Gantt图具有悠久历史、直观简明、容易学习、容易绘制等优点,但是,它不能明显地表示各项任务彼此间的依赖关系,也不能明显地表示关键路径和关键任务,进度计划中的关键部分不明确。因此,在管理大型软件项目时,仅用Gantt图是不够的,不仅难于做出既节省资源又保证进度的计划,而且还容易发生差错。
工程网络不仅能描绘任务分解情况及每项作业的开始时间和结束时间,而且还能清楚地表示各个作业彼此间的依赖关系。从工程网络图中容易识别出关键路径和关键任务。因此,工程网络图是制定进度计划的强有力的工具。通常,联合使用Gantt图和工程网络这两种工具来制定和管理进度计划,使它们互相补充、取长补短。
进度安排是软件项目计划的首要任务,而项目计划则是软件项目管理的首要组成部分。与估算方法和风险分析相结合,进度安排将为项目管理者建立起一张计划图。
软件项目的控制
对于软件开发项目而言,控制是十分重要的管理活动。下面介绍软件工程控制活动中的质量保证和配置管理。其实上面所提到的风险分析也可以算是软件工程控制活动的一类。而进度跟踪则起到连接软件项目计划和控制的作用。
软件质量保证(SQA,Software Quality Insurance)是在软件过程中的每一步都进行的“保护性活动”。SQA主要有基于非执行的测试(也称为评审)、基于执行的测试(即通常所说的测试)和程序正确性证明。
软件评审是最为重要的SQA活动之一。它的作用是,在发现及改正错误的成本相对较小时就及时发现并排除错误。审查和走查是进行正式技术评审的两类具体方法。审查过程不仅步数比走审多,而且每个步骤都是正规的。由于在开发大型软件过程中所犯的错误绝大数是规格说明错误或设计错误,而正式的技术评审发现这两类错误的有效性高达75%,因此是非常有效的软件质量保证方法。
软件配置管理(SCM,Software configuration management)是应用于整个软件过程中的保护性活动,它是在软件整个生命周期内管理变化的一组活动。
软件配置由一组相互关联的对象组成,这些对象也称为软件配置项,它们是作为某些软件工程活动的结果而产生的。除了文档、程序和数据这些软件配置项之外,用于开发软件的开发环境也可置于配置控制之下。一旦一个配置对象已被开发出来并且通过了评审,它就变成了基线。对基线对象的修改导致建立该对象的版本。版本控制是用于管理这些对象而使用的一组规程和工具。
变更控制是一种规程活动,它能够在对配置对象进行修改时保证质量和一致性。配置审计是一项软件质量保证活动,它有助于确保在进行修改时仍然保持质量。状态报告向需要知道关于变化的信息的人,提供有关每项变化的信息。
软件项目管理的特性
软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。
软件项目管理的组织模式
软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组。公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。
1、项目管理委员会项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:
(1)依照项目管理相关制度管理项目;
(2)监督项目管理相关制度的执行;
(3)对项目立项、项目撤消进行决策;
(4)任命项目管理小组组长、项目评审委员会主任、项目组组长.
2、项目管理小组项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下:
(1)草拟项目管理的各项制度;
(2)组织项目阶段评审;
(3)保存项目过程中的相关文件和数据;
(4)为优化项目管理提出建议。
3、项目评审小组项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:
(1)对项目可行性报告进行评审;
(2)对市场计划和阶段报告进行评审;
(3)对开发计划和阶段报告进行评审;
(4)项目结束时,对项目总结报告进行评审。
4、软件产品项目组软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。
软件项目管理的内容
软件项目管理的内容主要包括如下几个方面:人员的组织与管理,软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置管理等。
这几个方面都是贯穿、交织于整个软件开发过程中的,其中人员的组织与管理把注意力集中在项目组人员的构成、优化;软件度量把关注用量化的方法评测软件开发中的费用、生产率、进度和产品质量等要素是否符合期望值,包括过程度量和产品度量两个方面;软件项目计划主要包括工作量、成本、开发时间的估计,并根据估计值制定和调整项目组的工作;风险管理预测未来可能出现的各种危害到软件产品质量的潜在因素并由此采取措施进行预防;质量保证是保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动;软件过程能力评估是对软件开发能力的高低进行衡量;软件配置管理针对开发过程中人员、工具的配置、使用提出管理策略。因为大家对人力资源管理和软件过程能力比较有兴趣,下面就详细的对这两方面展开讨论。
6、简单有效原则
项目经理在进行项目管理的过程中,往往会得到开发人员这样的抱怨"太麻烦了,浪费时间,没有用处 ",这是很普遍的一种现象。当然这样的抱怨要从2个方面来分析,一方面从开发人员本身可能存在不理解,或者逆反心理的情况,另一方面,项目经理也要反思:我所采取的管理措施是否简单有效?搞管理不是搞学术研究,没有完美的管理,只有有效的管理,而项目经理往往试图堵住所有的漏洞,解决所有的问题,恰恰是这种理想,会使项目的管理陷入一个误区,作茧自缚,最后无法实施有效的管理,导致项目的失败。
7、规模控制原则
该原则是和上面提到的其他原则相配合使用的,即要控制项目组的规模,不要人数太多,人数多了,进行沟通的渠道就多了,管理的复杂度就高了,对项目经理的要求也就高了。在微软的MSF中,有一个很明确的原则就是要控制项目组的人数不要超过10人,当然这不是绝对的,也和项目经理的水平有很大关系。但是人员"贵精而不贵多",这是一个基本的原则,这和我们上面提到的高效原则、分解原则是相辅相成的。