Bachelor's degree in a related field or equivalent experience.
6+ years' related work experience, including progressive work experience in a programming or application development role
Experience and understanding with unit testing, release procedures, coding design and documentation protocol as well as change management procedures
Proficiency using versioning tools
Thorough knowledge of Information Technology fields and computer systems
Demonstrated organizational, analytical and interpersonal skills
Flexible team player
Ability to manage tasks independently and take ownership of responsibilities
Ability to learn from mistakes and apply constructive feedback to improve performance
Must demonstrate initiative and effective independent decision-making skills
Ability to communicate technical information clearly and articulately
Ability to adapt to a rapidly changing environment In-depth understanding of the systems development life cycle
Proficiency programming in more than one object oriented programming language
Proficiency using standard desktop applications such as MS Suite and flowcharting tools such as Visio
Proficiency using debugging tools
High critical thinking skills to evaluate alternatives and present solutions that are consistent with business objectives and strategy
Experience mentoring / or leading other development staff
Proven leadership abilities including effective knowledge sharing, conflict resolution, facilitation of open discussions, fairness and displaying appropriate levels of assertiveness