一個程序員的 2015年 的學習總結

Reading

本文做者爲:呂健,發表於「軟件匠藝社區」javascript

又是一年的年終,時間依然如同往年同樣匆匆的流逝,爲了讓本身以爲今年並無虛度,本文將回顧如下本身做爲一個程序員在今年的成長。作一個學習總結,給 2015 畫上一個句號。html

讀書

博客

今年博客從 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

__Survive in China App__:

Servive in China

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。在新的一年持續擁抱挑戰,繼續不斷的挑戰溫馨區,繼續享受成長的快樂。

相關文章
相關標籤/搜索