程序员发展与晋升攻略

> 思想互通:

 1.PC时代,学的Java SE,写的是Windows软件
 2.Nokia时代,学的是Java ME,写的是Symbian应用
 3.Android时代,学的是Android,写的是Android APP
 4.AI时代,学的是深度学习、神经网络等知识。

  在移动互联网时代,纯粹的码工是没有前途的,反而要求一个程序员既要有技术(能设计,能编码),也要有前瞻性,市场观念。不应该远离编码,而要注意培养设计,市场,敏锐力等。有足够的技术敏感度。

> 程序员如何选择未来的职业路线- http://gad.qq.com/article/detail/7211722
职业线路选择:
1、程序员,如果你觉得你喜欢代码,喜欢开发工作,那么一直做开发也是一件的不错的事,不过要考虑当你做开发10年后,你所做的工作,一个大学毕业2、3年的开发人员一样能做时,你的价值在走下坡路,越来越不值钱。所以要时刻保持学习,并且深入研究技术。
2、架构师,是往真正技术大牛的方向发展的职业线路。若未来你想成为架构师就需要现在你的不断专研技术和积累研发经验。不是随便开发人员凭借10年开发经验就可以成为架构师。成为架构师需要完善和扎实的技术体系,具备较好系统分析和设计能力,丰富的项目研发经验。建议前期可以先去项目外包类型,然后再去互联网平台类型。
3、技术经理,是往技术加团队管理的方向发展的职业线路。往此线路发展的同学,需要一定的技术能力和团队管理能力。做管理与性格有关,首先得分析自己性格是否适合做管理的工作,这点也是很多做技术出身的人员,转型时最大的挑战。有技术经理岗位的存在,一般都是搭配偏需求、产品的项目经理进行项目实施。技术经理的技术可以不用深入研究,但是需要具备一定的广度和项目开发经验。
4、项目经理,是往管理的方向发展的职业线路,一般项目经理主要侧重项目管理工作,项目经理很关键的能力就是计划、沟通及组织协调的能力。沟通和表达是开发人员短柄,所以想往此线路发展的同学,从日常的工作、生活中就得逐步加强锻炼这方面能力,其次学习一些项目管理的知识,例如:PMP、CMMI、敏捷开发管理等。

-- 建立自己的做事方式。需要学习一些(或更多的)技巧, 不断的在Google上搜索查询,与书成为朋友。有一长串的TODO需要遵循。我将在这里分享一些技巧,帮你提高编程技能。

  要成为一个团队的精兵,必须是专业知识过硬,经验丰富,指哪打哪,能够非常让人放心的完成领导安排的任务的人。要做到这些,学习和实践是最直接的路径。要系统化学习工作所需要的是基础知识.
  实际工作中,爆发式增长的业务或大平台是一个人快速成长和进步非常好的资源。所以结合自身情况以及工作需要,对自己有一个更加细分的定位,这样做精力才能聚焦,更有可能快速在你所做的领域不断深入,进而成为专家。而如果你想要成为一个综合性的人才,也可以考虑通过阶段性专注于某一细分领域,重点学习积累,具有一定深度后再切换重点关注领域。
  在运维团队里以减少运维对象以及按专业分工的思路将团队分工不断细化,并尝试清晰地定义每个团队的核心工作职责,让大家在自己团队核心工作职责的方向上不断沉淀,通过积累建立起和别的团队差异化的经验,形成自己独有的经验和平台优势。

  为了让自己有差异性,你就需要另辟蹊径,找一个方向深入研究下去,以期在将来,你能够成为这个领域的专家,比如分布式计算领域的专家,大数据领域的专家,并发领域的专家等等。此外,你除了建立你的差异性之外,还要去弥补你基础上的不足.

 多领域、多维度发展的人才才是技术人的未来,也才是未来人才的发展方向。

  除了写代码,你又懂产品,懂写文案。懂写作的同时,你又懂营销,又懂销售,那你这优势就大了。参与产品、公司商业决策、团队管理、投资、写作等多个维度。

 在技术人员成长的各个阶段,需要具备的知识和技能不同,从最初的语法规范的学习,到后来设计模式的灵活运用,再到对架构的理解和抽象,对技术人的素质要求越来越高。特别是架构知识,这是技术人成长中非常具有挑战的那部分,涉及了方方面面的问题
 所谓架构,在互联网的场景,就是保障服务高性能、高可用、可扩展的一系列技术措施。架构的维护成本是评价其好坏的重要因素。

   每个人的成长曲线不同,有的人在研究生之时就已有相当知名的产品和框架,从而在接下来的工作中一路顺风顺水,有的人缺需要经历一个又一个的坑才能成长,不管是前者的聪明高效,还是后者的笨鸟先飞,他们都是在迈着脚步不断地向前。不妨,我们停下脚步看下一些同行,以激励自己更好地前行。
