前言:
去年,写了篇 《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 还有很多其他的岗位。
如果你渴望成长与收获,欢迎私信我内推。
再说下,字节的成长环境对于我来说有以下优势:
扁平化管理
团队所有人几乎都向一个大 leader 汇报,少了很多层级关系与职场内的技巧。(不过对于 leader 来说会辛苦些,毕竟要管这么多人)严禁向上管理
我们只要专注的完成我们的需求即可,不必要管很多职场内的事。(也就是说可以很开心的写自己的代码,收获技术与成长)
向上管理对于很多大公司来说可能都有这个问题,但这个问题在字节几乎不会存在。(至少对于我们刚入职场的开发者来说,只要专注于学习与完成需求就行。)
那些职场上的一些技巧,会让互联网公司的前进变慢,从而浪费了大量的沟通/人力等等成本。
因此,公司内,尽量少用这些职场技巧。(专心做业务,写代码)
公司外,与友商们竞争就另说了。(交给 leader 们就行)前沿的技术栈沉淀与技术方案
字节被称为“App工厂”。App 多到数不过来。
因此,对于客户端开发者来说,这里的技术与解决方案无疑是业内领先的。
因此,在这里,你能与全球顶尖的工程师们(有很多外国开发者哦)一起开发,一起商讨解决方案。
同时,内部有各种技术栈的课程视频(都是业务线的各位大佬倾心录制),会给我们带来不同角度的分析与技术讲解。薪资与福利(这个就不说了...)
这也很重要,都懂得...
但对于新入职场的开发者,前面三点更关键。
二、成长(技术栈)
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 有点关系的文章。
Swift、Flutter、WatchOS
疫情好转,回公司后。写了一些团队内部的效能小工具(Swift、Flutter)。
同时,我把这个小工具,在 Apple Watch 上落了地,写了一个 iOS Watch App。
(具体请参考我的博客:《记一次 Apple Watch App 开发经历》)
iOS 基础技术
之后,买了戴铭老师的“新书”和“课程”。
学了一些 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收集养成类型的游戏。总的来说,还是挺有意思的。