About the Role
We are seeking a talented Embedded Software Engineer to join our team and contribute to the development of cutting-edge embedded systems. The ideal candidate will have a strong background in software development for embedded platforms and a passion for creating efficient and reliable software solutions. As an Embedded Software Engineer, you will work closely with hardware engineers and other team members to design, implement, and test embedded software for a variety of applications.
Requirements
Embedded Software Development:
Design and develop embedded software solutions for various microcontroller platforms.
Implement firmware functionality according to project requirements and specifications.
Optimize code for performance, memory usage, and power consumption.
Device Drivers and BSP Development:
Develop device drivers and board support packages (BSPs) to interface with hardware peripherals.
Ensure proper initialization and configuration of hardware components.
RTOS Integration:
Integrate real-time operating systems (RTOS) or other scheduling mechanisms into embedded software designs.
Implement task scheduling, inter-task communication, and synchronization mechanisms.
Communication Protocols:
Implement communication protocols such as UART, SPI, I2C, and Ethernet for data exchange between embedded devices.
Develop and maintain protocol stacks and drivers for wireless communication (e.g., Bluetooth, Wi-Fi).
Testing and Debugging:
Write unit tests and perform software verification and validation activities.
Debug issues related to software functionality, performance, and integration with hardware.
Documentation and Compliance:
Create and maintain software design documentation, including architecture diagrams, interface specifications, and user manuals.
Ensure compliance with coding standards, industry best practices, and regulatory requirements.
Collaboration and Teamwork:
Collaborate with cross-functional teams, including hardware engineers, firmware engineers, and QA/test engineers, to deliver integrated solutions.
Participate in design reviews, code reviews, and other team activities to ensure quality and consistency.
Bachelor’s degree in Computer Engineering, Electrical Engineering, or related field.
Proven experience in embedded software development, preferably in C/C++.
Familiarity with microcontroller architectures and embedded systems concepts.
Experience with real-time operating systems (RTOS) and multi-threaded programming.
Proficiency in debugging tools and techniques for embedded systems.
Knowledge of communication protocols and interfaces commonly used in embedded systems.
Strong problem-solving and analytical skills.
Excellent communication and teamwork abilities.
Preferred Skills:
Master’s degree in Electrical Engineering, Computer Science, or related field.
Experience with ARM Cortex-M microcontrollers and development tools (e.g., Keil, STM32Cube).
Knowledge of software development methodologies such as Agile or Scrum.
Familiarity with version control systems (e.g., Git) and continuous integration tools.
Understanding of hardware design principles and ability to read schematics.
About Qurencia
In the era of digital transformation, the landscape of talent management is undergoing a profound shift. Qurencia emerges as a pioneering force, not just as a service provider but as your dedicated digital growth partner, reshaping the way organizations approach and address talent management need.
Qurencia isn't just transforming talent management; we're shaping the future of your organization. By choosing Qurencia as your digital growth partner, you embark on a journey of innovation, efficiency, and excellence in talent management.
Experience the power of Qurencia in redefining your organization's approach to talent management – where digital transformation meets the human touch.Qurencia has the capability and experience to be your right partner for IT Advisory Services, Staffing Solutions, Managed Services Requirement and Training /Education needs.
