Distributed system architecture:

  • How to design scalable system using different architecture


Parallel Computing:

  • How to implement and utilize distributed file system


Database optimization

  • How to optimize DB access throughput

  • Clock synchronization in a distributed system

  • Consistent read/write support

  • How to add transaction support in your application that uses non-transactional database.

  • Design data model used in NoSQL datastore


Use Distributed System for applications, such as:

  • Graph analysis

  • Large Scale Machine Learning

  • SOA(For enterprise level software systems)


Language Skills:

  • C/C++: Mostly used during undergraduate study and internship

  • Java: Used heavily when working at Amazon

  • Javascript: Used it extensively to build internal UI tools at Amazon

  • Ruby, Python, Bash



  • AWS:  DynamoDB, S3, SNS, SQS, SWF, ElasticBeanStalk



  • Spark, SpringMVC, Spring, Tomcat, Rails


MOOCs I have taken:




Research and Study Interests