What are the responsibilities and job description for the Embedded Software Engineer position at OmniForce Solutions?
Our client is a leading provider of artificial lift systems and automation solutions that help optimize oilfield production performance! They are seeking a skilled and driven Embedded Software Engineer to join the Embedded Software/Firmware team in the development of their controllers. The role involves development, testing, requirement analysis, and the creation of new functions or the redesign/consolidation of existing processes. Their team is committed to growth, learning, and exploration!
Minimum Requirements:
- Bachelor's degree in Computer Science and/or Engineering.
- 3 β 5 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 engineering principles.
- Experience using version control (SVN and/or Git)
- Application debugging
- Development in a Linux environment
Preferred knowledge:
- Realtime Operating System kernel (RTOS)
- 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.
- Database and data layer structure and handling
- Information retrieval and data mining
- Experience with HW debugging tools (multimeter, oscilloscope, etc.)
- Knowledge of circuit principles, read wiring and PCB schematics
- Containerization technologies such as docker containers
- Networking Principles, Security and Technologies
- Experience with JavaScript, Phyton, Web development (HTML, CSS)
- Web Application framework development (Angular, React or similar frameworks)
- Web development (HTML, CSS)
Responsibilities:
- 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.
- 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.
- Creates, implements, optimizes, debugs, refactors, and reuses code to enhance performance, maintainability, and effectiveness.
- Conducts in-depth analysis of user issues to develop and implement efficient solutions.
- Takes on special projects as needed.
- 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.
Essential Characteristics:
- Possesses strong verbal communication and technical writing skills.
- 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.
- Candidates must possess robust problem-solving abilities and the capacity to analyze intricate data.
- The desire to grow, learn, and explore in a fast-paced environment.
- A detail-oriented individual capable of following written procedures with minimal supervision.