需要耐得住寂寞,不断的看书,看文章,当然更离不开前辈的鞭策和引导。

《软技能》一书的作者曾在书中分享过他的一个十步学习法:
1.了解全局;2.确定范围;3.定义目标;4.寻找资源;5.学习计划
6.筛选资源;7.开始学习,浅尝辄止;8.动手操作,边玩边学;9.全面掌握,学以致用;10.乐为人师,融汇贯通

 成为Java顶尖程序员-https://mp.weixin.qq.com/s?timestamp=1489138815&src=3&ver=1&signature=d8iSj7oKChwNuX30CtHJ7ZR9Z95C4VSBNhnYyKbAUlJyIeuiRBMsQuOPeo3HRvI6kLzpuNCb9bAUYoqXZKpkFUlfsZe0zuVhDuc8AeYOZQGNoQ1eLxsWMwWaOw2ajdlK9OCe4OyTM5WkYd9fquYzJBHIp27f6pTZfiSydkAhZDg=

 校长:技术成长四个阶段需要的架构知识- http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=406063297&idx=1&sn=0cd1fc5495e1e26471d7a4ffcd96cd0f&scene=23&srcid=0627vRZUN3uCRDpSbF2u9kzG#rd

  成为技术专家和开发经理过程中,关注的点略有差别。成长为技术专家,要更多关注技术本身的实现,包括逻辑、架构、设计模式、方法论等;而成长为技术经理,则要更多关注技术开发的过程,考虑如何提高开发效率、降低开发成本、优化开发质量等等。
  做业务,时间要求比较紧,代码质量要求高,可参考的代码比较多,业务知识需要学习。做架构,时间稍微自由,对经验要求比较高,无可参考代码,专业基础知识需要深刻理解;最主要的,做架构的你既是开发,又是用户,还是 PM ,只有 80% - 90% 的明确目标,并在开发过程中不断微调最终的目标。
  在繁重的业务环境下快速成长,你需要 很优秀的学习能力、很持久的耐心 以及 很好的导师和伙伴,这样才能在技术成长的路上事半功倍。
  互联网人尊为铁律的『唯快不破』—— 快速开发、高速迭代、低成本上线,同时也是移动时代每个开发团队所追求的目标。

-- 程序员
 第一点,我觉得应该深入了解底层的原理,而不要只停留在应用层面。这样才能够真真切切地明白程序运行的机理。
 第二点,要懂得举一反三,把自己学到的知识,通过加工,创造出更好的实现,使知识得到升华。我感觉中国的工程师比较守规矩,发散性思维较弱,这方面还可以提升很多。
 第三点,就是要长期有耐心,这也是倡导的价值观和做事方式。
