2020 年度总结 - 647

前言:
去年,写了篇 《2019 年度总结 - 647》 算是我入行的第一年(元年)。
当然, 2020 年 也不能少了。
2020年 是我入行工作的第二年。
今年发生了很多事,我个人有了很多成长与收获;
当然,也有很多不足会在这里一起总结一下。


今年,对于我来说,发生了两件大事:

  • 我换工作啦(跳槽)
  • 我脱单啦~ > <,是 19 年度总结里的浩浩。

一、工作

看过我 《去年(2019)年度总结》 的朋友们应该知道:我是“奇虎360 - 奇舞团” 19届的校招生(2018.07 ~ 2020.05)。

算上实习时间,在 360 大前端团队,奇舞团学习/工作了两年。
这两年,我收获了很多,也成长了很多。
也认识了公司内外很多知名的大佬与前辈,给了我很多启发与帮助。

说实话,在我上初中的时候,360 是我喜爱的公司之一。(10年的 3q 大战,其实我个人是站边 360 的)。

但因为我个人的原因,也许是在 360 待了两年,很多地方都很熟悉了。(感觉已经形成我个人的舒适圈,与公司无关)
对于一个毕业刚入职场1年的开发者,熟悉、安逸的个人舒适圈会让我们很快遇到成长的瓶颈。

对于刚入职场的开发者,我的建议是尽量不要选择安逸的个人舒适圈。
趁着年轻,多一些学习成长与沉淀技术对自己的未来是有好处的。
尽量多学些技术,少学一些职场的技巧。
我们所在的互联网行业,是以技术为第一驱动的。
只有技术好,能帮助公司解决实际的问题,才能实际让这家公司变得更好。
同时,收获一些技术上的成就感。
尽量避免自己短期受到名利和收入上的影响,而没有选择学习技术。
年轻少点名利,多些成长、多些收获、多些技术沉淀才是最重要的。

于是,在我偶像(bestswifter)的推荐下,我跳槽了。

这里给 字节跳动 - Client Infrastructure 打个广告。
我们是 “客户端基础架构” 团队,工作主要偏 “底层技术”、“基础建设”
简单来说,业界都说字节是 “App 工厂”

App 的迭代周期:

App 开发 => 组件CI => 组件合码 => 组件发版(源码 & 二进制)=> 多仓合码 => App 集成 => App 测试 => App 发布 => App 线上监控。

我们做的就是这一整套完整的生产流水线。
就像一个工厂一样,一个 App 走一遍这个流水线就被生产出来了。
开发者只需要关心完成需求、与提高代码质量,剩下的事就交给平台来做。
我们的工作就是打造这个工厂。

当然,除了 DevOps 还有很多其他的岗位。
如果你渴望成长与收获,欢迎私信我内推。


再说下,字节的成长环境对于我来说有以下优势:

  1. 扁平化管理
    团队所有人几乎都向一个大 leader 汇报,少了很多层级关系与职场内的技巧。(不过对于 leader 来说会辛苦些,毕竟要管这么多人)

  2. 严禁向上管理
    我们只要专注的完成我们的需求即可,不必要管很多职场内的事。(也就是说可以很开心的写自己的代码,收获技术与成长)
    向上管理对于很多大公司来说可能都有这个问题,但这个问题在字节几乎不会存在。(至少对于我们刚入职场的开发者来说,只要专注于学习与完成需求就行。)
    那些职场上的一些技巧,会让互联网公司的前进变慢,从而浪费了大量的沟通/人力等等成本。
    因此,公司内,尽量少用这些职场技巧。(专心做业务,写代码)
    公司外,与友商们竞争就另说了。(交给 leader 们就行)

  3. 前沿的技术栈沉淀与技术方案
    字节被称为“App工厂”。App 多到数不过来。
    因此,对于客户端开发者来说,这里的技术与解决方案无疑是业内领先的。
    因此,在这里,你能与全球顶尖的工程师们(有很多外国开发者哦)一起开发,一起商讨解决方案。
    同时,内部有各种技术栈的课程视频(都是业务线的各位大佬倾心录制),会给我们带来不同角度的分析与技术讲解。

  4. 薪资与福利(这个就不说了...)
    这也很重要,都懂得...
    但对于新入职场的开发者,前面三点更关键。


二、成长(技术栈)

20年初,过年在家,我自学了 Go 语言。
20年 6月,由于字节这边需要懂 “客户端技术” 的后端开发,我因工作机会真就转了后端。

目前,我个人的 技术栈 主要为:

  • 客户端:Objective-C + Swift(1年经验)
  • 后端:Go + MySQL + MongoDB + Redis + ES(0.5年经验)

因为工作性质的关系,虽然现在不怎么写 iOS 了。
但工作依然和客户端保持着紧密的联系。

