Bachelor s and/or Master s degree in Computer Science, Computer Engineering or related discipline.
4+ years of professional software development experience.
Proficiency in Java or C++, and object-oriented design skills.
Application architecture and design patterns.
Experience serving as technical lead throughout the full software development lifecycle, from conception, architecture definition, detailed design, scoping, planning, implementation, testing to documentation, delivery and maintenance is preferred.
Knowledge of professional software engineering and best practices for the full software development life cycle.