>  一个成熟的中大型组织中,专业人员会有不同序列技术级别上升通道,比如腾讯及百度的T系列,阿里的P系列等。一
些公开介绍的腾讯职级情况如下。
 腾讯的职级系统有26个职业通道,如果你是一个一张白纸,没有任何职业能力的毕业生,可以从这个26个通道,比如行政、财务、设计、运维、开发、运营、产品…….的任何一个1-1级开始,修炼,打怪升级,直到千万年薪。如同一个完整的人生指引。横轴是26个职业通道,专业技能各不相同,纵轴是4个大层级。
 通过职级的设定,大部分员工不需要更换工作,就可以在已有的岗位上通过自己的技术提升及项目贡献获得更高的级别,从而得到薪资的提高、专业能力的肯定及个人的专业声望。大公司的职级通常也得到业界大范围的认可,事实上也可以在多个公司之间平移。因此程序员可以在不改变工作岗位的前提下获得一个长期成长的通道。缺乏明确的成长通道也是大量小公司留不住人的一个困境,在小公司中,由于缺乏透明的、稳定的职级通道以及配套的薪酬体系,造成大量资深员工流失。

 在公司有合适上升通道的情况下,工程师每年都有机会从当前职级晋升到更高的职级。在大部分公司里,对于高阶的晋升,会由公司相关权威专家组成的评审小组(通常是公司的技术委员会)来进行;低阶的晋升可以由员工的直接或者跨级上级决定。本文讨论场景主要是需要评审小组审批、候选人需要答辩的晋升,它要求候选人有更高的综合能力、专业影响力、展示能力及逻辑表达能力等。每年的年底也是大部分公司晋升评定的时间,因此本文谈谈对于晋升各种问题的看法。

本文主要是针对程序员的情况进行探讨,但所有技术工种如测试、运维以及其他专业工作岗位的人员如产品经理也大多同理。
Q: 晋升的申请材料怎么写?
当你思考晋升材料怎么写的时候,说明你已经获得了晋升的机会,这在很多公司里不是一个容易的机会。管理层通常只从符合条件的人员列表中挑选部分优秀的人员进行晋升提名,因此当上级跟你沟通这次机会的时候,说明你半只脚已经踏入了新的一个职级。
A:晋升无非是评估候选人的专业能力是否满足高一个等级的技术要求,候选人需要通过自己的参与项目的贡献,比如业务价值、技术成就、技术影响力等,来证明技术能力的提升达到更高级别的要求,项目贡献及技术提升两者缺一不可,因此晋升材料主要围绕这两个中心来展开。中级的晋升主要看岗位的成绩及贡献。高端的岗位可以归纳成公司级专家及行业专家。公司级专家指精通公司业务相关核心技术,在相关领域有较好积累,并且做出独到的贡献。行业专家则需要相关专业能力具有行业的领先能力,并且专业能力最好属于公司的核心技术。

Q: 每一级别的评估标准是什么?
A:在大部分公司一样中,每个技术等级会有相关的要求,比如技术能力、影响能力、协作能力等。在评审阶段,评委会根据要求进行候选人评估。在实践上,也有很多采用标杆人物对比的方法。评委集体选择几名处于相应级别最低能力、中等能力、和较高能力的在职员工,与申请人相对比,如果申请人处于这些标杆之中,正常应该处于中间能力人左右,则认为候选人符合条件,如果候选人处于最低能力以下,则认为候选人不符合申请相应的职级。

 评估标准在人力资源领域比较知名的是Hay的评估方法,它对所有岗位的职级都适用,据说华为就是直接引入Hay的职级体系。
互联网公司的级别,最容易理解的程序员职级可以按下列方法来区分(如腾讯、新浪等公司):
Level 1: 能在他人指导下完成工作;
Level 2: 能独立完成业务所需常见工作;
Level 3: 能规划及完成业务所需常见项目,并能指导他人完成;
Level 4: 公司及行业专家;

 在操作层面上,每个级别会进一步继续细分几个子级别。当然这种划分方法只是从某一个维度去划分,实际要考虑的因素更多,大多也会落到Hay的体系上去。
 不少公司并没有明文各个等级的详细要求,候选人在不能确定更高职级的明确要求的情况下,可以自己借鉴上面标杆对比的做法,检查自己与更高职级人员差别的方法来准备自己的晋升材料。

Q: 晋升有什么好处?
A:获得薪资及其他福利提升。越是正规的公司,薪酬范围跟职级是严格对应的,每个员工的薪酬会落到所在职级的薪酬范围内。尽管也有个别人员由于岗位的特殊性或稀缺性,出现薪酬与职级范围不匹配的情况。因此大部分人员,提升职级是获得薪酬提升最自然的方法。另外,大部分公司中,股票期权等福利需要员工满足一定职级的门槛才能获得,比如符合上述分类的Level 3的条件。
  晋升在公司里面自然可以获得更好的专业能力的肯定及个人的专业声望;一些重要的项目,通常会由高级别的专业人员来带领及指导,高级别的人员通常可以获得更多历练的机会。
  晋升还可以获得业界的声望及认可,大公司的职级通常也得到业界大范围的认可,在更换工作时候,至少可以在另外一家公司获得平级的职级。

