Job Description
Our client is seeking a skilled and driven Senior Embedded Software Engineer to design and develop the controller’s Embedded Software / Firmware. The role involves research, design, development, testing, requirement analysis, and the creation of new functions or the redesign/consolidation of existing processes.
Responsibilities
- Fully integrated in fast-paced software agile development teams, participate in sprint planning, demos, and daily scrum activities.
- Monitoring the software issue tracking system for newly created/assigned issue, identifying the root-cause, finding a resolution, and providing feedback.
- Collaborating with stakeholders to ascertain user requirements for specific scenarios.
- Creates, implements, optimizes, debugs, refactors, and reuses code to enhance performance, maintainability, and effectiveness.
- Actively seeks new knowledge and adapts to emerging trends, technical solutions, and patterns to enhance end-user experience.
- Conducts in-depth analysis of user issues to develop and implement efficient solutions.
- A detail-oriented individual capable of following written procedures with minimal supervision.
- Possesses strong verbal communication and technical writing skills.
- Cultivates a robust working relationship with the Lufkin Automation Engineering teams.
- Adheres to standard procedures for proper escalation of unresolved issues to the appropriate internal teams.
- Promotes professional development, accountability, and succession planning within the team.
- Encourages a culture of continuous improvement by identifying inefficiencies, analyzing data, and implementing effective solutions.
- Ensures and advocates for a safe working environment in accordance with HSE leadership standards.
- Research latest technologies in the industry.
- Interfacing with the multi-disciplinary Engineering team such as SW, Firmware, Hardware, Test, Consultants/Contractors(external) design and development team for seamless integration, execution of the project as well as managing project priorities and deliverables.
- Takes on special projects as needed.
Minimum Requirements
- Bachelor's degree in computer science and/or engineering.
- 10+ Years of hands-on experience with coding in languages including, but not limited to, C, C++, C#.NET (Visual Studio).
- Strong development skills and understanding of software and hardware engineering principles.
- Embedded Software Development:
- Design and develop embedded software applications
- Design and develop user interface for embedded products.
- Design and develop real-time applications for embedded products.
- Assist in the documentation and release processes.
- Develop high level drivers for externally connected devices.
- Embedded Hardware Support:
- Review existing and new hardware designs.
- Debug hardware issues.
- Assist with the replacement of obsolete components.
- Assist with field and lab wiring setup.
- Required Experience:
- Years of hands-on experience with coding in languages including, but not limited to, C, C++
- Version control (SVN and/or Git)
- Development in a Linux environment
- Realtime Operating System kernel (RTOS)
- Microcontrollers/MCU/Microprocessor technology
- Software optimizations skills at the System on a Chip (SoC) level.
- Device drivers, interface buses and General-Purpose IO
- UI /GUI design and mobile development
- IoT communications protocols and frameworks such as OPC UA, MQTT/Sparkplug, AMQP, etc.
- Wireless connectivity, including Wi-Fi, Bluetooth low energy, etc.
- Industrial communications protocols such as MODBUS
- Networking Principles, Security and Technologies
- Database and data layer structure and handling
- Information retrieval and data mining
- Containerization technologies such as docker containers
- Working with consumer electronics and Edge Devices
- Application debugging
- Experience with HW debugging tools (multimeter, oscilloscope, etc.)
- Knowledge of circuit principles, read wiring and PCB schematics
Preferred knowledge
- Experience with Altium Designer
- Knowledge of industrial field wiring practices
- Knowledge of artificial lift applications
- Fieldbus communications (MODBUS, OPC UA and/or MQTT)
- Experience with JavaScript, Python, Web development (HTML, CSS)
- MATLAB programming language and MATLAB modeling
- Web Application framework development (Angular, React or similar frameworks)
- Web development (HTML, CSS)
- Knowledge of Oil and Gas Artificial Lift Automation and Control (plus).
- Master on Engineering Discipline (plus).
- AI / Machine Learning (plus).
Qualifications
- Bachelors or better in Computer Science or related field.
- 10 years Hands-on experience with coding in languages including, but not limited to, C, C++, C#.NET (Visual Studio).