ShannonChenCHN / eureka

✍️ I read, I write, I think, I do, I learn, I code.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

回顾 2017,展望 2018(2017 年度总结)

ShannonChenCHN opened this issue · comments

今天是 2018 年的第三天,也是我连续第二年写年终总结。

为什么今天才写年终总结呢?因为元旦要回家办些事情,真的吗?其实还是一如既往地拖延症,所以直到今天(1月3号)才写[捂脸]。

就像 bestswifter 说的那样,每次年终总结的时候,都觉得自己去年就像个**。其实越是年轻,就越这样觉得,越是这样觉得,就越说明有所成长。

回顾 2017

回顾我的 2017,可以总结为下面几个关键词:

  • 焦虑
  • 认知提升
  • 情商
  • 知识付费
  • 摸着石头过河
  • 生活不止眼前的代码

1. 焦虑

2016 年,我一直在想怎么才能成为技术大牛。
但是到了 2017 年,IT 圈接二连三地出现让人沮丧的消息,从调侃 iOS 没人要了,到华为 34 岁以上的员工被裁,再到中兴程序员跳楼自杀,我的问题也就变成了——什么才是程序员的终极形态?成为 BAT 中的技术专家?转管理?这一年,我想肯定不止我一个人在焦虑。这一年,是程序员们集体缺乏安全感的一年。

直到最近我看到了 stormzhang曹政唐巧等业界大 v 们的讨论,心中才暂时有了一个足以安心的答案。

对于程序员这一行,很多人都说是吃青春饭。一是因为年纪大了,体力、精力、学习能力都会下降很多,二是很多人仅仅是为了混口饭吃,才做这行的,也谈不上兴趣,而 IT 行业的技术日新月异,跟不上的自然就会被淘汰,即便不被淘汰,也会过得比较痛苦。另一方面,即便是那些在大厂中工作的技术人员,也不见得好到哪去,虽然薪资高,工作稳定,但是加班严重,拿着死工资,职位也是高不成低不就的。

那我们该怎么办呢?
有一个政治正确的说法,就是努力学习,提升竞争力,保持激情。但是这种答案等于没说。因为这不是手段,也不是目标,只是一句口号。

所以呢?
(1)合理的职业规划,实现阶段性的目标。比如,不论是跳槽还是转行,一定要有往上走的趋势,可以是薪资上的,也可以是职位上的。
(2)培养积累性强的第二技能,提升影响力。比如写作,投资理财,演讲,英语等等。
(3)在尽可能早的时候,积累尽可能多的资源,影响力和财富,站到尽可能高的位置。因为有了足够的人脉、影响力和财富,我们才能有更强的抵抗职场风险的能力。
(4)最后,也是最重要的,把手头的事情做好。如果这点都做不好,就谈不上前面三点。

2. 认知提升

提升认知,在 2017 年是一个时髦的词,本质上也就是原来说的转变思维方式。

这一年,对我自己来讲,在**上,比较明显的改变就是:

  • 技术、工作不是生活的全部
  • 要想过得自在,情商是重要的(情商远远不只是会说漂亮话那么简单)
  • 没有什么事情一定是正确的,或者错误的,即便不对,也没什么关系,能这样想的话也就不会计较得失了
  • 完美并不代表每个细节都要抠,很多时候,完成比完美更重要
  • 努力很重要,但是选择更重要
  • 要慢慢从学生思维转变成过来,学生思维往往书生气太重,太单纯,想当然
  • 做事情要讲究方法论,就像那句被讲烂了的名言所说的一样——“不要用战略上的懒惰掩盖战术上的勤奋”
  • 我们表面上虽然是给别人打工的,但实际上我们是在为自己打工

3. 情商

感觉自己白活了 20 多年,今年才意识到提升情商的重要性,才知道情商是什么、情商是可以提高的,才意识到自己情商真的不高。甚至有朋友说我**“保守”,给我取了个老干部的称号[捂脸]。我自己也确实发现自己有不少问题,比如不会聊天、跟别人打交道时很容易有防备心理、很容易紧张激动等等。

除此之外,我一直在想如何才能解决这些普遍的问题:

我们过得开不开心,跟赚多少钱、工作做得多么棒、别人骂没骂你有关系吗?当然有,但是如果赚的不多、工作做得不太好、别人骂你,就只能痛苦地过一辈子吗?

我们为什么总是害怕说错话?为什么总是怕失败?怕被拒绝?为什么总是因为在意别人的眼光而活的那么累?我们为什么会自卑、焦虑?

