今年对我来说是特别的一年,22 岁,从大学顺利毕业,开始工作。

2_short_summary

大学

自从去年 10 月份签了 Offer 后,没打算去实习,就开始享受大学的最后半年多时光了。其实对于我的大学,我的情感是很复杂的,一方面,在知识学术上,大学其实并没有给我特别大的帮助,我的专业(网络工程)的专业课我都不太感兴趣,另一方面,我的大学又给我了很多无可代替的东西,三个可爱无比的室友,一群摄影工作室的朋友,一群写代码的朋友,图书馆各种最新的技术书籍,成都的美食和文化,四川的风景,985 的学历等等。

清考过了,论文交了,毕业照拍了,毕业旅游去了,毕业典礼完了,各种大小团体聚完餐,就毕业了。

总的来说,我还是十分感激和怀念我的大学的。

工作

下半年来到深圳,入职鹅厂,正式成为一名程序员。鹅厂的工作环境还是不错的,iMac 5K + 13 寸 MacbookPro + 1080p 显示器(这个有点…),早餐免费,晚餐基本等于免费,10 点后打车免费,每个月点卷福利,上下班班车等等。规范,专业,开放,关怀,这些其实是鹅厂很不错的地方。

快一年没写过 iOS 了(自从去年 8 月份实习结束后),花了点时间重新学了一下。然后我们事业群毕业生还要完成一个 Mini Game 的项目,随机组队,只有一周时间脱产,所以基本就是周末加班两天,当然我们组两个程序以前都没做过游戏开发,所以从头学习了 Unity + C#,总算完成了一个 2D 横版过关游戏 《Rebecca》,虽然没拿奖,但认识的 Mini Game 的小伙伴还是很开心的。

后面就正式进入了糊 UI 的工作,由于我们组比较开放,在别的组还在 SVN + 原生的时候,我们组和正常的 8012 年互联网公司一样,用上了 Git + React Native,Android 用上了 Kotlin,所以我就把 Swift 引入了我们组里,不过我之前从来没有写过 Swift,所以还在持续学习中。后面写了一段时间的 React Native,也是没有接触过的,虽然 Javascript 以前写过,但是写得很少,React 没有接触过,感觉还是十分新奇的。

给组里做了两次技术分享《搞懂 React 的 setState》和《函数式编程》,函数式自感理解还是太浅,觉得还是要继续深入学习一段时间,另外一篇整理成 博客 了。

今年宝可梦的新作在 Switch 上登录,上班摸鱼的时候,和组里同事一起写了个 宝可梦猜猜看 的小程序。

今年印象最深刻的是 Leader 一番话,意思大概是『方案有很多种,谁推动谁牛逼,毕竟逼逼大家都会』。我 Leader 也是我导师还是是我当时的面试官,是个很有趣的人,没有架子,教会了很多技术和非技术的东西。

1_cover

技术

今年技术上主要是广度的提升,除了毕设学习了 Android,工作里学习并使用了 Swift,ReactNative,Javascript,小程序,Kotlin,Mini Game 里的 Unity + C#。也算是掌握了好多种语言的 Helloword 了。

4_language_stat

Android

毕设是个光纤卡的 Android 端测试软件,用 Java 写的,用了 Mina 去做 TCP 请求。Android SDK 很多东西和 iOS 里 Cocoa 的很像, Android Studio,Gradle,XML 的布局,Resource 的引用,这些都是比 iOS 好用很多的。但是 Cocoa 封装了更多高级的 API 给开发者,包括进程(基本就是单进程),线程,图像这些 API,这些是更易用的。不过我写 Android 时间不长,也不是主要写 Android 的,可能理解还不是很深。

7_latest_commit

Swift&Kotlin

这两门语言很像,Swift 以前只看过官方教程,项目里没有用过,今年算是用上了,把混编,包管理依赖,项目集成坑踩了个遍。Swift 是一门很甜的语言,特性很潮很酷,很安全,但是没有 Objective-C 那么黑魔法,就只能盼望苹果来更新,但总体来说潜力很大。反正除了动态性,我是很少会怀念 Objective-C。我觉得 Swift 再加上 Async 的特性就很完美了。Kotlin 很多东西和 Swift 很像,但是由于 Google 的强推和 IDE 的支持,Java 和 Kotlin 的交互会舒服很多,基本无痛重构。Kotlin 的协程是一个很酷的东西,但是目前还不是很稳定(虽然官方说稳定了)。Swift 我明年应该会更加深入的学习,挖掘一些更深的思想。

C#&Unity

Unity 提供了一种非常简单的开发游戏的方案,也就是在界面上拖拽,然后在元素上挂上 C# 脚本,配合相机的视角,就能完成简单游戏的开发。官方教程很友好,对于 2D 支持也不错。C# 脚本就类似于一个模块,挂上这个模块界面里的元素就有了模块的功能,其实设计思想就像协议,然后通过组合特性来完成功能。C# 我感觉像个轻量简单的 C++,该有的现代语言特性都有,也没有很复杂的东西。不过感觉游戏前端最复杂还是在于数学知识,各种数学计算来实现移动,角度,区域判断,动画等等。

React Native&Javascript&小程序

Javascript 以前也写得很少。JS 其实是一门优缺点很突出的语言,一方面有很多坑,一方面很多东西又是被允许的,有很大的自由,还有着返璞归真的对象设计思想。ES6 后,Promise&Async,括号函数等的特性是我很喜欢的。

React Native 最重要的还是 React 的思想,写起 UI 来是很方便的。除了 JSX 语法外,State 的变动去驱动页面渲染, Javascript ES6 的加持,都让 UI 写起来很舒服。当然 React Native 用的主要原因还是人手不足和热更新。明年 React 将会用上 Hooks API,更有意思了。React 是值得继续关注的。

除了摸鱼的宝可梦小程序外,还写了项目里的小程序。这次接触了云开发功能,也就是写一些 Node.js 去在云端运算等等。明年应该不会对小程序花太多时间进去。

博客

说来惭愧,自从去年拿完 Offer 后,博客就很少很少更新过了,今年也只更新了三篇,其实很多题目想写,但有些东西感觉研究得太浅,有些写到一半不满意搁置了,有些东西用在工作里不太适合写,所以也就这样了。明年希望把今年没写完的博客写出来。

算法

从 11 月份开始,开始每周刷一些 Leetcode 了,去年面试就暴露了算法极差的弱点,基础还是要弥补的。刷了60道的 Easy,后开始刷 Medium,一共 70-80 道的样子。一开始还是连 Easy 只会用很笨的方法,现在感觉还是有一些套路的,Medium 的题感觉要想很久,这个慢慢来吧,会坚持刷下去。

书籍

今年看得技术书籍还算有吧。

翻译

为了提升英语水平,顺便学习 Swift,加入了 SwiftGG 翻译组,组里都是很厉害的人。我翻译了两篇文章,还有苹果官方教程 《The Swift Programming Language》 里面的两个章节。明年继续。

最后

2018 年是很神奇的一年,微博上每天都能刷到魔幻的事情,各种行业寒冬也开始了。

作为一个普普通通的程序员,我希望我明年能有所成长,过好自己的『九局下半』。