很多技术,是边做需求,边学习的。
字节有很丰富的文档与课程视频,能让你快速充能,成长做好需求。
不要受曾经自己的束缚,给自己贴上某些标签。从而给自己理由,不敢走出舒适圈。
在字节的这半年,让我仿佛回到了刚走出校园的自己。


三、读书

1. 《iOS编程理顺核心知识点》(戴铭老师)

说实话,这本书配合戴铭老师在极客时间的课程,对于 iOS 开发者来说,几乎可以是必读的。
可以说这本书,由浅入深的讲解了 iOS 里面的很多底层知识与原理。

  • OC -> Swift 进阶?
  • 符号化解析原理?
  • 如何做 iOS 监控体系?
2. 《图解HTTP》(二刷)

4月份,在研究 WebSocket 的时候,发现很多网络相关的知识忘的差不多了。(可能在学校的时候没理解透),所以花了点时间二刷《图解HTTP》。也是为了面试做准备。

3. 《程序员的自我修养》(20%)

有点厚,看了些,没看完。
但这本书对于了解计算机底层原理是很有帮助的。
并且很多技术栈的底层技术是有很多相似的。

4. 《Go语言从入门到实战》(70%)

这个是我年初入门 Go 看了些,
感觉对之前一点 Go/后端 基础的同学,可以参考下。

作者:蔡超,Mobvista技术副总裁兼首席架构师,前亚马逊(中国)首席软件架构师

5. 《Go语言核心36讲》(30%)

这个建议对有 Go 语言实践的同学看,如果刚入门的话,还是听起来会吃力写。

作者:郝林,《Go并发编程实战》作者,前轻松筹大数据负责人

6. 《Flutter核心技术与实战》(20%)

虽然自己目前不写 Flutter,但了解了一些 Flutter 的技术与原理。
算是了解了一下,扩宽知识面吧。

作者:陈航,美团点评高级技术专家


四、2020 年我做了那些事?

1. 上半年

上半年,从武汉疫情爆发,到各地封城。在家的时间变多了。
一边为武汉祈祷,一边在家学了些自己感兴趣的技术。

Go 基础

入门了 Go 语言,产出了一系列 Go 基础博客:
Go语言基础(一)—— 简介、环境配置、Hello World
Go语言基础(二)—— 基本常用语法
Go语言基础(三)—— 面向对象编程
Go语言基础(四)—— 优质的容错处理
Go语言基础(五)—— 并发编程

本来计划写八篇,最终落地了五篇。少了最后的三篇。
不过不太影响,核心在于并发编程,也就是第五篇。
适合准备入门 Go 的同学参考。

WebSocket

同时,因为自己之前是 iOS 客户端出身。当时,正好在整理 WebSocket。
因此,也写了两篇与 Go 有点关系的文章。

  • 今天我们来聊一聊WebSocket(iOS/Golang)
  • WebSocket 双端实践(iOS/Golang)
Swift、Flutter、WatchOS

疫情好转,回公司后。写了一些团队内部的效能小工具(Swift、Flutter)。
同时,我把这个小工具,在 Apple Watch 上落了地,写了一个 iOS Watch App。
(具体请参考我的博客:《记一次 Apple Watch App 开发经历》)

iOS 基础技术

之后,买了戴铭老师的“新书”和“课程”。
学了一些 iOS 底层基础技术,也落地了一些我个人很满意的博客:

  • 《iOS 浅谈GPU及“App渲染流程”》
  • 《Flutter 究竟是如何渲染的?》
  • 《iOS 如何抓取线程的“方法调用栈”?》

2. 下半年

疫情稳定下来了,我个人离开了 360,加入了字节跳动。
在字节,感觉每天都有新收获。成长也很快。
与 bestswifter 及各位大佬同事一起工作,每天能学到很多知识。

渐渐也完成了不少需求,一点点升级,一点点成长。
唯一遗憾是下半年,我几乎没怎么写博客。
反思下原因:


  • 说实话,字节的工作强度确实不低。硬说需求的话,是做不完的。
    我把我的大部分精力都花在了完成需求上,并没有做很多总结。

  • 作为个后端“萌新”,自己能沉淀的技术并不多。
    很多理解也不全面,怕直接写出来很多东西引起误导。
    所以,还是想等沉淀了一些后再写好点。

写了一些不值一提的半成品,在这就不推荐给大家啦。


五、对 2021 年的计划

在做计划之前,先简单回顾一下去年(20年)的计划。

去年计划有:
1.深入理解RunLoop?
2.iOS 性能优化?
3.脚本语言?
4.Go?
5.Vue.js?
6.Flutter /SwiftUI?
其中,
完成的比较好的点有:1,2,4。
完成的不太好的点有:3,6。
几乎没任何进度的有:5。

