DTeam 团队日志

Doer、Delivery、Dream

程序员自我发展之路乱弹

胡键 Posted at — Jul 28, 2019 阅读

前段时间,正值手头事情忙得不可开交之际,接到友人邀稿,要我谈谈程序员发展的几条出路。当时下意识是想直接拒绝了事,多一事不如少一事,但随即转念想到这样岂不是对人家太不尊敬了,加之平时在团队中也经常“好为人师”,也不管年轻人爱不爱听,自说自话地“教导”他人。既然这样,不如索性趁此机会干脆行文一篇,把自己多年来给团队的唠叨整理整理,也算不负他人之托。

事先声明,本人并非专业的职业规划师,也不喜欢给人的职业生涯出谋划策,这里所写所言只不过是一位经历还算得上丰富的老程序员的所见所得。各位只需看看就好,若能引起共鸣,那更是不胜荣幸!

有段时间经常在朋友圈内看到类似“选择大于努力”的论调,甚至看到不少朋友还不断的转发和点赞。一开始我受到影响也心有戚戚焉,但后来觉得似乎哪里不对:

鉴于以上几种原因,不努力,大概率也会导致不会或很难有好选择。可以说,不论走哪条路,发展的起点都要努力为先。之后,在执行过程中,按照自己的兴趣和机缘会各自走上不同的道路。

但是,光靠努力并不能让你就一定得到很好的结果,如果没有目标或方向,那就是白费气力,心中的阴影面积会越来越大。所以呢,你第二个要解决的紧要问题就是尽快确定方向。但是,你不要指望这个问题可以一蹴而就,半个小时就能搞定。作为人生三大问题之一,到哪去,只能“listen to your heart”。放在程序员发展之路这个背景下,我的建议:

基于这些信息和数据,我相信你也不会是木头,没有任何感触和想法。有了想法,就尝试,但不能一遇困难就退缩,否则你将很难判断出是自己能力不足,还是因为确实不喜欢这个方向。如此往复,即是死循环,永远原地打转,无法升级。找方向的过程是一个不断尝试和渐入佳境的过程,在这个过程中多交些朋友,多参与些社区,他们将会成为你的良师益友和支撑下去的力量。

环境,也是一个不得不说的因素。孟母三迁已经说明了环境的重要性,这里我也就不再展开讨论。简单的说就是:环境会影响你的成长。在我看来,环境可以用这样的三元组来表示:(城市,公司,团队)。其他更细微的环境,如办公环境,不在此处讨论之列。我认为好的环境包括下面的要素:

这里我没有列出加班或薪水之类的因素,是因为它们根本就不是决定你是否成长和发展的关键因素,并不值得作为首要考虑的条件。当然,不是所有人都那么幸运地可以身处不错的城市、优秀的公司和好的团队,三元组的顺序则可以作为你选择的优先级,即:城市 > 公司 > 团队。

有努力的意愿、确定了明确的方向、选择了好的环境,这些已经让你站在了一个比较高的起点,但如果拥有好的方法,则会让你如虎添翼。好的方法应该是可以习得的,而且能够让你快速入门,并不断提升。所幸,我们并不需要自己去发明所谓的“好方法”,因为业界已经有很多值得学习的方法可供借鉴和拿来即用了:

相比起行业技术,以上方法是经得起时间考验的,并不会出现一朝被行业抛弃的情形。掌握这类方法将深刻改善你的认知和见识,相比起零星地碎片化学习,这些知识值得静下心来专门学习。

最后,我想谈谈【体验】的重要性。如果你想提升你的见识,不去体验生活,几乎不太可能获得真正有用的体验。这也是陆游所言:纸上得来终觉浅,绝知此事要躬行。关于体验,作为过来人,我看到和做过的:

修炼,就是折腾自己,在这个过程中才能真正成长。

最后总结一下吧。

在这篇文章中,我既没有像其他文章一样去告诉大家程序员有哪些职业发展方向,如前端、后端和架构师等;也没有谈你的人生规划,如是创业、做个自由职业者,还是打工?这是因为我认为外面已经有很多文章谈到了这些,再写下来也没什么意思。

而且,我觉得授人以鱼不如授人以渔。你告诉他的这些所谓的职业规划和方向,只不过是当下环境下特有的职位和方向而已,未来可能不复存在。况且,提前说明这些,反而有可能事先将你的思维方式局限住,不如干脆讲些“元知识”,然后由你自己去决定自己的路如何走。

整篇文章先从态度(即努力)说起,再言及“方向”,进而谈到“环境”、“方法”和“体验”,所有这些都是我认为对于个人成长和发展非常关键的要素和条件,通过这种层层递进地说明,希望能起到为一些还感到迷茫的朋友解惑的作用,谢谢!


相关文章