前端未来的主流技术方向有哪些?腾讯、京东、同城旅行等大厂都是怎么布局的?戳此了解 了解详情
写点什么

2017 年总结 · 写在转职后的一个月

2019 年 12 月 05 日

2017 年总结 · 写在转职后的一个月

一直以来都很少写这些比较软性的文章,一方面觉得没有太多可以写的事情,另一方面觉得写这种博客对读者来说没有太大的价值,不过作者在今天还是想对过去的 2017 年进行简单的总结,让自己更加清楚这一年有哪些的变化。


年度总结

在今年年初的时候曾经定下了两个非常简单的计划:看 30 本书、完成 20 篇博客;前者是一个输入的过程,后者是输出的过程,这种可以量化的指标比较容易记录,对于完成与否也有一个确切的答案。



今年的计划大体来看完成度还是比较高的,如果算上这篇总结今年总共写了 35 篇博客,也阅读了 23 本书籍,对于博客来说确实超额完成了任务,不过现在看来每年读 30 本书确实是一件比较困难的事情。


作为软件工程师,在日常学习或者工作的时候,我们阅读的很多资料都来自于一些网站以及官方文档,有的文档的长度跟一本书也是差不了多少的,但是它并不是一本书;除此之外,阅读的很多论文也不属于这个类别,所以在制定 18 年的计划时可能会对这一部分进行简单的调整。


毕业

2017 年是作者毕业的年份,从 7 月份毕业、8 月份入职到现在算了一下大概有 5 个月的时间,相比起在学校每天还要担心被哪个老师点名来说,上班的日子规律了不少,每天早起学习、上班、回家再学习、睡觉,毕业之后的生活确实比还在学校时简单了很多。


不过生活虽然变得简单,但是业余时间相比大学的时候确实少了一些,与之前每时每刻不是在学习或者就是在划水不同,在公司的时候还有工作需要处理,由于公司对于项目的可用性和完成情况有着比较高的要求,这会迫使我们去解决很多问题并思考很多边界条件。


如果有人问我『大学毕业是一种什么样的体验?』的话,从我个人的经历和体验来看还是利大于弊的,虽然失去了一些选择的自由,提高了改变的成本,不过收获了更大的自由,同时也意味着自己要对做出的决定负责任。


技术栈的改变

之前还是有一些人看到最近发的博客,会发私信或者在微博下面留言问『目前主要在做什么工作?』,其实今年 2~4 月份的时候是最后一段写 iOS 的时间,在这之后一直都在学习并且从事着服务端开发的工作,毕业之后开始写 Ruby on Rails,而最近的一段时间由于工作上的变动逐渐将技术栈转移到了 Java 上。



对于我个人来说,改变当前的技术栈到服务端是一件比较自然的事情,从开始学习 iOS 开发到现在也有将近 4 年的时间了,虽然对这个领域说不上『精通』,但是还算得上『熟练掌握』。由于编译器、图像处理、音视频处理以及机器学习相关的事情我还不是特别感兴趣,所以总是感觉自己在同一个领域内做重复的工作,导致我对编程这件事情失去了一些兴趣,这是我不愿意看到的,所以才会选择做出这个改变,开始在新的领域尝试新的东西。


在这个领域中,我发现了很多新鲜、好玩的事情,包括网络、数据库、分布式系统等等,虽然我用 Rails 到现在已经快三年了,但是真正深入了解这个领域的各种知识还是从来没有过的,服务端的新知识对于我来说都很有意思,也更有挑战,所以未来的一段时间可能都会在这个领域中继续学习。


社交平台与博客

去年年末开始用 微博 发一些平时写的博客到现在也差不多过去一年了,感谢各位读者和某粉丝群里各位大佬的支持和转发,现在微博也有 2000 多的粉丝。


博客的访问量跟年初相比提高了 10 倍左右,其中一大部分原因还是之前博客确实没什么访问量,其余的就是总结出了一套排版和制图的规则,写博客的这几年的时间非常明显地提升了表达想法并且梳理思路的能力。


今年总共写了 30 多篇博客,前半年由于还在学校,同时为了毕业,一直在写一篇跟 MVC 相关的论文,所以很多博客都与 iOS 开发有关;六、七月份发的几篇博客其实都出自毕设论文的不同章节,这四篇博客从开始写到发布花了将近 4 个月的时间,这几篇中最满意的还是 浅谈 MVC、MVP 和 MVVM 架构模式,写这篇文章的时候确实花费了非常多的时间,参考了很多的资料,就是为了避免在这种关键问题上误导别人。



下半年写的文章都与服务端有关,作者对于其中的大多数文章都是非常满意的,尤其是下面的几篇文章:


简单看了下,真的不满意的文章非常少,不过这里实在是放不下更多的链接。



在这几篇文章中 谈元编程与表达能力 讲了一些我个人对于元编程的看法和理解;分布式一致性与共识算法 是我在学习区块链技术的时候写的,无论是在学习的过程中还是从最后的阅读量来看,作者还是觉得挺满意的;最后的 Docker 核心技术与实现原理 应该是今年阅读量最高的一篇博客了,发布至今不到一个月的时间,这篇文章的阅读量就能达到 3w 以上,这是作者万万没有想到的。


技术成长