Q: 技术晋升中技术能力与非技术业务能力的比重?
A:技术能力还是非技术的业务能力是评委以及管理层纠结的问题,有不少案例是候选人能非常好的完成岗位任务,工作积极主动,但是技术方面略逊一筹,而且进展较慢。通常管理层很希望这种人能得到晋升,毕竟这些人员是达成业务任务非常需要的人员。但从另外一个角度去看,技术晋升它不是项目贡献排行,原则上需要候选人在技术上有明显的提升,能够利用对技术更深理解去提升效率或进行技术创新,更好的解决未来面临的问题。而且放到业界,技术人员(非管理岗)也是按技术能力高低来决定薪资及等级的,所以评判是否有技术能力的提升是候选人能否得到晋级的一个刚性条件。

Q: 怎么看待某些人员专业能力与业务贡献脱节的问题?
A:一些团队可能会存在脱离业务研究技术的人,对参与项目漠不关心。纯粹脱离公司环境的业务去研究技术在大部分组织里面是比较有争议的。在这些人员技术能力有明显提高的情况下,如果继续给这种人晋升会不会带来一些负面的问题,比如会诱导其他工程师脱离业务去研究技术。因此比较好的方法是评判候选人是否通过项目贡献体现了技术提升。这样脱离公司环境去打怪的人员自然就没有了生存土壤。另外,管理层从公平性的角度出发,可以设置晋升准入条件,比如绩效需要达到某个优秀分以上。

Q:直接上级是否可以决定下属是否晋升?
A:在大部分公司中,对于低阶职级的候选人,直接上级及跨级上级能发挥较大影响力,大多可以由直接或者跨级上级来决定。而越高阶的晋升,直接上级发挥的作用越小,通常由公司级别的专家小组来进行评审。因此高职级的同学在日常的工作中,需要更好的平衡上级的要求及合理的技术架构之间的关系,尽可能的多的具备独立思考的能力,更多的利用技术驱动项目带来贡献,并进一步体现自己的技术成绩。

Q: 评审时时候评委喜欢提的问题?
A:项目的难点,评委主要通过这些问题来判断候选人面对复杂问题的应对能力。由于是技术答辩,候选人应该尽量多的将问题放在重大技术问题的解决上。
 项目的技术贡献,候选人通常会通过项目进度的方式描述如何参与项目,但评委比较关注候选人的技术输出以及技术含量。
 项目中的个人贡献,原理同上,不少候选人参与过一些大的公司明星项目,因此对晋升答辩比较自信,但如果只是在大项目中做一些辅助执行类的工作,通常也不会得到较大的认可,反而会造成材料假大空的印象。

Q:怎样看待评委的刁难问题?
A:候选人用朴素的方法来介绍自己的项目,尽量客观的方法来描述自己的成绩。当被问及刁难及质疑性问题时候,尽量不要有防卫心态,不要将自己的项目中的不足设法合理化,心平气和的接受评委看到的不足。

Q: 评审时候选人容易忽略的问题
A: 指导及影响他人的能力。在一个组织里面,独行侠未必能得到好评,帮助及带领周围技术人员一起成长会更容易得到认可及欢迎。
 非岗位要求的贡献。能够按照岗位的要求完成工作只能满足合格的水平,主动思考及完成超出岗位要求的工作更容易得到高分。

Q: 我工作很努力,经常加班,是否必定会晋升?
A:没有直接关系。评审主要看技术能力提升、技术贡献及通过技术获得的成就。与是否努力是否加班没有必然关系。当然,工作努力的人员通常也通过更多时间投入在技术领域获得了比较好的成长,因此有更大的晋升可能。

Q: 我在我的team里面公认是技术能力最强的,甚至别的部门一些职级能力高的能力不如我,是否必定会得到晋升?
A:这种案例失败概率还是不低,关键点还是看候选人近期项目是否能充分体现出高级别所具备的能力,如果候选人近期做了很多零散工作,虽然具备很强的技术能力,也较难得到一个合格的分数。

