一个程序员的2015年的学习总结

reading.jpg

又是一年的年终,时间依然如同往年一样匆匆的流逝,为了让自己觉得今年并没有虚度,本文将回顾以下自己作为一个程序员在今年的成长。做一个学习总结,给 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 年还会继续总结:

Sessions

  • 卓有成效的程序员
  • Agile in Practice
  • How to encapsulate UI in OOP way
  • Not only OOP in ruby
  • iOS consulting Q&A session

Workshop

  • How to create a iOS app

Ruby

终于在正式项目中使用 Ruby。Ruby 水平直线提升, Ruby 已经成为我的首要编程语言之一。曾经渴望使用的 Rails, 今年也有幸参与 Rails 的项目。

基于 RSpec 的 TDD/BDD 在今年有质的提升。以前习惯于从底层向上层慢慢构建代码,TDD 属于 classic 方式,less mock,下半年开始尝试 mockist 方式写测试,尝试从上层向下层写代码。在按照从上向下 TDD 的时候,之前困惑的如何使用 test 定义 scope 的问题迎刃而解。

写过的与 Ruby 相关的博客:

Eclipse Plugin

Eclipse 是我工作前 5 年中,以及学生时期主要的开发工具,今年有幸做了 eclipse plugin 开发的项目,回想起来非常激动,也终于实现了当年为 eclipse 写 plugin 的愿望。

eclipse 背后的 OSGi 扩展性非常强大,eclipse 犹如 GUI 时代的 Emacs, 此部分掌握的内容涉及:

  • eclipse plugin CI/CD
  • OSGi
  • eclipse SWT/JFace SDK

写了两篇关于 eclipse 的博客

iOS Development

虽然今年没有参与 iOS 项目,但是整理出了《iOS中RSA加密解密算法的使用》

整理出了 iOS TDD Sample,内容包括:

  • ObjC TDD: Objective C, OCHamcrest, OCMockito
  • Swift TDD: Quick
  • UI Test: Appium 和 RSpec 两个方案

iOS TDD repository 地址: https://github.com/lvjian700/ios-tdd-samples

Javascript

  • 一直不想使用 Angular.js, 但是今年有机会在项目中尝试 Angular.js。 以TDD的方式写js, Angular.js 的组织方式的确很赞
  • 使用 gulp.js 搭建 front-end 基本 CI pipeline
  • coffeescript, 刚开始使用感觉很赞,尤其配合 node.js 使用。虽然语法非常简洁,但是个人还是比较喜欢直接用javascript
  • 尝试使用 Zombie.js 进行 Font-End UI test, 这个框架很轻量级,但是不适合大量的Ajax应用
  • 在项目中尝试使用 ES6, template string 和 class 都非常好用,但是项目原因没有继续使用ES6

编写了2篇博客:

UX and Mobile design

Mobile design 是今年获得的重要技能之一。花了一个月的学习了 https://designcode.io/ Design part。 现在已经基本掌握 iOS UI Design 方面的技巧。
由于 get 了这个技能,让我在思考如何将 idea 转换为 product 有了新的思路。当脑袋迸发出一个新 idea 时,不再是从 tech 角度思考问题,而是从 design 的角度考虑,这样的思路更能贴近真实的用户场景。

新的思路

  • 一句话描述 idea
  • 构建用户故事,发现故事中主人公的痛点
  • 使用 design 的手段验证想法
  • 最后是实现(以前始终从实现角度出发, 先想我要用 xxx 技术)

编写一篇关于 design 的博客

在公司组织的hack中,尝试使用新技能分析 idea 和 design app

  • Survive in China
  • Micro services Wall

icons模仿练习:

icons.png

Survive in China App:

china-app.png

DevOps

以前在 DevOps 方面知识几乎为零。今年开始涉及 AWS 和 Docker 容器化技术。 AWS 和 Docker是今年 get 的重要技能之一。

  • AWS: EC2 instance, S3, CloudFormation, Route53, LoadBalance, AutoScalingGroup, AWS RDS
  • Docker: docker, docker-compose
  • 使用 Splunk 查询日志
  • 使用 Bamboo 搭建 CI, 终于抛弃了刀耕火种的 Jenkins

写了 3 篇关于 Docker 入门的文章

Microservices architecture

Microservices 也是今年获得的重要技能之一。从下半年开始参与基于Microservices 架构的项目,这个项目帮助客户进行老系统改造。按照Microservices对老系统进行拆分,centralize 各种服务,数据。

从下半年开始,基本跟 UI 说拜拜了,每天都在跟 JSON API,部署打交道。

由于项目属于客户核心 API, 项目对代码和设计质量要求非常高。这种高要求带来很大的挑战,也引出了很多知识:

  • 更多的考虑 REST-ful API 设计,开始使用 HAL + JSON 这种 self discoverable 的 JSON 数据格式。
  • 接触 CQRS 读写分离的架构方式,采用 CQRS 可以将 API 中的写入和读取分别优化,但是副作用很大,只适合很少的场景。
  • 由于 Microservices 架构推荐拆小的 API services, 这个对 DevOps 是非常大的挑战,今年 AWS 和 DevOps 经验大幅提升.
  • Microservices 间的集成测试也是一个挑战,目前采用Consumer Driven Contracts的方式,使用 Unit Test代替 Integration Test

这部分总结大多保存在个人的 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。在新的一年持续拥抱挑战,继续不断的挑战舒适区,继续享受成长的快乐。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,401评论 25 707
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 23,687评论 8 183
  • 有是一个周末一整天浪费。 突然觉得自己好卑贱,一直不停的想给卓打电话,一直在心里默默的告诉自己,只要他回来我就...
    大番茄瑞瑞阅读 219评论 0 1
  • 0405晨读时刻 1、看到第一个故事,突然想到几日前伸手党的情形。当年孔明先生也是做足准备才敢借东风。没有十足的准...
    yz静等花开阅读 241评论 0 1
  • 昨日做下的事: 去拜访一位高中朋友,聊了很多,也参观了他工作的地方。 去游览国贸,这才像是心目中的北京。 练散打,...
    文建伟CZYH阅读 277评论 0 1