两年以来 两年以后

转眼间已经工作两年了,2014年07月07日我带着我的毕业证和学位证再次去到了ThoughtWorks西安,继续编写之前实习时的代码。两年以后的今天,在自己的Macbook下用Emacs下写下了这篇文章。

两年后的今天和两年前似乎没有太大的区别,我还是在为家里赚钱,还没到为自己赚钱的时候。我清理了一下所拥有的那些值钱的资产,无非就是:

  • 一个大学时买下的Kindle PaperWhite 1

  • 一个三个月前才公司买下的三手电脑

  • 一个拿来当相机的Nokia Lumia 1020的手机,只是不支持4G

  • 一个本想拿来当电脑的Nokia N1平板,可惜是个Intel核心

  • 一个本以为可以刷Ubuntu的魅族MX5手机

  • 还有一堆书

要知道我在一个月之前连银行卡都丢了,还有值钱的身份证。因此,还是和大部分刚毕业不久的人一样,缺钱,甚至还远远不如一些刚毕业的学生,他们可以为自己赚钱。当和别人聊起待遇的时候,总会提到一句:我们不加班,所以工资比大部分的互联网公司都低。

为什么我就喜欢这种不加班的工作呢?我也说不清楚,大概是因为我想要更多的学习时间吧!

我的日常

在那篇《我的成长四步曲》里,我曾经提到过我的成长计划,要实践这样的计划也需要相当从的时间。而时间本来就是容易消耗的东西,一部电视剧、一部电影、一场游戏。累的时候,我们就无可避免地需要这样的休息。

但是如果每天你只上八个小时的班,还累的话,那么可能是因为你还没有渡过学习区,要么就是你真的太懒了。又或者是你没有想去做的事情,安逸地活着也是一种活法,只是那种活法还不到适合我的时候。我还想去看看这个世界,看看那些最美的地方。

每天早上我大概会七点起床,然后写会代码、再去洗簌,又或者先洗簌、再去继续代码,直到八点走人。这个习惯是在西安的时候养成的,即使是在没有暖气的冬天里也是如此。尽管我一直想把时间往前移移到六点,但是某人不同意。早上由于时间特别短,写起代码也特别有挑战性——一直有一个Deadline在提醒你,你要尽快去解决这个问题。要不这个问题就得留到晚上,又或者是明天了。你也可以试试每天这样挑战一下,会刺激你的肾上腺激素。不过,很快地你就又进入了休息状态了。要是幸运的话,还可以到公司再写点代码。

之前在西安的时候,中午都有一个小时的午休时间,拿出一小部分的时间休息。然后在那一年多里里,就拿中午的时间参与翻译了二本书,还写了一本书。也有些时间会写代码,但是比较少,因为吃完饭后,实在是困。

六点多开始踏上回家的旅途,七点多到家,多数时候都会睡上十几分钟到差不多八点的时候就起来码字、写代码。到了十点左右,会习惯性地看看书、又或者是写写代码。

一星期很容易就这样过去了,不过总有一些明显的规律,周一和周四写的代码都比较少。周一大家都知道为什么,但是周四就显得有些奇怪,大概是因为周五就要放假了吧。

周六、周日的早上习惯性的就会看电影,下午可能会玩玩游戏、看看书什么的,晚上才是写代码的状态——总觉得被自己平时的习惯坑了。周末总的来说,会比较轻松一点,但是也会和平时差不多一样的时间起床——除非不得已熬夜了。

所以,这就是下面这张图的由来:

两年以来 两年以后_第1张图片在这个过程中,有一篇篇的博客,一次次的代码提交记录了这些过程。

写作

写作本身就是整理自己知识体系的一个过程,我发觉我从中受益挺大的,便不断地再次重复这个过程。写书则会把自己所学的知识,以一起的框架整理出来。

原本只是关于某方面的一些零散的知识,突然间知识点变成了一本本的书放图书馆里,整整齐齐地摆放着。在我们需要的时候,我们就可以极为方便地取出这些知识点。那些我们不熟悉的点,也会在我们写作的时候驱使自己去了解。我们会因此而对些更加了解,从输入到输出是一个很有趣的过程。

这两年里虽然也写了不少的博客,大概会有200篇左右,我的博客https://www.phodal.com/blog的文章数量也已经累积到了564篇了。

除此,还有之前提到过的《我写的那六本开源计算机书》,总结自己的经验,然后自己会学习到多,别人也学习到了更多,顺便再扩大一下影响力。哈哈,不过,我从小就一直想成为一个作家来着。

如上所说,在这些年里,我还参与翻译了两本书籍,只是都还在出版中。一本是关于物联网的书籍,我也是这本书的英语版技术审阅,这意味着这本书会有两个地方都有我的介绍。还有一本是关于Arduino的书,不过这本书我只翻译了大概1/5的内容。

可惜的是,翻译书真的是吃力不讨好的工作了。然后我想我写的物联网方面的书籍也应该快出版了,算是第一个剧透。

我喜欢写电子书而不喜欢写纸质书籍的原因在于:写的纸质书籍过程中很容易将我的耐心消耗完。而电子书则是这样一个刚刚好的过程,我觉得我把自己的知识体系整理得差不多了,我也就可以停止写作了。我就可以很快地挪向下一本电子书籍,移向下一个感兴趣的点。

编程