Q: 我刚毕业,怎么才能获得快速的职级晋升?
A:刚毕业的同学还是更多的学好基础的知识,乐于学习,更多的参与实践,在工作中发挥更大的价值,不要刻意追求晋升与否。晋升更多的是一个能力到达的伴随物而不是追求的目标。如果你具备以上素质及习惯,即使在当前企业未得到认可,可以在一另外一个的环境得到实现,只是一个短暂的时间差问题。

Q:我公众场合的展示及表达能力不强怎么办?
A:大多评委也是技术背景出身,因此对展示表达能力并不是特别在意,反而过于华丽的展示材料会引起评委反感。但在另外一个方面,展示材料的层次关系、论证问题的因果关系的逻辑需要得到清晰的表达。评委不会特别介意候选人念稿,但是会介意材料结构及逻辑混乱。

Q: 应该以什么样的心态去看晋升?
A:晋升大多时候是个僧多粥少的游戏,而且评审的价值观也存在单一的可能,在有限的评审时间,考虑到准备的充分与否,候选人对于评审重点的理解等,未必每一个候选人都能得到合适的展示。评委也很难在短时间对候选人进行充分了解,因此评审通过与否未必能完全体现候选人的能力。
  候选人最重要的是调整好自己心态,“不以物喜,不以己悲”,明白自己核心价值所关注的事情,将更多的精力投入到自己关注的事情上去,并产生相应的成果及影响,这个比一个晋升结果意义要大得多。晋升评审可以视为是一个职场游戏,不少得到晋升的人员后面无所成就的案例也是层出不穷。大部分情况下,晋升通过与否仅是薪资的一个损失,只要候选人明确及坚持自己的目标,其他包括个人能力,职业生涯、个人影响力基本没有实质性的影响。
 

TimYang访谈:技术人成长要善用社区提升自身影响力- http://mp.weixin.qq.com/s?__biz=MzA4NTU2MTg3MQ==&mid=210554129&idx=1&sn=41ab1a29b25ac1eeda0c93665a03c955&scene=21#wechat_redirect

-- 到底什么样的条件才有机会晋升呢?
第一,承担了大量比自己更高职位该承担的工作;
第二,掌握核心资源;(比如客户资源)
第三,有独特之处,是团队不可或缺的;
第四,跟领导配合默契,是领导得力助手;
第五,跟大老板有亲戚(或有特别的关系)......

-- 如何学习高层领导非技术层面的软技能从而成为领导。想成为一个领导,最简单的办法就是看你的领导如何做领导,多比较几个不同风格的领导,挑一款适合自己的融会贯通。
 中级的晋升主要看岗位的成绩及贡献。高端的岗位可以归纳成公司级专家及行业专家。公司级专家指精通公司业务相关核心技术,在相关领域有较好积累,并且做出独到的贡献。行业专家则需要相关专业能力具有行业的领先能力,并且专业能力最好属于公司的核心技术。

-- 先分析这三点
①好好打探你的“市场行情”,考察一下你的工作在市场上同等工作中薪水情况如何
②好好对自己的工作表现进行一个评估,这是决定你能否提加薪的重要前提和资本
③分析一下得到加薪的都是哪些职位的人,他们加薪的原因是什么?也要考虑和老板的关系如何,老板欣赏他们什么。

 先要有过硬的技术。
 努力展示自己,充满自信,敢冲敢秀。
 学会包装自己和产品。
 在职场上,多和高层搞好关系,给高层留下好印象,懂得人际交往的重要。当然,不是让大家拍马逢迎。
 提高自己的情商。不要只会技术而忽略了情商的重要。情商比智商重要很多。
 提高自己演讲的能力,设计幻灯片的能力。最好也会用一些思维导图之类的方法。
 提高英语或其他外语的能力。

  正确的学习方式应该是将学习与具体业务场景结合起来,和公司通过软件系统开展业务服务而创造价值,程序员通过提升软件系统服务能力创造价值这一链条串接起来,从对这些价值产生帮助的程度去思考优先级。学习本身没有错,错的往往就是那颗初心。
