当前位置:   article > 正文

程序员职业如何选择?从榜样雷军谈起

程序员职业决策选择

点击上方蓝色“终端研发部”,选择“设为星标”

 
 
学最好的别人,做最好的我们

跟同事聊天时被问到我是否有兴趣做我们某一个产品的产品经理,我一下子被问住了,因为虽然之前也听过这个名词很多次了,但实际上我不知道这个职位到底的职责是什么,所以不敢贸然答应,仔细想想自己已经工作两年了,虽然平时也在注意积累,但还真没认真思考下自己未来的路,是该认真总结想想了。

【一】程序员通常的发展路线是怎样的?

程序员通常的发展路线是怎样的?可以看看这个图,当一个初步的职业规划方案已经成型时,如果制订者目前已在一个软件公司工作,那么,对他来说进一步的提升非常重要。首先要做的则是进行角色分析,反思一下这个职业环境对个人的要求和期望是什么,如何使自己在单位中脱颖而出。

45794a022475d464fdc1877303216d49.png

通常,软件技术人员的职业发展有几个选择:专注于技术,成为技术专家;转型到技术型销售、技术支持等;随着技术成长,从技术性管理到高级管理。这是大家都看得清楚的方向,也都在向这些方向的金字塔尖努力。

就像烹饪一样,每一个阶段目标都需要你进行角色分析,找出这一角色需要的’配料’,当你注意收集技术、素养等相关’配料’后,就会成功烹饪出你所需要的目标鱼。前提是你一定要了解自己的特点和优势,就好比黄瓜种子是不可能培育成西瓜一样。

这归根结底,都是以技术为基础。在扎实的技术基础上(高级软件工程师),如果有着比较强的抽象设计能力,又打算专注于技术开发,架构师是个好的选择;如果 性格更适合做管理,情商能力突出,技术型管理应该是下一步的方向。这种发展规划属于’瘸腿走路’的类型,各有侧重主攻发展的职业方向,也是目前一般程序员 普遍采用的发展路线规划。

决胜点在于长期的点滴积累,认证证书、成绩、丰富的经历是求职的表面文章,在目前软件行业里不是很看中这个,真正的’内功’是需要规划的。至于培训,我倒 是很建议直接加入软件公司,你就会学到很多实际的东西。不过,学历教育虽然在职业生涯里不是主要的,但是随着职位的提升却有很重要的意义,能辅助拓展你的 职业发展空间,而不是以此为阻碍从而失去更多的机会。

已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是 Java、.NET还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师。尽管架构师的职位可以工作一辈子,待遇也非常好,对于科班出身的程序 员最为适合,但这种工作职位非常有限,因为在中国目前的IT行业,架构师需要的条件比较复杂,而且需求量也比较少,这也是我国软件行业走向国际并有待成熟 的因素之一。

【二】综合才能型发展路线图

ef675e5377f79c10a4da8c0ed463f2df.png

目前国内缺乏的是管理能力和专业知识技能并驾齐驱的IT人才。特别是懂得运用目标管理技术的项目管理人才,既掌握核心技术又有全局掌控能力的项目管理人才,非常难找。我建议对于大多数人来说,首先是要专,只有在技术方向上做得比较深入,才能适当做工作调整,把自己转变为某个领域的专家。

根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可能就会走向管理,这和 个人性格与情商有关。软件优秀的管理者都必须懂得技术,掌握核心技能的人才向管理岗位转型有很大的优势,因而提升管理能力成了转型的关键。譬如,当唐骏还 是微软一名普通程序员时,就从公司发展的角度考虑,向老板提议开发了中文版Windows,最终使他从几万名工程师中脱颖而出,成为部门经理。正如他所 说,虽然是程序员,但自己不能只把自己当程序员,你可以为老板和公司着想。

调查研究后,带着解决方案去找老板,就会得到老板的重视和信任,所以一定要增强工作主动性和参与性。无论是软件开发还是项目管理,国内员工大多只是做好份内事或完成交派任务,很少能主动发现问题。其实,只有拥有更高眼界,才能谋取大发展。

总之,程序员要根据本身的基本素质、技术能力选择开发层次,由低到高,逐步发展。也是一名程序员本身具备相应素质的循序渐进的发展轨迹,包括很强的技术背景和综合管理才能等素养,这也就是所谓’两条腿走路’的职业规划发展路线。

