Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ShannonChenCHN opened this issue Jan 6, 2018 · 0 comments
Open

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

ShannonChenCHN opened this issue Jan 6, 2018 · 0 comments

Comments

@ShannonChenCHN
Copy link
Owner

ShannonChenCHN commented Jan 6, 2018

今天是 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 年里,我希望我自己能够:

脚踏实地,仰望星空

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant