Permanent – Sr. Developer

Reporting to the Manager Application and Development, the Developer is a technologist who is passionate about building and developing solid software using the best tools and practices available.
The Developer will design and develop computer software solutions to support Retail Pharmacy application. 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.

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

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

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:

Must have an experience of 5+ years with software delivery experience.
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 Powerbuilder, 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