Permanent – Interface Specialist

JOB SUMMARY

Reporting to the Manager Application and Development, the Interface Specialist is a technologist who is passionate about building and developing solid software interface using the best tools and practices available.

The Interface specialist will design and develop interfaces solutions to support Retail Pharmacy application with external partners. Apply the principles and techniques of Object Oriented Programming, Software Configuration Management, and Agile Methodologies to the design, development, testing, and evaluation of scalable and maintainable distributed software solutions. Design software solutions to solve business problems.

SPECIFIC RESPONSIBILITIES

Develop and implement software services for use in a Service Oriented Architecture
Evaluate and perform design tradeoffs regarding the architecture and software Components
Develop distributed grid applications in a network centric architecture
Full lifecycle application development
Designing, coding and debugging applications in various software languages.
Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis
Objectoriented Design and Analysis (OOA and OOD)
Software modeling and simulation
Front end graphical user interface design
Software testing and quality assurance
Performance tuning, improvement, balancing, usability, automation.
Support, maintain and document software functionality
Integrate software with existing systems
Evaluate and identify new technologies for implementation
Responsible for using source management techniques like tagging and branching
Maintain standards compliance
Participate in Release and Iteration Planning meetings with engineers and users
Employ organizational design patterns to develop application logic
Pair with other engineers to solve complex problems
Implement localization or globalization of software
Provide technical expertise and guidance for interfaces architecture, design, and implementation decisions
Provide expertise and participation in the development of and implementation of coding, development and architectural standards, and best practices and industry standards
Design and Document the technical interface specifications
Guidance and participation in the full development cycle of all enterprise integration, including the creation of formal functional requirements, technical design specs, development of quality test plans, interface threading programming, interface implementation and maintenance
Participate in monitoring accuracy of interfaces and data integrity of databases
Troubleshoot malfunctions of the interface engine, software components and interface threads, computer hardware and software to identify and alleviate users' problems
Participate in development of strategy and in the execution of migration from homegrown interface processes to Integration tools (e.g. Tibco, Cloverleaf)

GENERAL RESPONSIBILITIES

Train, coach and provides guidance to others in area of specialization.
Seeks and provides candid and timely feedback to improve performance; shares information in an open manner; fosters teamwork and innovation by involving others in problem solving and creative thinking.
Solicits feedback from users to identify opportunities to improve products and/or services.
Demonstrate the necessary level of autonomy and decisionmaking to deliver on accountabilities of job/role.
Develop relationships with others including external partners.
Communicate promptly any outages, changes or any occurrences that may impact the business.
Respect and adhere to company policies and procedures.
Sustain job performance standards and objectives set through the progress and appraisal guidelines.

JOB QUALIFICATIONS

Bachelors degree in Computer Science/Computer engineering or equivalent degree required
Good Logical and objective analytical skills and ability to use sound judgement when evaluating potential solutions. Respects fixed deadlines and adjusts to priority changes.
Ability to communicate clearly and accurately in both French and English.
Good technical writing skills
Possess a positive attitude
Ability to "think outside the box"
Ability to develop simple to medium plans in a context of technological advancement
Ability to work in cross functional teams, such as a developer working with a Product Manager or a QA Team
Current usage of common computer tools as well as collaborative tools
Software Engineers should have excellent communication skills and should enjoy working as part of a team
Appreciate efficient repeatable processes
Have an interest in the behind the scenes world of health care

TECHNICAL QUALIFICATIONS

Bachelors degree in Computer Science or related discipline is required
5 +years for a senior Developer with a professional software delivery experience
Good Experience working with multiple data standards including HL7, v2 and v3, EDI/X12, NCPDP with an emphasis on HL7
Experience working with XML Data and XSD definitions
Skilled in interface analysis, interoperability setup testing of interfaces
Understanding of EHR and medical office/health system workflows
Experience with distributed environments in a Microsoft Windows Server, Web and applications servers and SQL Server topology
Strong understanding of programming fundamentals
Working with numerous distributed and client server products
Building solid software while using the best tools and practices available. Specifically in TSQL, Powerbuilder, ASP.NET, C#, Web Services,OO Modeling, AJAX
Diverse experience in developing in Java,.NET,Ruby,C++,VB or any other Language
Ability to dive in to the deep technical inner workings of the technology
Proven experience of unit testing your own code
Knowledge of parallel processing, distributed and grid computing, ServiceOriented Architectures (SOA) and Web Services
Knowledge of Linux/Windows platforms
Knowledge of development environments such as Visual Studio or Eclipse
As new technologies emerge and impact our systems, expected to learn these technologies very quickly and resolve any problems involved in integrating new technologies with our systems
Employ software configuration management tools (e.g., SubVersion and various software SCM suites)
Follow industry standard software design methodologies for development and documentation (e.g., Agile Methodologies, SCRUM)
Develop and deploy solutions based on XML technologies such as XPath, XSL, XSLT, SOAP and XMLRPC