一个程序员的五年总结,给你不一样的角度

5 年是一个值得总结的阶段,而这 5 年后的今天,我发现自己越来越不像一个“程序员”。

如今在工作中 开始关注文档,开始关注规范,希望自己输出的不只是代码; 每天会耗费时间消化各种外部信息,喜欢看更多非技术类的书籍,喜欢和各式各样的业内业外人士交流。

这 5 年来取得了一些小成就,也有各种小遗憾,作为一个兴趣使然、不是特别勤奋的程序员,希望我的经历能给你带来不一样的“鸡汤”。

Github

事实上对于程序员来说,Github 一直有着特殊的含义,对于我也一样。

一开始创建自己 Github 的时候,其实就是工作闲了,想让自己沉淀些东西,因为感觉自己碌碌无为地码了两年,一直缺乏自己的背书和交流,是时候做点改变了, 而也是这一步,开启了我的新里程。

我记得我在创建 GSYVideoPlayer 的时候,从未想过它会到达今天这个数字;而在做 GSYGithubApp 的时候,也没想到如今会做成一个系列,事实上在创建自己 Github 的时候,我也经历过不知道该做些什么,觉得“这个没有技术含量,那个类型已经有人做了”的困惑。

最后我选择从“优化”别人的项目开始,并且慢慢将手头上各式各样“无用”代码发布到 Github ,并在各个渠道推广它们。

最终,在 Github 上从一个 “索取者” 转变为 “贡献者” 后,我的认知和工作慢慢发生了改变,这个改变在 埃米尼亚·伊贝拉的《能力陷阱》中解释是:

外在转变过程指的是,建立起一个有潜力或有能力的好名声,这能够在很大程度上改变我们的自我认知; 而内在转变过程涉及内在动机和自我定位的转变,这种转变并不是独立发生的,而是在与他人所建立的关系中渐渐发生的转变。” ——《能力陷阱》

是的,在开始维护 Github 并建立自己背书的过程中,我是被推着走的。为了维护转变后的“大佬”角色,我开始从工程的角度思考需求,开始从架构的角度去解决 issue,被迫利用规范去约束一些问题。

这个转变也开始影响到我的工作:

  • 以前在使用开源服务时,遇到问题的第一反应就是提个 “老板式” issue,而现在是先看源码找找问题是什么?
  • 在日常工作中,也从习惯于遇到问题后只会抛出问题,变成遇到问题后争取提出几种可行性解决方案进行讨论。

同时 Github 也很容易让你接触到各式各样的人,在这里你可以和天南地北、国内国外的人交流学习,最后我发现:Github 不仅仅是“网盘”,它的作用绝不止是让你 “CV” 和“白嫖”的地方,它更是你展示能力,改变自我和思想碰撞的社区。

当然,维护 Github 和推广不是容易的事情,你可能会经常遇到各种“降维”打击和“无理” 要求,但是承担责任,学会如何处理和甄别,是除开工作外,Github 这个平台所能带来的更多价值。

成长

程序员是一个需要不断学习成长的岗位,特别是大前端,回想过去 5 年里,从

  • 语言: JavaKotlinJavaScriptDart
  • 框架: React NativeWeexSpringFlutter
  • 开发模型:MVCMVPMVVMDIAOPReactive

等等的学习,有个人兴趣,也有工作所迫,但在学习技术的路上,只要你在行业内就很难停下来。

而在学习路线上,包括我自己,很多人都会有 “是不是学多就不精了” 的疑问。确实,学的东西多了,不可能在工作中都能有所应用,而且每项技术的探索可能都会深浅不一,所以避免跟风学习是前提。

但是回归到 “精通” 这个词,在不学多的情况下,你又是否真的在学精呢? 每个人都有自己的路线和学习风格,而我对自己的定位,更多是在自己的技术栈内去拓展技能。

因为技术是具备可迁移性的,比如:学习 DaggerSpring 的时候;学习 React NativeFlutter 的时候;学习 KotlinJavaScript 的时候。

在增加自己技术储备的同时,也开拓自己的眼界,我个人更希望自己的生涯是去 “精通” 开发,而不是定位于某种语言或框架, 在《能力陷阱》 一书里提过:

“我们很乐于去做那些我们擅长的事,于是就会一直去做,最终就使得我们会一直擅长那些事。做得越多,就越擅长,越擅长就越愿意去做。这样的一个循环能让我们在这方面获得更多的经验。而它就像是毒品一样,我们被它深深吸引,因为我们的快乐和自信都来源于它。它还会让我们产生误区,让我们相信我们擅长的事就是最有价值的且最重要的事,所以值得我们花时间去做。” ——《能力陷阱》

所以我会保持去关注新的行业动态,了解一些新兴技术实现,即使只是知道它的名字和作用。危机感和兴趣让我有动力这么做,当然,在某个领域保持深度还是有必要的,毕竟吃饭的东西不能丢, 但是保持学习和好奇心,是让职业生涯更有生命力的保证:

“同样地,每年我们都会看到,在一个新的技术发布后,曾经在某一领域具有权威的领导者失去他的领导地位,这正是因为日常工作占据了进行策略性思考的时间,从而让你没有时间去做一些更有价值的事。” ——《能力陷阱》

还有挺多人问过我,是如果保持写作和学习的,就我而言,可能是因为我记性不大好,我习惯把生活或工作中的一些收获和想法,如:解决问题的思路和方向,看源码的逻辑与流程,读书的体验和感受都零散地记录下来,这些都是创作的灵感源泉,同时保持对问题的思考是很重要的。

所以我现在喜欢和各式各样的人交流,了解他们对一些问题不同的看法,这样往往能给出不同角度的答案,当然,避免无谓的争吵是生活快乐的源泉。

阶段

我个人习惯于把经历和目标定义为各类阶段:

  • 小阶段,比如我希望这篇文章的阅读数,这个 Github 项目的 star 数能到达某个目标;
  • 大阶段,比如我希望 GSY 能在国内 Flutter 领域有一席之地;比如我希望自己的职能在输入代码之外能有新的发展。

而这样的定义让我更具目的性地行动。回想过去 5 年,如果你问我有规划 5 年后会如何吗?我是没办法给你明确答复的。但是小阶段和大阶段的定义,能让我在短期内更有目标地行动,同时保持不断的行动,保持间断性的学习成长。

我的阶段目标不会是“一个亿”,而是未来一个月我想要做什么?未来几天我希望做什么?说更实诚一些,就是自我驱动!事实上如果没有外界驱动,那么就给自己找点麻烦吧。我一直思考领导者和被领导者之间的区别,其实很大一部分就是领导者会给自己找事。

同时阶段总结可以让你更认清自己。

我相信每个阶段都会经历:奋进的上升期,收获期,然后到达自己的一个阶段巅峰。比如 5 年后的现在,我开始思考,过去所收获那些数字所代表的意义,从“一身白装”到“锦帽貂裘”,是什么能让你膨胀,又是什么最是难忘。

每一个阶段的“巅峰”,最难的就是看清自己的实力,在“可观的数字”和一声声的“大佬”中,你是否迷失了自我? 现在想想 Github 上收获的数据,带给我的 不是工作的“敲门砖” ;不是额外的经济收入;而是自我驱动的源泉和对过去的认可,它让我相信,我还在路上。

这个阶段放到工作中同样适用,你在企业发展的每个阶段里,所担任的角色和职责是否在改变和发展?

“他们根据各自的专长,把工作定义在一个较窄的范围内,把自己的活动范围限制在过去能给他们带来最大价值的持续性成果的领域。事业初期,他们需要扮演这样一个角色。但是经过一段时间以后,别人对他们的期望会发生改变。” ——《能力陷阱》

事实上我一直认为,工作才是你的第一平台,企业的发展阶段让你成长,同时你也需要在工作中适时调整自己的位置,你可以尝试一边学习,一边工作,和企业一起成长,同时在日常生活中把一些时间空出来,用这些时间来扩展你的工作范围,争取 “在工作中去讲述自己的故事” 。

最后

最后说几句,最近刚好看了 《能力陷阱》 这本书,又恰好是在阶段总结的时间点,所以比较有感触,就将自己想法写了出来,过去的5年不一定很精彩,但是却很充实,未来的“故事” 也会根据需求而发生一些变化,当目标改变时,故事也会随着转折,但是不变的,大概就是“码农生来只知道前进” !