在未来发展上首先确定自己的发展方向和研究方向,在学习技术的同时还要为以后做准备,做好以后的技术转型。广度和深度是相对的,先广还是先深实质上从某种 意义来说取决你的工作性质,如果你是从事单一工作的,多半你会短暂先深,因为这是你立足的根本;而如果你选择的职业是综合性的,比如管理、讲师等,那么你 必然要先有广度才可以,但一段时间后,你都要转入深度,只有你在某一方面或领域有一定的深度后,你才能继续寻求广度,否则,你将什么都会,但什么都不精, 这样的人在市场上是最难以立足的。


【三】初入职场,程序员的上升空间在哪里

1、 技术上的反思和提高

无论程序员个体之间差异有多大,我认为程序员上升空间在于技术上的反思和提高。程序员到了成熟阶段,往往有一种狂奔到终点后的那种感觉,身体疲乏无力,特别需要休整再战。要知道程序员在”奔跑”的时候,一般是在使用自己的体力,很少用到跑步的技术和技巧。尤其是到最后,更是依靠体力来支撑。从技术提高的曲线来看,新手的技术提高速度最快,无论从时间还是急迫性两个方面对新手的压力挺大的。而到了成熟阶段,其编程时间也大大缩短了和学习技术的迫切性也降低了, 所以技术提高速度就慢下来许多。在现实中,我们真的看到有些年轻的程序员还看不起那些程序员的技术水平呢,就是这个道理。

因此,成熟的程序员在安顿之后,一定要坐下来反思自己,看看自己的技术发展之路,哪些走的比较踏实,哪些走的比较急促;哪些是自己的技术特长,哪些是自己的 技术薄弱环节。反思后一定要抽出时间抓紧学习,把自己的技术上明显不足的地方给补上,这样程序员的技术水平加上丰富经验和工作能力会使得自己更加具有实 力,可以应付各种挑战,为今后的发展铺平道路。

而那些顺其自然的思想,使得程序员缺少技术提高的主动性,程序员有明显的技术上的问题,也不主动去解决,而是拖之再拖,从而使得程序员的成熟度大打了折扣。

2、 走向软件设计师

其实很多程序员走到这个阶段已经在做软件设计师工作了。这是绝大多数程序员发展的必经之路。因为,程序员在编程序的时候,一方面会实现设计的功能,另一方面 也在对设计有一个理解、认识、熟知的过程。进而慢慢地从学习别人设计,转向到自己参与或独立设计。如果这个程序员真的非常非常喜欢程序员这个职业,则可以 转向软件设计师。这个转变很大程度是程序员意识的转变,就是说要把编程的时间,逐步分摊到软件设计上,要把重点从编程实现转变到项目的功能设计上。我这里 强调的是”逐步”的一个过程,程序员要逐步减少编程的时间,增加设计的时间,要克服编程的强大吸引力,要主动地攀上设计这个台阶。很难有一个设计师是完全 不编程的,而且我认为,会编程的设计师才是真正的设计师。一般这种转变需要花上一到两年时间。

3、 走向项目经理

也有一些程序员工作机遇比较好,不但负责了项目的设计工作,而且负责了项目管理工作。对项目经理这个工作有了一定的尝试。因此,这类程序员可以审视一下自 己,是否合适这项工作。如果自己对这种工作比较满意,而且具备项目经理的要求,则可以向项目经理这个方向发展。项目经理承担着项目管理的职责,对项目负主 要责任。它和程序员的作用也不相同,项目经理的重点已经从编程转移到对人、对技术、对进度、对项目的管理。由于软件的项目经理与软件项目的相关性太大,因 此,他必须要了解软件开发的各个环节、了解开发的各种技术和运用、了解开发队伍人员的水平和特点。所以他依旧和程序员脱不了干系。从程序员到项目经理可以 使得项目经理更好地理解程序员在项目中的地位和作用,了解软件开发的各种规律性的东西。从而保证项目的正常完成。而且,项目经理的收入在公司中的地位也是 比较高的。因此,我认为走向项目经理是程序员的另一个发展空间。我想提醒一下,程序员在担任项目经理之前最好要把软件设计工作做好,这样在做项目经理的时 候,就会有很好的基础。

4、 走向管理者

