前言
最近,有很多读者找我倾诉,聊天的过程中发现,他们最常提到的一个字眼就是:迷茫。
工作三五年,觉得自己难以提升,又不知道新的领域是否适合自己,不知道怎么规划自己的未来,有什么好的建议吗?不想迷茫下去了,求指点。
不止是年轻朋友,身边很多工作十多年的职场老手也常常觉得自己职业规划没有方向,工作没有动力。
我的一位朋友之前在一家国企做HR,每天问着面试者你的职业规划是什么,自己心里却越发的慌。
厌倦日复一日、朝九晚五的枯燥生活,她辞掉了这份稳定的工作。
后来她去了一家互联网公司做市场策划,每天加班到赶最后一班地铁,花了两三个星期才做出来的方案,领导连看都不看就否决了……
直到前阵子,她和领导发生矛盾,一气之下又辞职了,觉得这份工作又累又没有成就感。
可辞职之后她又犯难了,一连换了两份工作,仍旧不知道自己适合做什么,整整浪费了3年时间。
而她身边的朋友:
有的已经在互联网公司当上了管理层,月入好几万;
还有的自己创业,已经房车在手,到处旅游......
明明在学校的时候,大家都还做着差不多的事情,毕业没两年,猛地就拉开了巨大的差距,是自己不够努力、脑子比别人笨吗?
不是这样的。
刚好最近也有读者问,能不能给一些工作经验比较浅的年轻人,推荐几个职业发展方面的成长方法。
去问了几位职场上比较成功的大神,他们都提到了一个关键点:做好职业规划。
未来五年十年,我想实现怎样的人生目标?
我在现有公司,现有岗位上能实现这个目标吗?
如果想要实现目标,我现在应该做什么?一年后做什么?三年后做什么?
那些成功的职场人都是早早规划好了职场路线,走上了职场发展的快车道,从来没有想过未来职场发展的你,自然就被狠狠甩在后头了。
如果你不想未来3年5年后陷入这种困境,首先要做的就是:
认清自己的定位,从结果去反推到每一步做什么事情,做好个人发展计划。
经常听一些同学说:不知道下份工作该去做什么,去哪类公司,我的职场人际一团糟老板不重视我,我现在成长的非常慢所以又想跳槽了,我看不到公司的发展前景好迷茫,其实这一切的困惑都来源于没有做好职业规划或者你根本就没有职业规划过。
为什么要做职业规划?
我们先聊聊第一个话题,为什么要做职业规划?
首先,我们要晓得职业规划是什么,也就是如何持续选择合适本人开展的工作的过程。
职业规划其实就是对职业生活乃至人生进行持续的、系统的、方案的过程。职业规划也叫“职业生活规划”。职业生活规划的好坏有时会影响我们的终身。
其次,我们要晓得职业规划准绳是什么。
1. 是偏爱的:只要这个事情是本人喜欢的,才有可能在碰到强大对手的时分依然坚持;在遇到极端艰难状况时不会放弃;在有巨大诱惑的时分也不会动摇。
2. 是擅长的:做你擅长的事,才有能力做好;有能力做好,才能解决具体的问题。只有做自己最擅长的事情,才能做得比别人好,才能在竞争中脱颖而出。
3. 实现价值:你得认为这件事够重要,完成它之后带来的价值足够吸引你,值得你做,否则你再有能耐也不会善始善终。
4. 长远发展:首先你得有机会去做,有机会做了还得有足够大的市场与成长空间,这样的职业才有奔头。
所以经常我们会听到一个人说本人十分幸运,大学毕业去了一家公司,然后跳到了另一家公司,公司开展的十分好,不到 35 岁就完成了财务自由,这背后的职业规划实质一定是基于偏爱,擅长,实现价值与长远发展的原则,而不只仅是外表的幸运。
所以倡议同窗们不要仅仅为了薪资或者地点或者公司知名度就选择一份新的工作,要依据以上四个准绳,满足的越多,越匹配,到了中期以后才不会迷茫将来要何去何从。
我想说,其真实每一个时间节点看过去的本人,都会发现对整个行业认知以至对本人的认知都是有限的,所以做规划不是真的千篇一概的照本宣科,而是朝着心中本人本该有的样子去自驱,去变得更优秀。
程序员职业发展路径有哪些选择?
我们再说说第二个话题,程序员职业发展路径有哪些选择?
程序员一般的发展方向主要是几类:
- 技术专家
- 架构师
- 技术管理
- 管理
- 产品
接下来通过例子和大家分享以下四种不同的发展路径及适合走这四类路径的人群的三个关键词。
第一类:程序员-高级开发-技术专家路线
我们通过例子来说明。有一位 Z 先生,他2012年从湖北工业大学毕业,而后去了搜狗担任工程师,做了两年后,跳到了另一家公司叫小麦公社,是当时一家风头正劲的创业公司,担任 B 端高级开发;
后来去到了因果树担任 B 端的技术资深开发,在今年2月份入职了杭州阿里巴巴,同样是负责 B 端商家后台部门,担任技术专家,他职业规划最大的亮点是找到自己想要专注的领域并且一直坚持至今。
第二类:程序员-高级开发-架构师
再看个例子,H 先生,他2011年北航毕业,而后选择创业做 SAAS 平台当时担任前端负责人。
两年后选择加入搜狗成为一名高级前端工程师,后来去到了音悦台担任架构师,目前在一家创业公司担任前端架构师,他职业规划的最大亮点是在前端领域各个方向都深入见解,而后负责多条产品线的架构设计。
那以上两种技术路线有什么不同呢,应该如何选择呢?
技术专家,是偏理论研讨的,对某个或某些相关的专业范畴深化理解,能直接或经过提供思绪间接处理这些范畴的各种问题。
架构师,是偏工程理论的,与技术专家的区别在于它需求一专多能,提供计划处理问题曾经不是它最重要的价值,它的价值表现在选择性价比最高的计划;
举个例子,其实你能够把技术专家和架构师的区别类比成科学院院士和工程院院士,你要搞一个语言识别,那是理论,你要做一个 Siri,那是工程。而你,更擅长和向往做语言识别技术还是 Siri 呢?
有些同窗可能会说,我的最终目的仅仅是成为一个优秀的程序员,那我想晓得你能做到以下 3 点吗?
写的程序不需求格式化,也是十分规范的,我见过很多程序员写的代码,连空格的运用都没有规范,从上到下给人的觉得就是一片紊乱的字符的组合,好的程序应该像诗词,在格式的约束下追求飘逸。
写的程序没有无用的代码,其别人来评审时找不到无用的代码,也无法在坚持同样阅读性的状况下进一步精练。
在可读性与效率中坚持均衡,通常状况下我们优先思索可读性,但是关于频繁执行的局部,能够牺牲可读性保证效率,但需求书写足够多的注释,注释不要说代码的用处,而要说本人写代码时考虑的内容,我就曾经见过有人把一段代码运用本人的思想来改写进步可读性,结果这个代码的目的是越精简越好,这其实就有点好心办坏事了。
假如还不能做到以上几点,那就好好做好明天的事儿就好了,暂时什么都先别想,由于成为一名优秀的程序员是技术道路的根底。
接下来说说第三类,也就是管理道路:程序员—资深工程师—技术经理(技术管理)—技术总监(管理)—CTO(管理)
我们再来看个例子。Q 先生,他在 30 岁就成为了某知名共享单车公司的 CTO,说一下他的职业规划。
2009 年首都经理贸易大学毕业参加一家创业公司担任开发挪动端工程师,两年后参加 360 担任资深研发工程师,然后参加新浪微博担任移动端部门的技术担任人。
然后参加了宜信担任技术总监,在去年 7 月参加共享单车公司担任 CTO。
他职业规划的最大亮点是不断在中心业务上往技术管理进阶,最终成为一名优秀的管理者。
谈到这类管理途径,必须要阐明下技术管理和管理的区别,技术管理是事情为中心,管理是以人为中心,技术管理主要工作是保证事情能按时按质完成,管理需求思索团队的士气和稳定性、阶梯性。
最后说一说第四类,也就是技术转产品:程序员—高级开发-产品技术—产品经理—产品管理
在这里,X 先生带来一个海龟码农胜利转行产品经理的故事,2009 年毕业于美国工程类名校普渡大学,然后回国在一家外企担任开发工程师,一做就是 5 年。
2014 年一个侥幸的时机参加了腾讯,当时腾讯面试了 7 轮,拿到了 T1-2,月薪 1W2 的工程师 offer ,根本是刚毕业一年左右应届生的程度。
在腾讯主要做手机 QQ 红点系统,做了两年,他从未埋怨。他也给我们展现了所谓“红点”,其实就是手机 QQ 上不同接口旁的红点引流。
手机 QQ 流量日活上亿,但是会点击那些游戏、商城、音乐等接口的用户大约只要1%,红点主要就是吸收那些有强迫症的用户点进去引流。
从最开始的红点数量的改进,到后面根据不同属性用户设置不同红点,再到后来和其他产品合作比如京东商场,搞红点的竞价排名……
就这么一个小功能腾讯专门养了一个团队去做,对于 BAT 这种大公司来说,一个小的模块和功能的改进能带来很大的利润,很多人常年都在做很小一个模块的重复工作,很难独立完整去做项目,里面闲人很多。
所以工作两年后,X 也想做点商业化的东西了,给部门老大反馈了想法没得到支持,在内部其他部门也争取了问了一圈没能成功转岗,于是就想出来,不想继续在腾讯里面慢慢熬晋升了,从腾讯出来是那年是 2016 年3月,T2-3。
而后入职了一家投资公司,以产品经理的身份加入,两年过去了,目前已经成为了一名高级产品经理。
他职业规划的最大亮点是深思熟虑后立刻决定和行动,没有犹豫,而机会往往更容易留给有准备和有勇气的人。
谈到技术转产品这类职业规划路线,和大家说说开发转产品经理需要锻炼哪些能力:
其实作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个Android开发学习交流圈!
,不管你是小白还是大牛欢迎入驻,大家一起交流成长。
1. 商业思维
开发人员以前是和机器打交道,产品经理给出一个需求就按照那个需求做了,从来不想着为什么这样做,做这个需求想达到什么目的,从来没想过你开发的 App ,你做过的程序老板是怎么用它来赚钱的,这就是你转行产品经理要锻炼自己的第一个能力,培养自己的商业思维,培养自己发掘用户需求的能力。
产品经理是站在用户的角度考虑产品,以用户为中心。所以技术人员转产品经理要摆脱技术思维,多想想用户的使用习惯,多想想产品的商业目标。
2. 沟通表达能力
程序员给别人的印象一般都是木讷,沉默寡言的,也难怪,程序员都是在和机器打交道,不是销售那种和人打交道的工作,不需要说太多话,不需要撕太多逼。
而产品经理的工作要和很多部门打交道,要和运营、技术、设计、市场推广等各个部门打交道,在产品宣讲的时候要清楚的向他们传达你的需求,当产品上线你需要给客服培训,这些都需要你有较强的语言组织和表达能力。
3. 文档能力
程序员的工作就是码代码,代码是用英文编写的,只有在给代码注释和写产品说明书的时候才写中文,而且写的也是一些琐碎的内容。
如果让一个程序员就某一个主题写一篇文章出来,我想大多数程序员可能无从下手。
而产品经理工作中要写很多文档,商业需求文档,市场需求文档,产品需求文档,产品说明书,文档表达能力在工作中很重要。
4. 项目管理能力
好的产品经理需要一定的项目管理能力。需要推动产品按照正常的步骤,规定的时间,按质按量的发布上线。这里就涉及到,整体管理、时间管理、团队管理、需求管理。
整体管理:包含产品从分析规划到产品开发到产品上线运营到迭代优化的全过程进行管理。时间管理是指主要是计划监控跟踪项目进度,把握关键时间节点,确保产品按照规定的时间上线。
团队管理:产品经理需要协调很多部门,有技术,设计,市场推广,运营,产品经理是一个无授权的领导者,你多数需要通过自己的影响力,自己的沟通技巧来协调项目的各个成员,所以需要一个相应的团队管理能力。
需求管理:包含各个部门反馈的需求,以及自己收集的需求,需求的变更,需求的跟进等。
所以,你觉得你在以上四个能力上有天赋么,有天赋并且你也有意愿放弃技术成为一个产品经理的话,那就一个原则,就是趁早。
好了,以上就是我们的第二部分,程序员职业发展路径有哪些选择,希望大家可以及时对号入座。
市场的急剧变化使得个人必须相应地调整自己的定位,给出了三个建议:
(1)更新技术,踩上技术趋势
当然互联网技术工程师,切记不要固步自封,一家独大,我建议同学们有游牧民族的心态,哪儿里水草丰美,就转战到哪儿。
踩上技术趋势,马云马化腾成了中国首富;踩上技术趋势,2014 年一个优秀的 iOS 工程师换一份工作可以从月薪 15k 涨到 30k ,踩上技术趋势,在校期间猛攻算法的应届毕业生可以在毕业时拿到年薪 50 万的 offer 。
总之,千万别认为你现在是抢手货,未来依旧是,只有不断更新技术,踩上技术趋势,顺势而为,才能不被淘汰,才能稳定发展。
针对这一点上,我们看看小郑这个例子吧,研究生期间从事的是 Android 开发,但他自学了 Python,所以对这两类技术都比较关注。
为此,订阅了“开发者前线”、“Android周报”、“干货集中营”等内容,还关注“@开发者头条”、“码农周刊”、“开发者头条”、“CSDN极客头条”等,了解 Android、Python 的最新信息,也关注一些其他领域如“前端”的内容。
在微博上关注了很多 IT 大牛的账号,就是为了了解一下技术的趋势。后来研究生毕业就加入了今日头条,成为了一名 Python 工程师,目前发展非常不错。
(2)树立个人品牌
运营自己的 GitHub 账号并关注优秀账号,建立自己的技术博客,关注极客微博,参与线下活动,养成乐于分享不断学习的习惯,并认识更多的圈儿内人,这些行为都会让你不断刷新对技术趋势的认知并且拥有属于自己的人脉圈。
朋友多了路好走,树立个人品牌,不要成为一个默默无闻的码农,要去主动探索这个世界和这个圈子,这样才能更有方向感。
另外也要提的一点,HR 和技术面试官也会在招聘会看你的 GitHub 账号等,通过这样的方式间接了解到你的学习态度和能力。
(3)在团队的力量下,找到自己最大的价值
任何一个团队,都需要有精英人员,也需要有普通人员,需要有勤奋的,也需要有滑头的,需要做研究的,也需要做工程的,每个人最关键的是找到自己在团队里的定位。
所以,职业规划需要根据所处的团队作出适当的调整,除非你根本不想在这个团队待下去。
知道了大海的样子,懂得如何掌舵,接下来最重要的事便是知道自己想要抵达什么样的地方。
这一部分重点和大家讲讲,当你确定了要成为某技术领域的资深技术的时候,应该如何选择 offer ,因为选对了 offer ,职业规划就成功了一半,而另一半是充分在这家公司发挥自己的价值并不断全面学习。
我常说,一份好工作往往包含以下四点,选那个最贴近的就好了。
第一,公司所在领域是否有竞争空间,产品数据是否有增量空间。
第二,你的团队是否足够有能力,你的直属领导是否足够信任你。
第三,你的工作内容是否能给你带来持续的成就感。
第四,如果一年半不涨薪,现在他们给到的薪资是否能让你愿意加班的热情不减。
如果认同的话,希望大家能够谨记以上四点。
大龄程序员的出路?
接下来我们聊聊第五个话题,大龄程序员的出路?
随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论。
很多程序员在工作 5-10 年以后,都会开始思考 5 年、10 年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛弃。
特别是全民创业的这几年,大到 BAT ,小到创业公司,喜欢年轻员工成了许多企业招人时的隐形规定之一。
比如华为就明确规定员工 45 岁以后必须退休。阿里这几年也在追求团队年轻化,35 岁以上的程序员申请 P8 以下的职位成功率很低。
曾有一家互联网金融公司表示平时在招聘技术人才时,普通开发人员的年龄不得超过 30 岁,架构师年龄不得超过 35 岁。
而许多高速发展的创业公司,更是年轻人的天下,从 CEO 到 CTO ,平均年龄不超过 30 岁的情况比比皆是。现在的互联网世界,似乎成了年轻人的天下。
关于此类现象,我咨询了一些企业 HR 的观点,其中有一条建议比较中肯:
大龄程序员在选择工作时,首先要认清自己,再去选择环境和公司。
比如先确定自己是属于比较有激情、活力、愿意终身学习新技术的那一类人;还是心有余而力不足,想脱离一线技术,想把更多精力放在管理上的那一类人。
如果是第一种,可以选择一家快速成长的创业公司,将自己的技术价值最大化地发挥出来;
如果是第二种,就选择那些组织架构相对臃肿的大公司,这些公司盘子够大且没有太多坑需要踩,因此对年龄稍大且有丰富经验、能安于现状、踏实做事的人存在一定需求。
其实不光是程序员,“大龄恐惧症”几乎是互联网行业里每个岗位的人都会遇到的问题,世界的变化太快,谁也不知道下一场取代互联网的变革何时会来。
排除这种不可控的外在因素,一个人最大的恐惧,还是由对自我认知的缺失引起的。
其实目前,我们能看到大龄码农存在的两种状态:焦虑和自信。
很多时候,大龄程序员之所以会焦虑,主要还是两方面原因:一种是家庭生活难两全带来的抉择,另一种是对自身技术水平的不自信。而后者才是大多数大龄码农焦虑的源头。
而那些对自己技术不自信的人可能多年都在从事着普通开发的岗位,既得不到职位的晋升也提不起学习新技术的兴致。
如某互联网金融公司的 HR 所说,这一现象在面试的过程中就能体现出来。
比如他们曾面试过的很多大龄码农,使用的框架和技术比较老旧,虽然他们对新技术也有所了解,却因为精力有限的原因没有落地执行,这种类型的程序员自然与高速发展的企业并不匹配。
这个时代很残酷也相对公平,残酷之处在于世界的变化之快容不得人有片刻懈怠,公平之处在于:不管你是年轻还是年老,都要靠实力说话。
那些被时代丢弃的永远都是跑得慢甚至在原地彷徨的人,即所谓的工作十年却只要一年工作经历。年轻程序员的优势在于年轻和激情,大龄程序员的优势在于阅历和经历。
所以,年轻程序员不要有逾越年龄阶段的焦虑,大龄程序员也不要觉得年轻人抢了本人的饭碗。
每个年龄段都有本人要处理和面临的问题,认清本人内心真正的需求和盼望,再去寻觅合适本人的栖息之地打怪晋级,才是燃眉之急。
时期永远不排挤大龄程序员,时期排挤的是没有才能的大龄程序员,真正能处理难题的程序员,无论年龄多大,都会不断抢手。
希望行将奔三或者马上奔四的程序员同伴们,永远坚持一颗学习心,不以物喜不以己悲。
最后
最后和大家分享一个技术圈儿的大牛朋友和我说过的话。
他说,可以把我们程序员的职业生涯用古龙小说里的4个阶段来比喻:
- 手中无剑,心中无剑,这个阶段的程序员,主要还是模仿,比较唯技术论,很容易受到权威或舆论的影响。
- 手中有剑,心中无剑,这个阶段的程序员,觉得自己是无所不能的,开始熟悉某一个领域,看不起其他领域,开始给权威挑刺。
- 手中有剑,心中有剑,这个阶段的程序员,开始变得谦虚,开始频繁的总结,对于权威和技术体系,有选择性的吸收到自己的知识体系中。
- 手中无剑,心中有剑,这个阶段的程序员,自己已经不再受经验的束缚,可以根据环境和需求找到最佳的解决方案,自己已经成为了权威。
你,到哪个阶段了?
好啦,我今天的分享就到这里啦,希望大家提出更多问题一起交流讨论
这里可以分享一份大佬收录整理的Android学习PDF+架构视频+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料
这些都是我现在闲暇还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效的帮助大家掌握知识、理解原理。
当然你也可以拿去查漏补缺,提升自身的竞争力。
相信它会给大家带来很多收获。如果你有需要的话,可以点击获取!
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
喜欢本文的话,不妨顺手给我点个赞、评论区留言或者转发支持一下呗~
网友评论