这两年来,仿佛在编程上并没有多少提高,更多的是方法论和软件工程的实践。从原先对于软件工程的几乎一无所知,到敏捷软件开发是一系列有意思的过程,再到精益则是另外一个有趣的实践。

记得我们在学编程的时候,看到的书都是“xx语言程序设计”,而不是“Copy & Paste from StackOverflow”。程序中的设计又或者是从小到大,又或者是从大到小,都反应了不同的组织意识形态。有时候,并不是我们不能设计一个更好的架构,只是组织结构不允许。

从一个程序中,我们可以看到人的设计思想,可以看出它的模式,也可以看到它的未来,这些都需要我们有一些了解、练习、实践。

编程的练习

有洁癖的工程师都在追求着更好的代码质量,为一个变量取一个好的名字、重构一段遗留代码、为旧有的代码添加测试、学习一些好的软件设计实践,我们都在追求更好的代码和设计。如果你也有时间,那么你也应该去做同样的练习:

  • 为自己的代码编写测试,乃至使用TDD来开发一些Side Project——顺手一推荐《测试驱动开发》。

  • 学会重构,以及依靠快捷键重构——你应该都听说过那本书《重构》,再试试Java的Intellij Idea、Python的Pycharm或者JavaScript的WebStorm的重构功能。

  • 学习、了解代码的设计模式——从普通代码到设计模式有一种方法就是“重构”,因此推荐一本书《重构与模式》。

  • 熟练使用键盘,熟练使用编辑器、IDE的快捷键。如果不行的话,你可以试着去寻找编辑器和IDE的cheatsheet,像VIM和Emacs这样的编辑器,你就可以买上相应的书。

  • 尽可能多地去探索提高效率的工具。这一点倒也可以参考我的Toolbox,建立自己的工具箱。

  • 有机会的时间尽可能去尝试新的技术。建议可以看看“ThoughtWorks 技术雷达”,你可以了解到一些技术趋势。

  • 当然还有预防颈椎病。你需要合适的椅子、桌子、键盘、鼠标,还有眼睛与屏幕的视角。

随后,你可以和我现在一样尝试在这方面的练习:

  • 适当地做一些架构方面的练习。

最好,你还能经常性的做出一些总结。

业务与技术

我们一直在技术和业务之前不断地周旋,很难好好地平衡两者间的关系,但是真的是如此吗?很多时候,我们只是为了实践一些新的技术而去责怪业务不给力。使用新的技术不一定使你开心,但是如果可以在繁琐的业务里创造新的技术、框架,则是更有激情的事!

作为刚入职场的人,我们都对业务有一些相似的看法。只是对于大部分领域来说,都是业务可以给技术带来生机。在那之上,有几种东西倒还是挺有意思的,一个是 DDD (领域驱动设计),还有一个是DSL(领域特定语言),都是我今年一直跃跃欲试地东西。他们真的是两个非常不错的看点——从技术与业务剥离的一些技术手段。我还是有点太年轻了,不是很了解这些东西。以领域的视角,去设计可以在业务专家与技术人员能理解的语言真的很赞。像我之前使用的BDD(行为驱动开发)就有这种趋势,只是它更多的用于编写业务场景。

设计

在这一方面的进展,又特别的小,但是我总想提一下。我是不是要把我的电脑密码改成de51gn@,这样我才会每天想它一次。不过,好在至少还有一个brand可以撑一下门面。

0?wx_fmt=png
我开始使用以前设计的Logo来作为手机、电脑的背景,下一步呢?

两年以来 两年以后_第2张图片

半年x未来

Growth是今年年初计划做的东西,虽说并不是很理想,我特别有激情。

Growth

Growth本身是一个双重计划:提高自己、提高他人。从一篇文章引发的一系列作品,它就如蝴蝶一样,翻开了一个新的世界。他已经有了一个Android的APP,一个iOS的APP,还提供了桌面、Web版。这个故事里面也已经衍生出来了两本电子书,即上文中提到的指南和实战。其中还混合了一系列常用的工具、软件,我想以后的toolbox也会加到这个软件里面吧,笑~~。

Growth还有一部分的内容未解:解决方案。在重新思考了这个问题后,我想将之混合入架构的方面来实现这个功能。这也是我接下来想尝试写的电子书,脑子里已经零零散散地有了一些架构方面的知识,过去也没有想着好好清理。

解决方案 + 解决方案的架构,对于Growth来说,又是一个好的场景。

Build A Team

离开上一个Team,我就对这个问题思考了很久。工作上存在的Team,多数并没有共同的理想,都是因为种种原因而在一起的。这种比喻有点类似于,那些公司的创始人因为有着共同的理想走到了一起,公司也就有了共同的理想。当公司变大以后,每个人的理想就不一样了,公司的理想也就不一样了。有点习惯了年轻的团队带来得活跃感,怀念一个真正的产品带来的激情。

我想Build A Team去做一些技术方面的创新,推动国内的技术发展——毕竟我的博客和电子书都达到了这样的效果。不过,这是未来要开始做的事,而不是现在——路还长着呢。如果你想来参与,我希望你(排序是有先后顺序):

  1. 乐于分享

  2. 足够的技术热情

  3. 学习能力

  4. 当然还要有一定的技术水平和能力


(下期更精彩)

两年以来 两年以后_第3张图片

你可能感兴趣的:(两年以来 两年以后)