Senior Software Developer Job in Toronto, Ontario Canada
Location: Toronto
The Senior Software Developer will participate as a full member of a development team with shared responsibilities for the design, development and support of software applications related to the company's trace detection products.
RESPONSIBILITIES:
Assumes a prominent role in the architectural design of software systems for use in the company's products. Develops technical specifications for product software to achieve functional requirements. This includes functional design specifications, technical design specifications, source code and version control, unit and integration testing, quality assurance planning and the design of installation procedures. Works co-operatively with other members of project teams to achieve a high standard of performance, reliability and ease-of-use in all products. Contributes to the selection of platforms, languages and tools for use on development projects. Develops software which is aligned with functional requirements, minimizes the interfaces between components and maximize the re-use of components. Contributes to the creation of cost estimates and project management schedules. Receives high level direction from Team Leader and/or Manager. Ensures compliance with specifications and schedules. Regularly reports on progress. Promotes adherence to departmental standards for all phases of design, development, testing and documentation. Informs the Team Leader and/or SW/FW Engineering Manager of any issues or concerns, which could impede the performance of the software development team. Keeps abreast with the latest software development technology. Provides effective leadership, training and mentoring to junior staff members to optimi2e their performance and develop their skills.
REQUIREMENTS:
7+ years' experience in all phases of software development (majority should be in real time control and/or instrumentation applications). Experience working in small (3-7 members) software development teams in a fast paced and challenging work environment. Strong knowledge of MS VC++ and Object Oriented Design is a must. Experience in a number of the following: C, C#, Pascal, JAVA, Delphi, MFC, Relational Databases and SQL, JSP, JavaScript, OOP, ASP, Eclipse, .NET, Assembler, DCOM, CORBA, TCP/IP, Windows NT/2K/XP Operating Systems, Windows CE, Unix, Linux, embedded Operating Systems, Make, Ant, Version Control Software (PVCS, StarTeam, SoureSafe, etc.). Experience with Borland Delphi and/or Kylix, although not mandatory, is a definite advantage. Experience implementing communication protocols for instrument/device control and monitoring. Experience developing applications for wireless hand-held devices is an asset. Experience with proven software development methodology, including: Requirements definitions and documentation. Architecture and design process. Effective code management practices. Automated build and release management. Change control process. Experience with Object Oriented Analysis, Design and UML is an asset. Experience with embedded firmware development is an asset (preferably in instrument/device control applications). Effective communication skills including the ability to listen attentively as well as communicate technical information without the use of jargon. Strong mathematical, problem-solving and decision-making abilities. Assertive, proactive and takes initiative. Experience working in a fast past, multi-tasking environment. Team player; accepts suggestions from staff and users, considers feasibility and communicates regularly to ensure awareness and knowledge.
Education:
Post secondary degree in computer science, mathematics, engineering or physics is a preferred.
For prompt consideration, please send your resume to patrick@huntech.com