如果你对编程很有兴趣,甚至打算以此来作为自己的职业方向,那我在职业规划上可以有一些过来人的建议分享给你参考。
1.编程小白的自我规划和选择
兴趣很重要
如果你不打算靠它吃饭,那么编程是一个可以学到老的技能,你有一辈子的时间去学习它,所以开始不必太着急,也不必焦虑。
也许你会想,天呐,编程有这么多技能要学,我不知道从哪里开始,我要把它都掌握要到什么时候啊......
刚开始你不需要考虑这么多,你先找到一门容易上手的语言,先入门把它用起来。慢慢的你会找到你感兴趣的行业,等到这个时候你自然会找到一个方向想要去深入的,有时候路走着走着就通了。
不要着急
如果你不打算靠它吃饭,那么编程是一个可以学到老的技能,你有一辈子的时间去学习它,所以开始不必太着急,也不必焦虑。
也许你会想,天呐,编程有这么多技能要学,我不知道从哪里开始,我要把它都掌握要到什么时候啊......
刚开始你不需要考虑这么多,你先找到一门容易上手的语言,先入门把它用起来。慢慢的你会找到你感兴趣的行业,等到这个时候你自然会找到一个方向想要去深入的,有时候路走着走着就通了。
编程思想很重要
具体技术的有效期一般不会很长,但你现在看见感觉有用那就学着,只不过你学的时候要注意它下面隐藏着的原理和思维方法才是长久有效的。
千万不要一味地追新,看着什么火就去追什么,你要去学那些可以积累的东西,可以长期对你产生影响的事情,不要把精力太分散,学习需要聚焦。如果你学一个技术,用了它一年它过时了,但是它底下的思维给了你很多原理上的启示,其实是很值得的。
践行践行再践行
想十分不如做一分。先把基础学了,这样你就可以在生活中把它运用起来。一开始很难,没关系,把难的变简单一点,先把简单的解决了,你就可以逐步逐步的往前走。所以,对于编程来说,做很重要,所有的理论都需要实践来领悟,来深刻的体会。
2.程序员的下一步
我在这一行也干了很多年,也会有一些程序员朋友问我,程序员以后怎么发展,难道我做程序员,我一辈子做程序员吗?我的发展路径,我的职业规划往哪里走?到了35岁,我怎么跟年轻人竞争?
我这里也有一些建议分享给大家。
一个程序员最终可以转职晋级,有三个方向。
领域资深开发者
一直做开发,成为这个领域的资深开发者。大家不要小瞧这个东西,其实在特定领域,专家型的开发者,他甚至可以引领这个领域,他能够提供工具,框架给其他人使用。我们前面所提到的领域,都有这样的开发者,也就是那些大厂的专家,科学家,他们的待遇是相当吓人的,地位也是什么受人尊敬。现在越来越多的公司,尤其是比较大型的公司,已经意识到非常非常资深的开发者的价值。
技术管理者
转职成为技术管理者。管理技术团队和管理一般的团队会有一些区别。业界一直有争议,是不是一定要技术人员才能管好技术人员,如果这个人精通管理,但是技术没什么背景,真的管不好技术人员吗?这个问题,我也迷惑过,但是最终实践与观察,我觉得结论还是,必须是一个懂技术的人,才能更好地管好技术团队。
因为你管理技术团队,你往往需要作出大量与技术有关的决策,你对人的价值判断,也往往基于技术判断,如果你不懂技术,你在人和事的决策上都会出问题。所以我还真的没有见过,没有技术背景做好技术团队管理的例子。所以,优秀的技术管理者,往往是这个技术团队里有技术背景的人逐步成长起来的。
懂技术的产品经理或业务管理者
这一类是最稀有的,但是价值非常高,我也遇到过这样的人。具备这种能力的人,一般有非常独特的视角,也有很强的创造力,他在做产品设计与管理方面的效率是远远高于没有技术背景的人的。
3.选择你的方向
第一个方向,需要深钻技术,需要你有很专研的精神。
一般来讲对关联领域要做到广且深,对主领域要有格外的深入。目前这个时代,在这个领域方向钻研下去,基本会成为有影响力的领域专家。你需要多参与行业活动,尤其是参与重要的开源项目,提高你的影响力,在业内打出名气。
很多技术人员,比较喜欢埋头骨干,但是在这个时代,光会做是不够的,你还要学会说,学会展示给别人看,让别人知道你。
第二个方向,需要有非常强的后台意识。
你要甘愿做后台,你要乐于帮助团队成功,让团队的成功超过自己成功。这个事情明显你最强,你去做是没问题的,但是你不做,你宁愿把自己的能力赋能给自己的团队伙伴,让他们去做,让他们去取得成绩。这是一种很强的心态,是很不容易的。即需要你的心态好,情商高,也要你的组织对你有承诺,有信任感。
技术是始终不能放下的,就算你已经不需要在一线写代码,也要保持对技术的跟进,否则你怎么去做正确的技术决策,你也没有办法正确的去评价一个技术人才的能力,这一条路是很难走的,它很辛苦,但是也非常非常值钱。
你需要在技术上把握住,不能丢掉,这是作为技术管理者的首要职责,同时你要心甘情愿的做垫脚石,你要能够从团队的成功当中获得自我的满足和享受。
第三个方向,说难也难,说简单也简单,它的问题在于,需要天赋。
真的不是所有人都能做到第三种方向的,但是如果你不是很有自信,你退一步,做一个有良好产品感的开发者也很有价值,而且相对会容易很多。
也就是说你并不需要去做一个懂技术的产品或业务管理者,你只需要去做一个懂产品和业务的开发者就可以了,这个会容易一些。
在平常工作中,你记得多从用户的视角去看自己写的程序,让自己作为用户来深入的使用你开发的功能,发现自己感觉不爽的地方就去修改,慢慢的打磨你的产品能力。
这件事情是非常有价值的,在这个过程中往往你会有一些很有意思的发现,时间长了,说不定你也磨炼了一些产品能力,能够转行成为一个懂技术的产品经理了。
最后,不论你是想成为一个优秀的开发者,还是完全不以编程为职业目标,只是为了获得一些乐趣和一些新的思维能力, 都祝大家Happy Coding。
Ps:本文整理自李俊老师的口头分享