从年初到现在,确实涉猎的技术类型非常广,上半年因为要处理很多与毕业相关的事情,在技术广度上并没有太多的成长,只是看了一下 ReactiveCocoa 的源代码,总结了一下客户端的多种架构模式。


在 7 月份至今的一段时间内,基本每天都在学习新的知识与技术,刚刚入职的一段时间定下了一个比较简单的目标,也就是半年内充分了解数据库的相关知识,包括 MySQL、MongoDB 的使用和存储引擎,事务、索引设计等知识,在这期间看了很多相关书籍;在学习数据库的过程中发现了分布式领域有很多有意思的事情,阅读了一些相关的论文包括 Google 出品的 MapReduce、Bigtable、GFS 还有 Amazon 的 DynamoDB 等等,到目前来看这个短期计划的完成情况还是比较令我满意的。



除此之外,由于工作和技术栈的改变,阅读了一些 Java 相关的一些书籍和文档,在这里不得不说一句 Java 的生态环境实在是太过于庞大了,而且生态中的开发者是一群非常喜欢创造概念的人。在学习 Spring 的过程中,我也更加清楚 Rails 的出现究竟解决了什么样的问题,同时约定大于配置确实是一种更加高效实用的思想,这一思想也催化了 Spring Boot 的出现,简化了 Spring 生态的使用和了解成本,但即使是这样 Java 生态中也有非常多的技术需要学习和理解。


比特币和区块链是今年非常热门的词汇,但是目前大多数人只是为了投机才参与到加密货币的买卖中,研究区块链技术的人其实比较少,不过这些技术确实非常有趣,作者最近也在研究区块链作为一个分布式系统使用了哪些技术才实现了去中心化、不可篡改等特性。



总结与规划

从年初到现在的变化还是非常大的,几个月前还在学校准备毕业答辩,而现在已经工作了几个月,技术栈和方向相比于一年前也有比较大的改变,在未来的一段时间内还是会继续学习后端的知识,而业余时间也会了解一下区块链的相关技术。


回想一下从学习编程最开始每天吐槽 Java 的臃肿和繁琐,到现在日常跟 Java 打交道,学习它各种复杂的 API 和开源框架的使用,我只能说一句『善恶终有报,天道好轮回』。


相关文章


本文转载自 Draveness 技术博客。


原文链接:https://draveness.me/2017-summary


2019 年 12 月 05 日 18:18204

评论

发布
暂无评论
发现更多内容

架构词典:SLA

lidaobing

架构 SLA

京东T8Java架构师总结整理的《15w字的Java面试手册》,涵盖了大厂所有主流技术面试题及答案!

Java成神之路

Java 程序员 架构 面试 编程语言

二本毕业、两年Javacrud经验,面试阿里侥幸通过成功拿到P6级offer,分享面经!

Java成神之路

Java 程序员 架构 面试 编程语言

史上最优美的Android原生UI框架XUI使用指南

android UI 框架开发

面试被问线程安全怎么保障,我的回答让面试官眼前一亮

996小迁

Java 学习 架构 面试 笔记

架构师训练营第 12 周总结

邓昀垚

培训是为了激发学员学习这门课的兴趣

boshi

职业 培训

字节总监首发1121道LeetCode算法刷题笔记(含答案)

Crud的程序员

程序员 面试 算法 字节 面试刷题

Java对IPv6的支持详解:支持情况、相关API、演示代码等

JackJiang

Java 网络编程 ipv6 ipv4

架构师训练营第12周作业

邓昀垚

二、关于大型复杂系统

数列科技杨德华

线上数据被回滚两次我都做了哪些不正确的操作

Gopher指北

MySQL 后端

天啊!怎么会有人把Spring Cloud微服务架构讲得这么透彻?

Java成神之路

Java 程序员 架构 面试 编程语言

技术博客,从零到数万访问,这两年我都做了什么

android 博客 经验分享

从构建小系统到架构分布式大系统,Spring Boot2的精髓全在这里了

Java成神之路

Java 程序员 架构 面试 编程语言

default-servlet-handler不生效原因,springmvc静态资源拦截方案比较

叫练

springmvc 静态资源拦截 default-servlet-handler 资源配置不生效

roblox 杂记

katichar

《程序员数学:使用Python进行3D图形,机器学习和仿真》PDF免费下载

计算机与AI

Python 学习 数学

史上最好用的Android全量版本更新库XUpdate使用指南

android UI 框架开发 xupdate

移动端技术方案设计的经验总结

张明云

android 架构 移动应用 架构师 技术方案

Flutter Plugin插件开发填坑指南

flutter 经验分享

网络入门模拟器:Cisco Packet Tracer

我是怎么教我6岁女儿编程的

勇往直前的胖子

少儿编程

Redis 为什么这么快?这才是最完美的回答

Java架构师迁哥

一文搞懂RESTful API

bigsai

RESTful Rest

史上最全的开源项目创作指南

开源 经验分享

我把Github上最牛b的Java教程和实战项目整合成了一个PDF文档

Java成神之路

Java 程序员 架构 面试 编程语言

话题讨论 | 那些年奇葩的面试经历

三号无名指

话题讨论

史上最实用的Android切片应用库XAOP使用指南

android aop 开源项目 框架

LeetCode题解:45. 跳跃游戏 II,贪心正向查找,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

深入理解Git的实现原理

程序员小灰

c++ git Linux 项目管理 架构师

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

2017 年总结 · 写在转职后的一个月-InfoQ