I am passionate and serious about my craft of software development.

To me, a good software system should be able to respond quickly to rapidly changing requirements without any sacrifice of quality and robustness. Design and automation are keys to achieve this goal: thoughtful upfront system design makes software easier to extend and maintain whereas automation is essential to eliminate defects that are inherent in any complex system.

But my quest has not finished yet: Functional Programming paradigm has taught me why current state-of-the-art of software development produces fragile systems. Continuous study in functional languages such as erlang and ocaml brings me both joy of learning and practical insight into building better software.