很多程序员希望自己能成为公司中的主管、经理、老总、老板,这样无论是收入和在公司的地位都相对比较高一些。另外,一方面程序员可能厌倦了年复一年的编程工 作,对工作产生了抵触情绪,希望能摆脱这种步步紧逼的工作状态。走向管理者其实要求程序员要比一般人做更多的准备,要做更多的转型工作,并不是想当管理者 就能成为管理者的。但是,如果程序员有这个志向和爱好,有积累了这方面的工作经验,自己也感觉在这个方面能够发展,更重要的是有这样的机会,走向管理者也 是可能的。由于软件公司的管理者毕竟不同于一般公司的管理者,专业能力越强,管理起来就越得心应手的,没有专业能力的管理,遇到的问题很多,也很难解决。因此,我的建议程序员最好要把编程、项目设计、项目管理等基础打打好。这样转型到管理者成功率就会高一些。

5、 走向软件营销

我一直说,程序员最大的缺点之一,就是眼光只盯在技术上。程序员在入门阶段和成长阶段,这种情况还是属于正常的。但是,到了成熟阶段这种缺点将严重影响了程 序员的发展。程序员在工作中不免会接触到用户,不免会了解到用户的需求。从而了解到软件实际发挥的作用,进而了解了自身的工作价值所在。有的程序员则固步 自封,不愿意和外界打交道,从内心里坚守技术底线。有的程序员则喜欢和外人交流,喜欢把自己的软件推荐给用户,而且用户也乐意接受这种专业的介绍,用户的 接受是程序员价值的直接实现,程序员因此获得了工作成就感。这类的程序员可以将自己的专业知识和产品营销结合在一起,推动软件的销售和服务,转向软件营销 职业。这个职业将是一个比程序员更有发展的职业,它可以直接反应程序员的工作能力和工作成果,程序员的收入和销售会直接挂钩。因此,可以让有才华的程序员 获得更高的收入,接触到更大的软件市场,看到更广的个人发展空间。

6、 原地发展

当 然也有一些程序员惰性比较大,满足于现状,享受着眼前的胜利果实,也无可非议。对待这些程序员,我们不要强求他们改变自己的想法,我建议是原地发展,把本 职工作做得更好,把自己的技术水平往上再提高一步。在这个过程中他们的能力和自信心都会得到提高,他们的想法不会一直一成不变的。磨刀不误砍柴功,刀快了 自然会去砍柴的。

7、 跳槽走人

还 有一种情况,程序员工作很努力,技术水平也有很大的提高,工作成绩也很突出,但是,公司的工作环境让他感觉不好,例如,收入和付出差距很大,而且短期内看 不到加薪的可能;自己的技术水平已经超出公司开发所需,英雄无用武之地;公司的经营状况比较差、看不到公司未来;公司的人际关系紧张,小人当道,自己得不 到重用等。他可以选择跳槽走人。要说明的是,这个时候跳槽走人你是有本钱的,这个本钱就是你积累的工作业绩、技术水平和工作能力。

程序员在成熟期面临着上升空间的选择,是上还是不上往往决定了程序员今后的发展。水往低处流,人往高处走,只要程序员有向上的意识,不满足于现状,根据自身的特点和资源选择发展方向,我想程序员一定会有很好的发展前途。

【四】总结与提升

成功与失败的区别在于,成功者选择了正确而失败者选择了错误。因此,我们常常能够看到一些天赋相差无几的人,由于选择了不同的方向,人生却迥然相异。选择正确的方向尤为重要,希望不同的程序员根据自己不同的优势和特点能画出适合自己的程序员职业规划图。

软件开发也是有层次区别的,比如,按层次从高到低通常可分为:

系统开发:如操作系统、数据库系统、服务器系统开发;

专业开发:如网络安全、游戏、人工智能开发;

应用开发:如MIS、BI、ERP等系统开发;

普通开发:如网站、简单应用系统开发。

不同的层次,难度系数不一样,对技术要求、个人素质要求也不一样。要成为系统开发者、专 业开发者、高级应用开发者,需要有很高的专业知识和很强的逻辑、抽象、空间思维能力,这就要求具有很好的基础,同时具有较大的提升潜力。而要成为简单开发 者和初级应用开发者则相对容易些,正是这样,才使很多人走上了软件开发的道路。


【五】职场榜样

雷军:从程序员到金山CEO

76326b67691dd993bc36dbf62389e6c8.png

人物简介

