Software Engineer

Summary As a Software Engineer you will be responsible for implementing, developing, testing, supporting and installing our Linux based AGV Software suite (both on a SCADA level and on an embedded/vehicle level). Working in a multi-disciplinary team you will be responsible for making sure that the software systems meet the customer/client specifications and work within their site constraints. You should have both logistical and technical insight to create solutions that provide optimal automation performance. Given that we have a global customer/client base, you must be willing to travel and stay abroad for several weeks at a time, as you will be responsible for the successful installation at the customer/client site. Essential Duties and Responsibilities

  • Responsible for implementing, developing, testing and installing the supervisory control software
  • Responsible for implementing, developing and testing the vehicle control software for AGVs
  • Interfacing the vehicle software to vehicle control hardware such as motor controllers, proximity detectors and wheel encoders
  • Commissioning and handover of AGVs to the customer/client at their site
  • Troubleshooting and fixing software issues
  • Testing the application software and interfaces to the vehicle
  • Writing requirements, detailed design documentation and test cases
  • Providing support for field issues
  • Analyzing and modifying traffic and logic rules to optimize material flow and optimizing vehicle performance
  • Continuously improving our processes and procedures to optimize development efficiency

CompetenciesTo perform the job successfully, an individual should demonstrate the following competencies:

  • Problem Solving - Identifies and resolves problems in a timely manner; Gathers and analyses information skillfully; Develops alternative solutions.
  • Technical Skills - Assesses own strengths and weaknesses; Strives to continuously build knowledge and skills; Shares expertise with others.
  • Customer Service - Manages difficult or emotional customer situations; Responds promptly to customer needs; Solicits customer feedback to improve service; Responds to requests for service and assistance; Meets commitments.
  • Analytical - Synthesizes complex or diverse information; Collects and researches data; Uses intuition and experience to complement data; Designs work flows and procedures.
  • Planning/Organizing - Prioritizes and plans work activities; Uses time efficiently; Plans for additional resources; Develops realistic action plans.
  • Professionalism - Approaches others in a tactful manner; Reacts well under pressure; Treats others with respect and consideration regardless of their status or position; Accepts responsibility for own actions; Follows through on commitments.
  • Quality - Demonstrates accuracy and thoroughness; Looks for ways to improve and promote quality; Applies feedback to improve performance; Monitors own work to ensure quality.
  • Quantity - Meets productivity standards; Completes work in timely manner; Strives to increase productivity; Works quickly.
  • Dependability - Follows instructions, responds to management direction; Takes responsibility for own actions; Keeps commitments; Commits to long hours of work when necessary to reach goals. Completes tasks on time or notifies appropriate person with an alternate plan.
  • Innovation - Displays original thinking and creativity; Meets challenges with resourcefulness; Generates suggestions for improving work; Develops innovative approaches and ideas; Presents ideas and information in a manner that gets others' attention.

Education and/or Experience Technical Bachelor degree, preferably in Computer Science, Automation Technology or Information Technology or equivalent experience; Minimum of 3 years experience in writing software for technical applications Ability to program in C++ with knowledge of object oriented analysis/design/programming and design patterns. Understanding of networking hardware and software including UDP and TCP Working knowledge of electronic and electromechanical devices, such as analog inputs and outputs, quadrature encodes, relays, solenoids, proximity sensors etc. Ability to read and understand wiring diagrams is advantageous. Language Skills Excellent written and oral communications in English are essential, and in Dutch and/or German would be advantageous. Reasoning Ability Ability to solve practical problems and deal with a variety of concrete variables in situations where only limited standardization exists. Ability to interpret a variety of instructions furnished in written, oral, diagram, or schedule form. Ability to act independently generating innovative solutions to complex solutions is desired. Computer SkillsTo perform this job successfully, an individual should have complete knowledge of Microsoft Word, Excel, PeopleSoft, and be proficient in Linux, and knowledgeable of the Windows Operating systems. Ability to read, understand, debug and modify existing product code is essential It would also be advantageous to have knowledge of the following:

  • Programming in Linux
  • Controlling autonomous robots
  • XML and web services
  • Issue tracking systems particularly Jira
  • Versions control systems, particularly Subversion
  • Writing multithread software
  • Programming serial, CAN and network communications (UDP and TCP)
  • Writing control systems
  • Writing requirements, design documentation and test cases
  • Integrating with enterprise systems such as databases, ERP systems and factory automation systems
  • Programming in Java, C and/or Python
  • Generating user interfaces in Java
  • Programmable logic controllers (PLC’s)

Essential Job Functions The role requires a customer/client focused attitude, an ability to interact with customers/clients and to remain calm and professional in a demanding and dynamic work environment. The role requires willingness to travel abroad internationally for several weeks at a time during system installation. The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. Interested? Click here to send your CV to Maria