python程序员发展方向-程序员30岁前,该如何规划自己的职业发展?

谢邀,这个问题其实很大,因为大家都知道程序员的分类有很多种,不同的种类的程序员,再加上不同的经历,专业,教育背景后,每个人就都会是一个独立的个体选择,所以非常难以总结出很普世的职业发展建议。

但是如果把程序员固定到某个语言或者某个专业层面,然后再规定一个比如30岁之前,这样一个年龄范畴,就应该可以得出一套比较完善的,可复用通用的职业规划发展建议了。

虽然我不是专业做职业规划的,但是我自认还是在前端这个领域一个比较专业的程序员,到底应该如何规划自己的职业发展呢?正好我自己才刚刚过完30岁生日两个月,所以我就从我个人的实际体验来说一下吧。

1,专业技能方面:

首先作为一个前端程序员,一定要不局限自己在前端领域,一定要开阔个人的视野,了解整个计算机的发展历程,互联网产品技术的演化方向和趋势,不同语言和不同领域的基础专业知识。

其次是加强个人的计算机基础知识的锻炼,算法加数据结构不论是任何专业的程序员都是傍身的关键,前端是一个特别特殊的行业,用到这些地方的阶段比较靠后,很多人往往就会忽略掉这部分知识的学习,最后在年龄较大的时候又要返回去补这些基础知识,得不偿失。

然后就是不要过渡迷恋日新月异的前端框架库,一定要学会自己阅读框架源码,学会自己开发框架源码,学会对已有的工作成果做积累,比如自己的组件库,自己的项目脚手架,保持一个良好写代码的感觉,习惯,代码风格,或者说味道,这是非常重要的。

最后是对基础专业知识的了然于胸,比如前端经常接触到的,网络请求,优化手段,布局方式,设计模式,动画实现的技巧,一些常见的API可能遇到的坑等等这些,有一个全方面的掌握,才不会被一些高大上的微创新概念迷惑,其他的业余时间就尽量的扩大自己的专业视野,学会从其他领域的理论里,来反哺前端这个专业,其实这是近几年国内外都非常熟悉的一个趋势了,什么东西最后都会拿javascript实现一遍。

在专业上保持敬畏,不断突破自己专业认知的极限。前端是最贴近geek描述的一个专业了,所谓不折腾不前端。

可能有人要问我怎么才能做到这些呢?

答案特别简单,就是加大自己的代码量。

如何加大呢?

我曾经在创业公司和不同的大公司里都参与过完整项目的从零到有的全过程。我曾经在创业公司因为只有1-2个前端,自己独自完成过超过5w多行的javascript项目业务编写,有时候一天洋洋洒洒的会写上将近千行的业务逻辑,当然这里不包括html和css,就只是单纯的js或者nodejs。我个人认为只有通过不断的大量练习这些工业级的编程项目,才可能通过量变产生质变,而质变之后,需要再对自己的项目做二次复盘,比如提炼出写的不好的地方加以优化,或者总结出可以复用的非业务部分代码进行抽象和封装,甚至开源。

2,职场选择方面:

职场选择其实是一个特别有意思的话题,比如我经常会遇到有人问我,某个公司如何如何,我该如何如何选择,我手里有几个offer,应该去哪一家更好,诸如此类的问题。

这里我从2个方面给大家说说我个人的一些经验:

2.1 钱多活少离家近是每个人的梦想,但是要结合你个人的当前实际情况。比如当你需要一个稳定的工作环境时,比如怀孕,结婚,产子时,那可能时间是你最缺少的,离家近活少可能是最好的选择;比如当你前端技术专业差一些时,那可能活多,机会多是你最好的选择;比如你正需要大量的资金,比如买房,还款时,那可能薪水是最好的选择。每个人一定要认清楚个人现阶段最缺的是什么再去进行公司岗位等的选择,做好长远合理规划。

2.2 30岁了我是继续做技术还是继续做管理?

这其实是讨论最多的一个话题,我也曾经有过这个疑惑,我做过快2年管理带几十个人的那种,也做过5,6年开发,一线码农那种。

我在我30岁的时候,选择了从管理岗位走向技术专家的选择。

