Key Responsibilities: Embedded System Design: Design, develop, and test embedded software and firmware for microcontrollers, microprocessors, and SoCs (System on Chip). Analyze and enhance the efficiency, stability, and scalability of system resources Hardware-Software Integration: Work closely with the hardware team to ensure seamless integration between software and hardware, optimizing performance, and troubleshooting issues. Firmware Development: Develop efficient, reliable, and maintainable firmware for embedded systems, including coding, debugging, and testing. System Optimization: Identify and implement optimizations to improve system performance, power efficiency, and stability. Testing and Validation: Conduct extensive testing, debugging, and validation of embedded systems to ensure reliability and compliance with quality standards. Documentation: Create comprehensive technical documentation, including system requirements, design specifications, and user guides. Collaboration and Support: Provide technical support to other departments and assist in troubleshooting complex embedded system issues. Provide post-production support by managing defects and implementing necessary updates and patches Qualifications: Education: Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field. Experience: Minimum of 10 years of experience in embedded systems development. Technical Skills: Proficiency in programming languages like C, C++, and Assembly; experience with Python or other scripting languages is a plus. Experience with microcontrollers (e.g., ARM Cortex, AVR, PIC) and real-time operating systems (RTOS). Familiarity with embedded development tools (e.g., JTAG debuggers, oscilloscopes, logic analyzers). Experience in hands-on development and troubleshooting on embedded targets. Experience in hardware-software co-design and debugging using tools like oscilloscopes, multimeters, and logic analyzers. Understanding of protocols such as I2C, SPI, UART, CAN, and USB. Preferred Knowledge: Knowledge of communication protocols (e.g., Wi-Fi, Bluetooth, Ethernet). Familiarity with software configuration management tools, defect tracking tools, and peer review. Familiarity with Agile development practices and source control (e.g., Git). Additional Attributes: Strong analytical and problem-solving skills. Ability to work effectively both independently and as part of a team. Excellent written and verbal communication skills. Salary and Other Compensation: The annual salary for this position is between $109.400 - 180.000 depending on experience and other qualifications of the successful candidate. This position is also eligible for Cognizant's discretionary annual incentive program, based on performance and subject to the terms of Cognizant's applicable plans. Benefits: Cognizant offers the following benefits for this position, subject to applicable eligibility requirements: Medical/Dental/Vision/Life Insurance Paid holidays plus Paid Time Off 401(k) plan and contributions Long-term/Short-term Disability Paid Parental Leave Employee Stock Purchase Plan Disclaimer: The salary, other compensation, and benefits information is accurate as of the date of this posting. Cognizant reserves the right to modify this information at any time, subject to applicable law.