这些都是情商低惹的祸,不过还好,因为有互联网,我在 2017 年找到了一些答案,2018 年还需要继续提升情商。

4. 知识付费

2016 年被媒体称为知识付费的元年,2017 年是知识付费的。这一年我通过趣直播、知乎 live 和知识星球(原小密圈)、喜马拉雅等平台,购买过一些在线知识产品,主要涉及的是技术、生活、心理和理财方面的内容。

相比读书来说,通过这些渠道获得的知识是碎片化的,读书有读书的好处,碎片化阅读也有其时代意义。通过碎片化阅读我们可以:

  • 更有针对性
  • 更好地利用碎片化时间
  • 可以直接和大 v 们进行交流
  • 通过碎片化学习,可以从中获得一些启发

5. 摸着石头过河

5.1 工作

今年 3 月份时,所在的创新项目组解散,后来就被收编到公司的主项目组了。

在创新项目小组的这段经历也算是体验了创业的感觉,也是第一次体验到了濒临“死亡”的感觉。由于很多东西都是从零开始,基本上都要 1 个人独立完成,而且很多时候不光是要完成手头的编码工作,还要参与产品设计、UI 设计、项目评估、技术调研、团队交流各个方面,所以中间的过程很累,压力比较大,但同时也有很多自由发挥的空间,收获也很多,毕竟这种锻炼的机会也不多,其实我自己一直是有畏难心理的,所以如果不是被逼到这份上,我可能现在还在我的舒适区一直挣扎。

另一方面,由于时间紧,所以很多工作很难去深入了解,去做到极致。后来在项目解散后,我也充分地意识到了自己的短板所在,所以到了新的团队之后,我开始去搭建自己的知识体系,并且竭尽所能去做好每个任务,沉下心去学习工作中所涉及到的知识。从最开始的图文快照,到 Hybrid 框架升级,再到列表框架优化,每一个版本都几乎用尽了全身力气。比较出乎意料的是,后来在 8 月份的时候,拿到了职业生涯第二次奖励。

这个时候,是不是应该来句鸡汤呢:

“努力不一定有收获,但是不努力一定没有收获”。

5.2 技术成长

年初定了不少目标,但是在做的时候,又发现目标的本身存在问题,所以后来也在不断调整。

总的来看,收货比较大的还是知识体系的构建,以及开始有意识地去深入了解一些技术背后的原理,作为非科班出身的程序员,很多路都需要自己去摸索,所以中间还是走过不少弯路。

在 3 月份的反省后,这一年的大致做的都是“把工作任务做到极致,读读源码,写写博客,做笔记做总结,开源自己的代码到 GitHub 上”,后来发现自己基本功还是不够,于是又把数据结构和算法、架构、设计模式都深入学习了一遍:

1 月份,正式开始学习 Swift;

3 月份,实现了一个图文快照的框架,并在后续几个版本中做了迭代、重构;

4 月份,读完了 《Objective-C 高级编程》和 The Swift Programming Language,并且跟着敲完了所有的示例代码;

5 月份,读完 SDWebImage 框架的全部源码,写了一篇笔记

6 月份,Hybrid 升级,调研 Web View 的优化,调研 WKWebView,实现一个兼容 WKWebView 和 UIWebView 的通用 Web 容器框架

7 月份,系统学习了使用 React Native 技术开发 iOS 应用,记了大量笔记,写了几个小应用;

8 月份,系统学习了 JavaScript 和 HTML 的基础语法;深入阅读了 WebViewJavaScriptBridge 框架的源码,写了一篇详细的笔记

9 月份,系统学习了 iOS 应用开发的常用架构模式——MVC、MVP、MVVM、VIPER、MVCS,了解了架构模式的演进历史;

10 月份,读完了 《Objective-C 编程之道——iOS 设计模式解析》,跟着把书上的代码都敲了一遍,对常用的设计模式有了基本的认识;

11 月份,学完了常用的数据结构和算法,从栈到图,从三大查找到八大排序,用 Swift 都实现了一遍(一开始想用 Objective-C、Swift 和 C 都实现一遍,后来发现工作量太大了);借鉴 IGListKit 源码实现了一个轻量的数据驱动的列表框架

12 月份,借鉴 SDWebImage 实现了一个可以在 UITableView 中视频播放的控件;系统复习了多线程相关的知识点(包括 NSOperation、GCD、锁、线程安全问题、Runloop等);

