Cognizant
Embedded Developer -Onsite
Cognizant, Denver, CO
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-15 years of experience in embedded systems development.
· Location: Denver CO USA ( Onsite )
- 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.