Responsible for performing software design and development tasks on components embedded in hardware devices as well as windows desktop applications. Plans, designs, develops and tests software systems or applications for GPS based guidance products. Responsible for the effective and professional development of new software in accordance with marketing and end-user requirements. Performs trouble-shooting, problem solving, testing and maintenance of legacy software applications.
Work in a team or individually to design, develop and test software components written in C, C++, C# on a variety of proprietary hardware platforms running a scheduler, real-time operating system, and/or Windows
Design, develop, test and document quality software to user and functional requirements within specified timeframes and in accordance with Hemisphere GPS coding standards.
Design and implement complex embedded and desktop software on a variety of hardware platforms
Define test criteria, diagnose/debug/correct problems with hardware/software.
Program in C, C++, C#, and/or assembly for both desktop and embedded targets.
Generate rapid prototypes for feasibility testing.
Work with engineering testing and production teams for software validation/verification.
Generate all documentation relevant to software operation.
Perform tasks as specified by the Software Development Team Lead(s).
Adhere to the Hemisphere GPS Quality Management System (QMS) ISO9001:2008.
Field testing of Software and Hardware to resolve any integration issues.
Communicate effectively with customers on technical or sensitive issues.
Ability to travel to the USA
Other related duties as assigned by management and/or executive team.
Education and Experience:
Electrical Engineering, Preferred, Computer Science or Geomatics engineering considered.
Proficiency with Microsoft tool-chains.
GPS, particularly for applications on ground vehicles preferred.
Knowledge of Object Oriented analysis and design.
Windows application development with experience using Microsoft Visual Studio.
Previous development on embedded systems with software and test in hardware platforms.
Programming proficiency in C/C++/C#.
Experience with source control and configuration management systems.
Experience with CAN networks and protocols for device communications would be beneficial.
Experience interfacing devices via various protocols such as RS232, TCP/IP, SPI, I2C, USB, and CAN.
Knowledge of real-time concepts.
Demonstrated Competence in the following:
Knowledge of real-time concepts.
Very good written and spoken English language skills.
Ability to grasp and learn new concepts quickly and efficiently.
Capacity to approach challenges with a positive attitude and open mind.
Demonstrated ability to understand and develop on embedded systems platforms.
Demonstrated ability to understand and develop for windows desktop applications.
Excellent planning, time management, communication, decision-making and organizational skills.
Excellent analytical and interpretation skills.
Demonstrated innovativeness, resourcefulness and initiative to find a solution in a timely manner.
Willingness to work hands on and occasionally in outdoor environments.
Ability to work under pressure and to tight time frames. AgJunction - 12 months ago