那么,2021 年的计划有:
由于我目前的工作主要是 “后端” 方向。
因此,计划可能会侧重于加强 “后端技术栈”

  • 深入理解 Redis?
    不仅会用,还要理解 Redis 的本质。
    如果可以的话,再了解一种缓存方案。

  • 深入理解 “后端存储”?
    不仅会用 MySQL、MongoDB,主要理解他们存储本质与性能优劣,并落地相关博客。

  • 深入理解 ES?
    希望自己能完成一套完整的 ElasticSearch 的搜索方案,了解搜索引擎原理,并落地相关博客。

  • 了解 MQ?
    RocketMQ or Kafka,并运用在实际项目。
    一直对消息队列有很强的好奇,目前了解了其中的一些知识,未使用过,只是了解。

  • 前端? JS?
    希望能了解下前端,最好能实际做个前端需求,往真正的全栈发展。

  • 持续学习客户端相关基础技术
    如果有客户端需求,随时可以拿的起来。

六、其他

2020 年,宅在家里,游戏没少玩。

《原神》(iOS/Android/PC) —— 评分10

不得不说,是我 2020 年评价最高的游戏。
虽说有抄袭塞尔达的成分。但不得不说,抄的相当好。
不论剧情设计,游戏内的地图/剧情探索,丰富的战斗元素设计,还是 iOS、Android、PC 端的数据互通的便携性,都非常好。
不得不说,是米哈游国产游戏的新巅峰啦。满分推荐。

《塞尔达传说 —— 荒野之息》(NS)—— 评分 10

2020.11.3 终于把塞尔达的120个神庙 + 打败了盖农 + 救出塞尔达。(总耗时:180个小时)
不用多说,没玩过的买就对了。

《塞尔达无双 —— 灾厄启示录》(NS)—— 评分 8

可以理解为《塞尔达传说荒野之息》的前传,讲述了很久以前塞尔达与盖农的战争以及战败的原因。
游戏有些掉帧,剧情还可以,但无双割草,玩久了会感觉无聊。
我玩了 70%,给卖了。

《异度之刃2》(NS)—— 评分 9.8

日式JRPG,重剧情的游戏。喜欢动漫的玩家可以入手,毕竟过场动画真的很良心。

2020.11.19 终于把异度之刃2(一周目)玩通关了。(总耗时:90个小时)
从第一章,遇到“焰”。到遇到“光”,再到最后登上世界树。剧情很好。有点像看了一部动漫的感觉,还有游戏参与感。
话说,一个单机游戏,前期也能配合抽卡玩出乐趣,后期让我坚持玩通关的 还是剧情。

《塞尔达梦见岛》(NS)—— 评分 7.5

本身老任的独占游戏质量一般都不低,还是塞尔达系列的。(玩过塞尔达的朋友们都知道,“塞尔达天下第一!hhh”)
本作画风很Q,很萌,有一点点解谜和探索,借的晶姐的卡带玩的。
没事割割草,玩玩小游戏,里面暗藏了很多任天堂IP的梗。
还挺有意思的。通关大概要20个小时。稍微有点掉帧。
通关之后,游戏性就不太大了。(我没玩通关...)

《异界锁链》(NS)—— 评分 8.0

这个分数我打的偏低了,因为我个人对3d动作类游戏并不是特别敏感,并且本作的红黑画风并不是我的胃口(个人主观,非客观)。
但由白金工作室出品(“尼尔”的团队),本身游戏素质还是很高的。
适合喜欢3D动作类游戏的朋友们。

《剑与远征》(iOS/Android)—— 评分 6.5

过年时候玩的挂机游戏,挺适合上班族的,名副其实的挂机游戏。
由莉莉丝出品(原刀塔传奇团队)。我之前玩过《剑与家园》(号还卖了800块),这部作品耐玩性不高,就是一个挂机闯关游戏。
不过由莉莉丝出品,本身质量肯定也是有保证的。上班族可以参考一下。

《万国觉醒》(iOS/Android)—— 评分 7.0

莉莉丝的游戏,国际化做的都比较好,这部作品中的人物有各个时代的英雄。
玩游戏的同时,可以了解到世界的历史人物。
耐玩性一般,大概玩了1个月左右。(简化版的“文明”)

阴阳师•百闻牌(iOS/Android)—— 评分 8.5

大概体验了一个月,玩了一下第二赛季。
网易的卡牌新游真是给了我一点惊喜。
由于《炉石传说》的环境,让喜欢策略卡牌游戏的老玩家感到越来越难,一个赛季不玩就拉了很多,新赛季还要重新配卡,略麻烦。
因此,这款游戏很好的弥补了一款耐玩的卡牌类游戏。
游戏背景是《阴阳师》的背景,配上了类似炉石,又不是炉石的游戏机制。上手需要一点时间(我大概花了1天左右,稍微有点长,但一旦了解了游戏大概的机制,就能体会到卡牌游戏带来的乐趣:烧脑、逻辑、组卡个性),看到自己喜欢的卡牌,出现在自己的面前还是很开心的。本身游戏是益智卡牌类型+0.5收集养成类型的游戏。总的来说,还是挺有意思的。

你可能感兴趣的:(2020 年度总结 - 647)