Provides direction for the overall architecture of the company applications, services and supporting technologies including web content management, information access, and health information applications.
Troubleshoots and proposes solutions to software design and program deficiencies/problems in existing or new systems.
Formulates strategies for identifying and designing reusable components at the enterprise level in addition to acting as Team Lead in development efforts for implementation of these reusable components.
Provides strategic input into the evolution of the company's architecture standards and methodologies and definition of appropriate tools and techniques to support these standards and methodologies.
May act as Project Manager by identifying opportunities for having common components developed within existing application development efforts, thus, coordinating efforts of teams across IT&S departments in order to guarantee the development of standardized reusable components.
Strong OO Analysis and Design (OOAD) skills; excellent understanding of distributed and cloud computing concepts, RESTful web services, and usage of common design patterns, etc.
Extensive knowledge and experience with architecture modelling tools such as Rational Rose, Magic Draw, TogetherJ or Enterprise Architect.
Web-based development expertise using J2EE technologies and frameworks (Spring, MyBatis, Hibernate, J2EE design patterns) and familiarity with XML, RDBMS, UNIX/Linux and CVS/SourceSafe/ClearCase.
Experience with Single Sign-On (SSO), authentication, and authorization standards, frameworks, and tools is an asset (e.g. OAuth/OAuth 2, SAML, CAS SSO, etc.)
Experience with design and automation of Continuous Integration, Release, and Deployment process using industry tools (Maven, Ant, Jenkins/Bamboo, etc.) is an asset
Experience with Java IDE tools such as Eclipse. Additional experience with Drupal, BI reporting tools (e.g. Microstrategy), Oracle Reports, is an asset.
Solid understanding of ETL design and development tools like Informatica and Ab Initio.
University degree or equivalent experience/education in Computer Science, Mathematics or related discipline and a Sun Certified Enterprise Architect is desirable.
Minimum five (5) years' experience developing multi-user software/application solutions (full development life cycle), five (5) or more years of which are in a web-based environment using industry-standard tools; minimum five (5) years' experience in a team lead role.