BSMS degree in Computer Science, Engineering, Mathematics, Statistics, Analytics, MIS or equivalent programming experience Understanding of modern Software Design Patterns, Principles and Best Practices A comprehensive understanding of the software development lifecycle, application design, user interface design, functional design, technical characteristics of relational databases and client server systems