今年39岁的雷军祖籍仙桃,在武汉度过了自己的大学时光。1992年加盟金山公司,从程序员做起,到几年后的高级管理者,再到执掌金山近10年的CEO。

在百度上搜索”雷军”的名字,相关的网页达到了250多万个。可以说,无论是在IT界还是民间,对雷军的关注度都是巨大的。

历经多年艰辛,雷军带领金山走上了发展的快车道,同时也为自己铸就了”最勤奋CEO”、”金牌CEO”、”中国最好的职业经理人”的荣耀,在中国IT史上留下了自己的传奇。

2007年底,雷军宣布辞去所有在金山一线的管理职务,只保留了副董事长和战略委员会主席的职务。

结缘IT行业

中学毕业前,雷军从没想过自己的未来会跟计算机扯上关系。

高考填写志愿时,好朋友选择了计算机系,”为了日后和好友仍有共同语言”的雷军也填了同样的专业,并以优异的成绩考入武汉大学计算机系。

从小学到中学,雷军的成绩一直都很拔尖。”在我的印象中,闻一多等很多名人都是在大学成名的,我当时也想利用大学的机会证明我的优秀。”

进大学的第一个晚上,其他同学还沉浸在兴奋之中时,雷军却默默地去教室自修。

以后每一天,早上7点,他都会第一个冲进教室占座位,坐在最前排听课;周末他喜欢看电影,但经常要自习到九、十点钟以后看晚间场。

回忆那段大学生涯,雷军说:”我特别害怕落后,怕一旦落后,我就追不上,我不是一个善于在逆境中生存的人。我会先把一个事情想得非常透彻,目的就是不让自己陷入逆境,我是首先让自己立于不败之地,然后再出发的人。”

为了不落后于人,雷军戒掉了午睡的习惯,把时间分割成以半小时为单位,为自己制定好每半小时的学习计划,最终,雷军大一写的程序,等他上大二的时候,已经被编进大一教材里了。

雷军家里并不富裕。大学期间,雷军父母的工资加起来不到300块,家里还有一个姐姐也在上大学,雷军每个月要从家里拿走150块钱,他知道自己这是拿走 了家里的一半收入,父母会过得很艰难,心里很不是滋味。于是,他千方百计找各种兼职挣钱。当时,向各媒体投稿赚取稿费是他收入的主要来源。他还时常在武汉 的电子一条街走动,有时倒卖点产品,有时替别人维修机器,有时动手编一点小软件。

不过,这一切并未影响雷军的学业,相反,他在计算机的世界里如鱼得水,只用2年就修完了大学4年的课程。

初次创业以失败告终

刚开始接触计算机编程的那会儿,雷军就很快被这种可以操纵计算机的感觉所吸引,”你会觉得在做软件开发的过程中,你就是你自己领地上的国王”。

大一开设的第一门课叫PASCAL程序设计,雷军经常因为程序设计出众,受到老师的表扬。大二时,这位老师将雷军写的程序编进了教材。由于小有名气,人 又踏实好学,其他老师想找他帮忙做事,也会主动把计算机房钥匙交给他,在那个计算机是个宝的年代,他最多竟同时拥有3个机房的钥匙!

当时有一本非常出名的书叫《硅谷之火》,这样一本讲述IT人创业的著作激励着雷军,更令他狂热。

也就是在那时,雷军起了一个念头:创办一家世界级软件企业,让自己做的软件在世界的每一台电脑上运行。

上世纪80年代末90年代初,正是中国互联网和软件业刚刚开始起步的阶段。越来越强烈的实践冲动,让雷军不再甘于纸上谈兵,临近毕业时开始自己创业。

大四那年,雷军和另外3个志同道合的同学,用卖电脑的四五千块钱,开办了自己的”三色”软件公司,开发出国内很早的杀毒软件”免疫90”。

然而半年不到,既没有社会资源,又不曾受过系统商业训练的雷军就感到力不从心。最初的创业梦以失败告终。

初次的创业经历也让雷军收获很多。他更清醒地认识了自己的优势和劣势,这使他在以后的创业历程中变得更加谨慎;他对企业运作有了初步的了解,这为他日后向企业高层管理者的转型奠定了基础。

立足金山踏响时代节拍

大学毕业后,雷军被分配到航天部,但他内心并不喜欢那样的工作氛围。1992年7月,带着大学时的激情与梦想,雷军在金山软件公司开始了新的旅程。

