又是一年的年终,时间依然如同往年一样匆匆的流逝,为了让自己觉得今年并没有虚度,本文将回顾以下自己作为一个程序员在今年的成长。做一个学习总结,给 2015 画上一个句号。
今年博客从 JavaEye 迁移到简书。从此终于可以舒服的用 markdown 编写博客。
由于去年总是希望一次写一篇完整的 blog,导致去年可怜的只写了一篇博客。今年采用KISS的方式写博客,小的idea写短博客,大的idea写长一些的。随着时间推移不断重构博客内容,这样负担不会太重。
按照KISS原则,今年一共写了 19 篇博客: http://www.jianshu.com/users/MjqJJb/latest_articles
自从在国内项目中打拼以来,一直有一个愿景:
『不仅高效的交付高质量的软件,而且还要交付一种高效的工作方式』
今年终于在为 Lenovo 做项目的时候,达成了个这个成就。不但成功交付超高质量的软件,而且帮助客户进行了敏捷团队改造。
在于传统企业管理模式和瀑布流开发方式的碰撞的过程中,保持敏捷团队的优势,并且让敏捷跟传统企业的 Water-Fall, KPI 进行了融合。在 Lenovo 和卓越的小伙伴们共同打造了务实的敏捷团队实践: Water-Scrum-Fall
对这部分内容现在只写了一篇博客,2016 年还会继续总结:
终于在正式项目中使用 Ruby。Ruby 水平直线提升, Ruby 已经成为我的首要编程语言之一。曾经渴望使用的 Rails, 今年也有幸参与 Rails 的项目。
基于 RSpec 的 TDD/BDD 在今年有质的提升。以前习惯于从底层向上层慢慢构建代码,TDD 属于 classic 方式,less mock,下半年开始尝试 mockist 方式写测试,尝试从上层向下层写代码。在按照从上向下 TDD 的时候,之前困惑的如何使用 test 定义 scope 的问题迎刃而解。
写过的与 Ruby 相关的博客:
Eclipse 是我工作前 5 年中,以及学生时期主要的开发工具,今年有幸做了 eclipse plugin 开发的项目,回想起来非常激动,也终于实现了当年为 eclipse 写 plugin 的愿望。
eclipse 背后的 OSGi 扩展性非常强大,eclipse 犹如 GUI 时代的 Emacs, 此部分掌握的内容涉及:
写了两篇关于 eclipse 的博客
虽然今年没有参与 iOS 项目,但是整理出了《iOS中RSA加密解密算法的使用》
整理出了 iOS TDD Sample,内容包括:
iOS TDD repository 地址: https://github.com/lvjian700/ios-tdd-samples
编写了2篇博客:
Mobile design 是今年获得的重要技能之一。花了一个月的学习了 https://designcode.io/ Design part。 现在已经基本掌握 iOS UI Design 方面的技巧。
由于 get 了这个技能,让我在思考如何将 idea 转换为 product 有了新的思路。当脑袋迸发出一个新 idea 时,不再是从 tech 角度思考问题,而是从 design 的角度考虑,这样的思路更能贴近真实的用户场景。
新的思路
编写一篇关于 design 的博客
在公司组织的hack中,尝试使用新技能分析 idea 和 design app
icons模仿练习:
Survive in China App:
以前在 DevOps 方面知识几乎为零。今年开始涉及 AWS 和 Docker 容器化技术。 AWS 和 Docker是今年 get 的重要技能之一。
写了 3 篇关于 Docker 入门的文章
Microservices 也是今年获得的重要技能之一。从下半年开始参与基于Microservices 架构的项目,这个项目帮助客户进行老系统改造。按照Microservices对老系统进行拆分,centralize 各种服务,数据。
从下半年开始,基本跟 UI 说拜拜了,每天都在跟 JSON API,部署打交道。
由于项目属于客户核心 API, 项目对代码和设计质量要求非常高。这种高要求带来很大的挑战,也引出了很多知识:
这部分总结大多保存在个人的 evernote 中,由于涉及客户的内容,暂时发布2篇博客:
纵观今年的成长,和去年一样依然涉猎了很多方面的内容。今年成功的步入了Ruby Programmer,也算是达成了这些年的希望达到的成就。
在 Ruby 团队中有幸跟当前 2012 RubyConfChina 讲师 FredWu 共事(Slim 作者之一),这也是今年非常大的惊喜。
技术方面通过 Microservices architecture 让我更多的思考架构和 DevOps 方面的东西。这让我意识到软件开发并不只是 Development, Ops 也是非常重要的环节,自动化 Ops 可以节省开发人员的生命,没有全方位的自动化工具的支持,Microservices 会进行的非常痛苦。DevOps 和 Microservices architecture 会是2016需要持续积累的方面。
自从加入ThoughtWorks 两年以来,终于达成了打造敏捷团队的成就。
团队管理,开发流程,如何同软件开发一样都没有银弹。『拥抱变化』应该永恒的目标,在项目的演进中需要及时改进团队,需要持续关注团队成员提升。
人始终是团队中最有价值的部分,关注人,关注沟通,拥抱变化,轻流程和制度,这样可以让每个人都发挥最大的优势。
虽然今年计划专注于 mobile 方面,但是计划不如变化。不过在 mobile 方面也收获了 TDD 和 Mobile Design的能力。
我们常讲软件开发需要拥抱变化,个人成长也需要拥抱变化。 今年跳出了舒适区,步入了纯英文环境的团队,这对我来说是一个非常大的挑战。现在正在享受这种挑战,当然挑战背后带来的是飞速成长。
再见2015。在新的一年持续拥抱挑战,继续不断的挑战舒适区,继续享受成长的快乐。