A year in KMKLabs, what I’ve learned

A year in KMKLabs, what I’ve learned

I learned a lot when I joined KMKLabs team. It’s took time to get used to, but now you seems cannot live without. The things I learned :

  1. TDD aka Test Driven Development, although TDD is not “new and shiny” things for me ( I’ve done it back in 2009 ). It is enforced in KMK Labs. We don’t have any documentation about what code A doing, but if you want to know what it’s do, try to look into it’s test. It should give you a pretty clear idea what a code do. If you found any bugs, try to reproduce it in test and fix it guided by test.
  2. Pair Programming. Same here, the term of Pair Programming is really not a new things for me. I’ve heard it when I read about XP Programming. But never realized the full benefit of it. Pair programming enabled us as Programmer to exchange the knowledge, doing the code review, learn from each other, discuss about problem, and avoid Code Block problem. In the end, it will make you a better programmer
  3. Continuous Integration. Yeah, I’ve heard this. I’ve heard about Jenkins before, maybe use it in some way. But in KMK, CI is the heart of the project. You won’t get deployed if the CI get Red. Well, all the Test ( UnitTest, IntegrationTest, and AcceptanceTest ) is done by CI.
  4. Continuous Deployment, this is new things. I always thought that to give better experience we should deploy when all the feature is ready. Sometimes it can take weeks. But here, we used the Continuous Deployment, we deployed a small subset of feature everyday.
  5. I always thought to update a new version of website, we need to stay awake for the night, waiting nobody access it, deploy a new one, restart the service and hope for the best. No, not here.
  6. SOLID Architecture in iOS, this is the most fun and life changing things I learned. You can learn about SOLID here
  7. The use of protocol. I admitted, I don’t what the protocol used for before I joined the KMK, and saw the practical usage of protocol. It make your life easier by interfacing. More on this later

And many things, and yes, we’re hiring!

Related Posts

Part II — Understanding about RuleChain

Mengenal dasar RxSwift

Making Backward Compatible Adaptive Colors for Dark Mode in iOS

Automate Your Android App Bundle Publishing using Jenkins

No Comment

Leave a Reply