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

更新日期: 2019-07-29阅读: 2k标签: 学习

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

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

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


Github

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

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

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

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

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

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

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

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

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

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

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


成长

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

  • 语言: Java 、Kotlin 、JavaScript 、 Dart ;
  • 框架react Native 、Weex 、Spring 、Flutter ;
  • 开发模型:MVC、MVP、MVVM 、DI、AOP 、Reactive

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

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

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

因为技术是具备可迁移性的,比如:学习 Dagger 和 Spring 的时候;学习 React Native 和 Flutter 的时候;学习 Kotlin 和 JavaScript 的时候。

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

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

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

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

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

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


阶段

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

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

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

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

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

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

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

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

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

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

原文来自:http://news.51cto.com/art/201907/600356.htm


链接: https://fly63.com/article/detial/4404

更快学习 JS 的 6 个简单思维技巧

当人们尝试学习 JavaScript , 或者其他编程技术的时候,有些概念容易混淆,特别是当你学习过其他语言的时候。很难找到学习的时间(有时候是动力)。一旦当你理解了一些东西的时候,却很容易再一次忘记。

程序员如何在小公司成长和大公司学习

读万卷书,不如行万里路,行万里路不如跟随成功人的脚步。其实我们在小公司就如行万里路,我们只有多做多学在可以迈出去。在大公司就我们就要跟随成功人的脚步,就是你们公司的架构师和高级开发,去了解他们。

package.json是什么?_对package.json的理解和学习

package.json就是管理你本地安装的npm包,用于定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。一个package.json文件可以做如下事情?

程序员提升学习效率的3个方法

才3个方法?如果你希望的是提升效率的10大方法,程序员必看的20个学习法......很抱歉,本文不适合你。在精而不在多,一个人若能够学会,并且长期践行这其中一种方法,便已经能够走在很多人前头了。

Web前端自学之路学习路线,web前端开发网站

前端开发作为一个由网页制作演变成的新兴岗位,其实在国内外来说,受到重视的时间并不长,在前几年间技术快速的发展和其应用普及率的迅猛增长,使得前端人才市场一片盛况空前的景象,由于其的易入门性和不错的发展前景,吸引了众多前端爱好者和转行人员的青睐。

学习web前端发展的8个方向

技术的发展是瞬息万变的事情,web前端领域也不例外。可以说每一年在前端领域都会有一些新技术涌现和技术变革,2019年前端发展又会有哪些布局?我大致总结了8个方向,下面就同大家一起盘点一下。

20多岁的人做什么,将来不会后悔?

这个标题有点大,起这个标题的时候我自己都有点害怕,事情是这样的,前两天在知乎上写了一个回答叫20多岁的人做什么,将来不会后悔?我正好也是20多岁,就回答了这个问题

如何学习css?了解css历史/优势

CSS(Cascading Style Sheet,层叠样式表)是由W3C(万维网联盟)的CSS工作组创建和维护的。它是一种不需要编译,可直接由浏览器执行的标记性语言,用于控制Web页面的外观

开发 7 年,我学到了什么?

相信每位开发者在自己开发的过程中,都会反思一些问题,比如怎样提高编程能力、如何保持心态不砍产品经理、996 之后怎样恢复精力……作为开发者,你工作了几年?在工作过程中学习到了什么呢?

刚毕业想学习web前端,该怎么学才能最快入门?

首先无论你要学习任何技能,必须有一个清晰的版图,什么是清晰的版图呢?首先了解你学的技术将来要从事什么工作,这个工作的条件是哪些?然后你要有一个非常清晰的学习大纲

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!