总的来看,相比 2016 年的野路子来说,去年的方向更清晰,学习也更系统更深入,但是存在一个严重的问题就是碰到什么都想深挖,太过于用力,没有抓到重点,导致很容易陷入某个点,在某些地方耗费过多的精力。所以这也就导致了去年在源码阅读的数量上来说,没有完成目标❌。

5.3 Github

2017 年在 GitHub 上总共贡献了 1092 次,接近 2016 年(133次)贡献次数的 10 倍。

这 1092 次,主要贡献在自己的 Objective-C 开源项目、Swift 练习项目、React Native、JavaScript 和技术笔记上了,还有一小部分贡献到了别的第三方框架的 issue 和 pull request 上了。

屏幕快照 2018-01-04 下午11.04.27.png

5.4 阅读

2017 年买了 Kindle,实体书和电子书加起来的话,总共读了 12 本书,也算是完成了去年年初定的目标:

  • 《iOS Core Animation Advanced Techniques》
  • 《The Swift Programming Language》3.0
  • 《Objective-C 高级编程:iOS 与 OS X 多线程和内存管理》
  •  《把时间当做朋友》
  • 《软技能:代码之外的生存指南》
  • 《数据结构与算法分析》
  • Objective-C 编程之道
  • 计算机是怎样跑起来的
  • 淘宝技术这十年
  • 黑客与画家
  • 剑指 offer
  • 程序员跳槽全攻略

数量上来讲,比 2016 年要多得多,但是还是存在一些问题:

  • 读书时目标不够清晰
  • 读书时没有分级,太抠细节,因为有些书需要精读,而有些书只需要泛读,其实这也跟第一个问题有关
  • 技术书籍读的太少

所以, 2018 年主要针对上面三个问题来改进读书计划。

除了读书之外,2017 年读的最多的就是公众号文章了。在 2016 年底时,我做了深刻反思——收藏很多,却从未仔细读过。所以,在去年,我把很多不错的文章都精读了一遍,并且在 GitHub 上整理起来了,针对部分非常好的文章还做了笔记。2018 年还是要把这个好习惯延续下去。

5.5 写作

大约估计了一下,去年写了大概有五六十篇文章,其中大部分是笔记总结,有几篇是源码阅读笔记,还有些是纯原创的(相当耗脑力),总的来说,相比 2016 年,文章数量更多,而且更懂得写作技巧了。

但是,也有需要改进的地方:

  • 写一篇文章太费时,总是追求所谓的完美
  • 每周至少一篇博客的习惯没有养成
  • 中间有一段时间,突然意识到不能为了写而写
  • 先有构思、想法,才能有东西写

2018 年,我希望自己能够让写作变成一种习惯,争取成为自己的第二技能。

5.6 英语

去年在英语上并没有刻意花费太多精力,主要以保持为主,跟工作相结合:

  • 去了 16 次线下的英语沙龙,现在的口语水平虽然很难再提高一个层次,但是能保持一下,跟老外聊天,还是绰绰有余了(11 月份有次在星巴克碰到两个瑞典的女孩,没想到口语还真派上用场了)
  • 基本上每个星期都会去读英语技术文章
  • 在 GitHub 和 Stack Overflow 上用英语跟老外交流过几次

6. 生活不止眼前的代码

今年身体感觉明显比前两年好多了,一部分原因是加班少了,工作压力也小了些,另一部分原因还是心态上比前两年好多了。

4 月份时,因为眼睛不舒服,特地去医院体检了一次,最后发现身体各方面都挺正常。

去年熬夜还是比较多,经常到 12 点以后才睡,希望 2018 年能够做到早睡早起。

另外,每周打一次篮球🏀的习惯,基本上还是保持下来了。

大学路合影

Milestone

2017 做了很多以前都没做到过的事情:

  • 24 年来,第一次换一个完全不一样的发型
  • 参加了 7 次线下技术沙龙
  • 毕业 3 年多来,第一次在一家公司从年初待到年尾
  • 开始接触理财
  • 第一次画一幅完整的油画

第一幅油画

展望 2018

2018 年的目标,我不想定的太死板,所以定个大方向:

  • 深耕技术(夯实基础、实践进阶),扩大边界(Python、前端、后端)
  • 提升认知
  • 提高情商
  • 让写作(输出)和阅读(输入)成为一种习惯
  • 学会理财
  • 职业发展上一个新台阶

最后,感谢所有 2017 年帮助过我的同学、朋友和同事们!没有你们的鼓励和支持,我早就丧失了信心!

最后的最后,在已经到来的 2018 年里,我希望我自己能够:

脚踏实地,仰望星空