-- 从架构师的一些具体工作任务来理解这句话含义:
  组织业务:架构师通过探索和研究业务领域的知识,构建自身看待业务的"世界观"。他会基于这种认识拆分业务生命周期,确立业务边界,构建出了一套解决特定业务问题的领域模型。并且确认模型之间、领域之间的关系与协作方式。完成了对业务领域内的要素的组织工作。
  组织技术:为了能在计算机世界中运作人类社会的业务模型,架构师需要选用计算机世界中合适的框架、中间件、编程语言、网络协议等技术工具依据之前设计方案组织起来形成一套软件系统方案,在我看来软件系统就像是一种技术组织,即技术组件、技术手段依据某种逻辑被组织起来了,这些技术工具被确定了职责,有了明确分工,并以实现业务功能为目标集合在了一起。比如RPC框架或消息队列被用于内部系统之间的通信服务就如同信使一般,而数据库则负责记录结果,它更像是一名书记员。
  组织人员:为了能够实现利用软件系统解决业务问题的目标,架构师还需要关注软件系统的构建过程,他以实现软件系统为号召,从公司组织中聚集一批软件工程师,并将这些人员按不同工种、不同职责、不同系统进行组织,确定这些人员之间的协作方式,并关注这个组织系统是否运作良好比如沟通是否顺畅、产出是否达到要求、能否按时间完成等。
  组织全局,对外输出:架构师的首要目标是解决业务问题,推动业务增长。所以他非常关心软件的运行状况。因为只有在软件系统运行起来后,才能对外提供服务,才能在用户访问的过程中,解决业务问题。架构师需要关注运行过程中产生的数据比如业务成功率,系统运行资源占用数据、用户反馈信息、业务增长情况等,这些信息将会帮助架构师制定下一步架构目标和方向。

-- 从价值出发-找寻学习与工作的新思路:
  迷茫能引发思考,架构则塑造了视野,而价值则是我们之所以存活,之所以工作的逻辑起点。基于这样一种价值思维,对我们的学习和工作又可以有哪些改启示呢?
  明确自身的业务相关主体:找出你工作的协作关系网内的业务方和客户方,这样你就可以从客户方中找到离你最近的业务价值点,从你的业务方中挖掘更多的资源。甚至你可以按这个思路顺着网络向上或向下挖掘价值链条,整合更多的上下游资源以实现更大的价值。
  向前一步,为更大的价值负责:不要因为自己是开发人员就不去关注软件运维,不要因为只是测试就不关注软件开发,因为你关注的越多你越能看清全局的价值目标。如果只关注一亩三分地,那么注定这辈子只能困守在这一亩三分地里,成为一名流水线上焦虑至死的码农。试着转变思维,从架构师的角度思考价值问题,看看能否将技术贯穿到业务、到用户、到最终的价值去。之前我的朋友说过要把产品经理踢到运营位置去,把程序员踢到产品经理位置去,这样才是正确做事方式。这句话也是类似的意思,向前一步才能懂得怎么做的更好。
  像架构师一样思考,用价值找寻重心:人的迷茫是因为找不到重心,而价值的意义在于引导我们思考做哪些事情才能实现价值,先做哪些事情会比后做哪些事情更能创造收益。像架构师那样全局性思考,把遇到问题进行拆分,把学习到的事物串联起来,努力构成完整的价值链条。
  学会连接,构建体系:前几天看到一篇文章对今日头条的产品形态极尽批判之词,指责它的智能算法将人类封死在自己的喜好之中,将人类社会进一步碎片化。这似乎很有道理,有趣的是互联网将我们连接至广袤的世界,却也把我们封闭在独属于自己的小世界里。依旧是我的那位朋友,他说他的最大价值在于连接,将不同的人连接在一起,有趣的事情可能就会即将发生。或许算法的天性就是顺从与迎合,但人最终想理解这个世界还是需要依靠自身的行动与不同人之间建立联系,这也是一种摆脱流水线限制的有效方式。另外,我们自身也是某种事物连接的产物,比如架构师,他是业务、技术、管理连接在一起的一种产物。所以我们应当树立自身的知识体系以吸收融合新知识,将孤立的概念连接起来,形成自身的价值链条。比如这篇文章将我从事技术开发经验、与对架构的理解以及自身过往经历结合起来,这也是一种内在的体系梳理。

 

