Job Description
We are seeking an experienced Embedded Firmware/Software Engineer to join our dynamic team in a unique dual-role position. This role combines firmware development for complex downhole logging systems with software development for automated testing, calibration, and user interfaces. You will work on cutting-edge electromechanical tools while supporting both our Answer Product and Electrical Engineering Groups.
Key Responsibilities
EE Group:
•Provide firmware sustaining support for downhole logging tools
•Implement firmware feature upgrades and enhancements
•Develop firmware for multiple linked embedded systems
•Develop and maintain Manufacturing Test Python GUI support/upgrades
•Assist with manufacturing test systems and calibrations
•Conduct testing and debugging of firmware to ensure reliability and performance
Answer Product Group:
•Develop and maintain automated test and calibration systems
•Work on Warrior configuration files and new Warrior GUI (field interface)
•Assist with data post-processing and real-time (DLL) code development
•Support PC application specification and manage contract software development (3D view software, etc.)
Additional Responsibilities:
•Collaborate with cross-functional teams including mechanical, electrical, and manufacturing teams
•Work closely with physicists to develop algorithms for sensor data processing
•Participate in code reviews and provide constructive feedback
•Develop and maintain software documentation and specifications
•Provide design review input
•Stay updated on emerging technologies and industry trends
Required Qualifications
Education:
Master's degree in Computer Engineering, Electrical Engineering, or related field
Experience:
Minimum of 3 years of experience in firmware development for embedded systems
Technical Skills:
•Proficient in bare metal firmware development in C/C++
•Experience with embedded systems design and development
•Experienced in interfacing low-level analog/digital hardware (ADC, DAC, PWM, flash)
•Understanding of interrupt handlers, device drivers, bootloader systems
•Experience with board bring-up, testing and debugging embedded firmware
•Knowledge of communication protocols and buses (CAN, SPI, I2C, UART, RS485)
•Application/UI development experience in Python and/or C++
•Strong understanding of hardware-software interaction and debugging tools
•Familiarity with real-time operating systems (RTOS) and development environments
Personal Attributes:
•Excellent problem-solving skills and attention to detail
•Strong communication skills and ability to work in a team-oriented environment
•Ability to thrive in an environment with shifting priorities
•Ability to prioritize work without direct supervision
Preferred Skills
•Experience in automated testing and data analysis with Python
•Experience with lab tools: logic analyzers, debuggers, oscilloscopes, power supplies, function generators
•Ability to read schematics and datasheets; understanding of analog/digital electronics
•Familiarity with TI DSPs and Microchip microcontrollers
•Experience with DSP techniques and applications like digital control loops
•Experience with version control systems like Git
What We Offer
•Competitive compensation and benefits package that includes medical, dental, vision, life, 401(k), disability, and paid time off.
•Opportunities to work on a cutting-edge technology in a collaborative and innovative work environment.
•Diverse role combining firmware and software development
About Us
Visuray is a leading provider of innovative oilfield solutions, focused on delivering reliable, actionable insights to improve well operations.
How to Apply
•Please submit your resume and cover letter via the web form (below). Highlight your experience with firmware development, Python programming, and embedded systems. We are particularly interested in candidates with a combination of low-level firmware experience and higher-level software development skills.