从1988年到1995年,金山WPS曾凭技术领先横扫大江南北。然而,”前有微软,后有盗版”,90年代中期,这一行业背景让金山陷入前所未有的困境。

1997年,雷军果断提出”立足办公软件市场,全方位进军家用软件市场”。此后,随着国内首套商业PC游戏《中关村启示录》、VCD全屏播放软件《金山影霸》及计算机学习软件《电脑入门》等产品的问世,人们记住了金山的名字。

不久,金山还相继推出了国内第一套大型武侠RPG游戏《剑侠情缘》、《WPS97》和《金山词霸》等产品。金山一举成了中国软件市场上最耀眼的明星。而与金山同一时代创业的一大批软件公司,则在微软和盗版双重夹击下日渐式微。

新世纪到来,伴着软件业黄金时代的黯淡,中国以互联网为主导的时代来临。雷军敏锐地感到,互联网时代的传统软件企业必须应时革命,否则就会像恐龙一样消 亡。2000年,他看好电子商务这一模式,并创办了后来成为行业旗舰企业的卓越网;2003年”非典”后,雷军又带领金山进军网游(网络游戏)。

从WPS到网络游戏,在国产软件步履维艰的现实条件下,金山走出了一条曲线救国之路。2007年10月9日,金山正式在香港联交所上市。

从1992年加盟金山,到2007年金山上市,雷军在金山16年如一日,身上洋溢着的始终是最初的梦想与激情。金山,也成为民族软件产业的一面旗帜。

摘自:http://zhichang.umiwi.com/2012/0320/65017.shtml

产品经理(Product Manager),又称品牌经理(Brand Manager)。是企业守门员、品牌塑造者、更是营销骨干。它既是一套完善的营销运作制度,更是博大精深的营销操作。举凡产品从创意到上市,所有相关的研发、调研、生产、编预算、广告、促销活动等等,都由产品经理掌控。

产品经理的职责:一般来说,产品经理是负责并保证高质量的软件产品按时完成和发布的专职管理人员。他的任务包括倾听用户需求;负责产品功能的定义、规划和设计;做各种复杂决策,保证开发队伍顺利开展工作及跟踪程序错误等,总之,产品经理全权负责产品的最终完成。另外,产品经理还要认真搜集用户的新需求、竞争产品的资料,并进行需求分析、竞品分析以及研究产品的发展趋势等。

产品经理的角色:在产品管理中,产品经理是领头人,是协调员,是鼓动者,但他并不是老板。作为产品经理,虽然针对产品开发本身有很大的权利,可以对产品生命周期中的各阶段工作进行干预,但从行政上讲,并不像一般的经理那样有自己的下属,但他又要调动很多资源来做事,因此如何做好这个角色是需要相当技巧的。

  如果把软件产品开发当做赛艇运动,在最前面擂鼓喊号的是产品经理,他不但要每个参与者都使足力气,而且要协调所有的参与者,将他们的力气往一处使,他还要保证所有人的方向都是一致的,都知道朝哪个方向走,不能出现有人用力不对的情况。

本文转自

https://www.cnblogs.com/doit8791/archive/2012/07/15/2592845.html

  1. 回复 【idea激活】即可获得idea的激活方式
  2. 回复 【Java】获取java相关的视频教程和资料
  3. 回复 【SpringCloud】获取SpringCloud相关多的学习资料
  4. 回复 【python】获取全套0基础Python知识手册
  5. 回复 【2020】获取2020java相关面试题教程
  6. 回复 【加群】即可加入终端研发部相关的技术交流群
  7. 阅读更多
  8. 用 Spring 的 BeanUtils 前,建议你先了解这几个坑!
  9. lazy-mock ,一个生成后端模拟数据的懒人工具
  10. 在华为鸿蒙 OS 上尝鲜,我的第一个“hello world”,起飞!
  11. 字节跳动一面:i++ 是线程安全的吗?
  12. 一条 SQL 引发的事故,同事直接被开除!!
  13. 太扎心!排查阿里云 ECS 的 CPU 居然达100%
  14. 一款vue编写的功能强大的swagger-ui,有点秀(附开源地址)
  15. 相信自己,没有做不到的,只有想不到的在这里获得的不仅仅是技术!
  16. 喜欢就给个“在看”
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/861411
推荐阅读
相关标签
  

闽ICP备14008679号