Closing Date: 15th August 2017
Company Logo

Halliburton


Software Development Engineer, Senior to Principal

Responsibilities:

  • Generate road map of detailed activities from a high level specification. The candidate must be able to work independently and in a team environment, evaluate and execute tasks in a timely manner to predict and meet project deadlines. Develop, test and debug firmware and/or VHDL code for Microprocessor/Micro-controller/DSP/FPGA system
  • Evaluate, select and apply standard engineering techniques, procedures and criteria, using judgment in making adaptations and modifications
  • Perform analysis to define system scope and objectives needed to develop or modify existing engineering applications
  • Develop specifications, conduct process studies, research investigations, and report preparation.
  • Periodic reporting of planned and completed development activities, providing estimated completion dates, and prompt reporting of issues. This includes communication with different groups including project management, immediate supervisor, mechanical and physics groups and other team members, etc. The candidate may also be required to train or mentor junior staff
  • Provides technical guidance and leadership to other personnel involved in developing new approaches to problems encountered
  • Complies with Halliburton HSE and Service Quality requirements
  • Some travel may be required

Requirements:

  • Degree in Electrical/Electronics/Computer Science or similar discipline and 4 years of related experience or through 8 years of embedded software development experience
  • Experience in embedded C programming on microcontrollers, and microcontrollers including coding of interfaces to external memory, and digital interfaces to other peripherals (SPI/I2C/SCI/CAN/UART) 
  • Experience programming using a Real Time Operating Systems, and knowledge of fundamentals of design for real time operation 
  • Excellent understanding of fundamental programing concepts such as abstraction, data structures, etc 
  • Excellent understanding of how to work around processing, memory, I/O, timing, and other limitations associated with microcontrollers 
  • Experience setting up and developing against different toolchain(s) including but not limited to GCC & CCS
  • Experience using common debugging tools to troubleshoot embedded code and implement corrections