为什么?理由很简单,我喜欢。

我尝试过管理,我觉得我做的也不错,但是我也发现了身边其他管理者的一些问题,因为大家远离开发细节,导致技术嗅觉下降,从而让整个团队技术缓慢低效的事情,发生的非常的多,数不胜数。

那么我们到底为什么要选择做管理呢? 只是因为管理不需要干活?是个高级的title吗?

我曾经的老大跟我说过,人生和职场就像下象棋。你只有知道最终目标才不会在每一步上迷茫,我通过管理的职场经历,了解了更多的老板心里想的是什么,通过开发岗位的职场经历了解了为什么一些项目从技术层面会失败,延期,效果不如预期。那么其实30岁之后做什么对我来说已经不重要,重要的是我要去做什么,如何让自己可以越走越远。现阶段可能我更适合再深入加强一下个人的技术积累,那么我就去做技术,再下一个阶段可能又会往复,回到管理的路线上来,因为可能被新的目标和需求所吸引。这些事情谁又能说的准呢?

所以管理岗位根本没什么值得迷茫和眷恋的。

3,个人优势培养方面:

30岁之前你可以通过猎头,通过招聘网站来进行职业选择。但是30岁之后,一定要刻意开始培养个人人脉了。哪怕是一个内推机会,一个新部门的急缺岗位,都能够在某些时刻挽救你的困境。

那如何做到这一点呢?我觉得就是要培养个人的优势特长。

如何让别人记住你,是一件特别有意思的事,当你在某一个领域做到number one的时候,可能大家都知道你,但是number one只有一个,所以只有发现自己和别人不一样的地方,才能让别人对你的印象更深刻。

比如,你的专业技能在前端的某一个领域特别的强,工程化,性能优化,框架SDK组织,甚至管理能力,科普能力(技术人员往往不会把专业的话说成人话),沟通能力等。只要在某一个点上发力,就可以让别人对你印象深刻。

比如有人写了一个xss的非常牛逼的js库,就是老雷同学;再比如我在nodejs领域非常nb;像大神朴灵一样,再比如我会客户端开发,是个非常牛逼的全栈前端工程师,像芋头大神一样;再比如我对v8研究很深入的jjc大神,等等等等。

大家都是前端,大家都对某个领域有着自己独到的见解和专业储备,认识。那么你就成功了。这也是为什么有些人能成为职场大神,有些人就不行。

最后可能有人好奇我的职业经历具体是什么样的?我就简单的罗列一下我的真实经历:

2009年我毕业,设计专业,平面设计出身,基础是css写的贼6加只会jq。2010年初,北漂半年,增加见识和项目经验,基础知识自我加深积累和培养,最终成功从创业公司,社招面试进入淘宝UED前端团队。2011年中,从阿里离职,杭州回北京继续北漂,在阿里专业技能成长非常迅速,正好出来就先在一家创业公司做了半年,把自己的专业实力好好的发挥了一下,基本是一个人从无到有的,写了一个体育用品商城+体育社区论坛的所有前端部分,并且业余时间开始学习,阅读大量的框架源码,学习自己开发前端框架(现在看都是玩具的一些东东)。2012年中到2015年底进入新浪,在新浪微博,新浪博客,手机新浪网三个部门都干过,从一个高级前端工程师成长到资深前端工程师就是新浪这3年,我编码的巅峰时期也就是这3年多,很多我github的项目都是在这几年里积累起来的,https://www.github.com/xiaojue

2015年到2017年也就是现在,一直在国美做前端团队和部分后端团队的管理工作。又从老板的层面重新认识了前端团队的作用,好好的实践了一把做前端管理的瘾。

最后,我下下周就要从国美离开了,再次回到新浪移动。不再走管理路线,改走技术专家路线,继续coding。我觉得这个过程特别奇妙,至于为什么这样选择,我只能说,我现阶段就是喜欢,好久不写代码了,手痒,我深深的热爱折腾。

以上就是我30岁之前的一个职业现状和方法论,希望对大家有所参考。废话太多,谢谢阅读。

你可能感兴趣的:(python程序员发展方向-程序员30岁前,该如何规划自己的职业发展?)