-- 除了测试、设计、开发、产品等,你还认识谁?这些人脉貌似不怎么值钱。
 掌握知识,架构、算法、设计模式、架构全能拿下? 
 全栈工程师能够独挑前端、后端、客户端,需求分析、数据库设计、布局PS也是信手拈来。

 跨界,一种资源配置能力。
资源配置能力是指行业配置和使用人力、资本等各种经济资源进行生产以求得最佳经济效益的能力。

 年纪大了,不能像年轻人那样拼,就必须将自己的目标定位为整个团队的Leader,把公司的主营业务上的所有技能均有所掌握,而不是仅存在于技术研发这一点。
 如果,看不透这点,就会永远陷入:学习->焦虑,焦虑->学习,的恶心循环之中。

  不知道什么时候开始,自己已经疲于任何除工作之外的活动,已经习惯了加班。在北京这样的一个繁华的都市,没有朋友、没有社交、没有生活、没有娱乐,只有工作。
  在北京,有能力的人,抢地、抢房、抢资源。没有能力的人,只能抢时间尽快的提升自己。

自己的知识经验和行业壁垒:
 BD岗,工作多年手上积累了不少客户资源,能通过自己的人脉关系获取一些便利。
 市场岗,熟知政府的政策,能够有针对性地迎合政策做好营销工作。
 金融岗,消费金融、产业链金融的渠道打通,构建金融产品链。

程序员如何更高效的,有选择的学习技术?
一流编码能力和基础牢固的员工,领导力潜力。
最重要的是,优秀的领导人富有远见。

-- 体现一个人技能主要通过三个维度:
  高度:这个层面往往体现在规划能力,能够看到未来业务的发展,设计出相对合理的架构满足未来业务的快速扩展。这个阶段应该是少参与到具体的编码中去,应该是一个公司的CTO或者首席架构师角色。这个方面的能力比较虚,相对来说也是最难炼成的。
  广度:就是知识领域的广度。反映在IT技能上,就是所掌握的领域,比如.net,java,数据库,web,前端等等。不一定每个领域都能够精通,但是至少都能了解,能够在面对问题的时候能够拿出一个切实可行的解决方案。对于跨领域方面,可能是你的沟通能力,管理能力等。
  深度:在某一领域有很深入的了解,旺旺是一门具体的技术。比如js代码写的很精通,数据库知识非常丰富,精通linux操作系统底层。
深度->广度->高度,越往上,要求的抽象能力越高,越往下,要求细节知识越具体。一个人往往具备了以上三样,就是一个成功的大牛。

-- 体现一个人价值的也可以主要通过以下五方面:
  1 IT技能:这个就是具体的技能,这里就不列举了
  2 领域知识:就是你所在行业领域的业务知识,包括证券,基金,电力等等。这个往往在行业领域是最有价值的,也是决定你主要身价的方面,当然前提是你不是做纯技术方面的工作。比如底层框架的开发,数据库管理员。
  3 学习能力:这个也比较重要,毕竟IT这一行拼的是脑力而不是体力
  4 人脉资源:这个专门指IT行业领域(我们一般找关系),遇到问题,你可以请教他们,相当于多个大脑
  5 软技能:也就是沟通,协调,管理能力
你会发现,大多数情况下,你想职位越来越高,后面的比重会越来越大。

  在学习方面,你要从学习具体知识到学习抽象知识,再把抽象知识应用到具体事物上。这就是术和道。反映在IT技能方面,就是原理和实现。学习一门技能,一般都从具体的用法开始,在开始学习其原理,然后知其原理,在反过来应用实践。除非是工作必须用到,我们应把更多的时间学习道,只有道,才是最保值的,也是最长久的,好比代码设计思想比代码实现过程更重要。

  现在的yahoo总裁-玛丽萨·迈耶在Google的时候就问过佩奇:如何才能更快的晋升,佩奇回答:加入高速成长的公司。
 用平常心面对那些对事又对人的公司给你的评价。
 10年团队管理经验,对高性能,高可用性,分布式,高并发,以及大规模数据处理系统有一些经验和心得。
 读书时自己学到的是一张完整的知识网络,每个知识点和其它内容相互联系和区别。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值